From: Paul L. A. <pl...@so...> - 2004-08-04 19:20:58
|
Jonathan Hitchcock writes: > I'm sorry for treading on perl's toes, I shall not mention it again. I > merely thought that infobot developers would be more keen on discussing > the best method for making a bot than sticking to the norms and > conventions laid down by infobot ages ago The reasons it was chosen long ago are still valid today. Available on just about all platforms, including one not widely known outside the UK. Regexes well-integrated. Portability. Well-suited to the task. A large pool of people who are familiar with it (more than know Python or Ruby or Java, or...) None of that is sufficient reason to prevent a re-implementation in Python, but you may find yourself with fewer people willing or able to help out. > Setting your withering sarcasm aside, I would have thought that the > benefits of the ability to sit on an IRC channel *and* be accessible via > MSN Messenger, Jabber, AIM, or SMS (via a GSM modem) is patently > obvious. They were so obvious I used them to explain to you why RP or SOAP was a totally unnecessary complication. > An architecture that is not reliant on just one source is a good > architecture. Abstraction from the nitty-gritty of protocol is a good > thing. That's all I was saying. Abstraction is sometimes a bad thing. Especially in a bot that is designed to learn from public and private messages and to take commands from public and private messages from those who have privileges. To come up with some cumbersome encoding for inter-bot communications would be pointless and silly. The bot learns if I say on channel "X is Y". It learns if I send it a message that "X is Y". I see no reason to not use that for inter-bot communication and instead adopt some bizarre encoding like "Subject: X; verb: is; object: Y". What's the point? Only to extend the range of messages one bot can send another, but I don't want one bot being able to make another bot do things that I cannot do directly, not even if both are under my control. So any extension would have to be usable by me directly on an IRC channel, and therefore the bot would have to be able to parse plain old English, just as it does now. The only thing it would achieve is the bot having to have two sets of parsers each of which had to be updated any time a new command was added. A lot of work for no gain. >> OK, you've convinced me. Let's rip out the IRC support and Yahoo >> support and create our own message service based on PB. > > That is not what I said at all. I was making the point that if the bots can communicate with people they can communicate with each other without needing PB. If PB is so wonderful and so much better than bots using IRC or Yahoo to talk to each other then we should scrap IRC and Yahoo. > I'm suggesting extending the original design and embracing new methods. I have no problem with extending the design with useful and necessary features. I have no problem if a new method offers significant advantages. I don't see any point in adding unnecessary bloat just for the hell of it. > I'm also clearly pissing people off by suggesting that infobot is not > perfect. It's far from perfect. Like any software that has evolved from simple beginnings it would benefit from a redesign. That's no excuse to throw in a kitchen sink just because you have a spare one sitting around doing nothing. >> Then we persuade all the IRC users to switch just so they can talk to >> our wonderful bots. > > Please. There was absolutely no call to get so sarcastic and snide. I > never suggested any of these. You missed the point. If PB or SOAP are so damned wonderful and offer some form of inter-bot communication you absolutely CANNOT do over IRC or Yahoo then clearly we should migrate to one of them for chatting with each other instead of using IRC and Yahoo. Yes, it would provide intercommunication in a neutral format rather than both bots having to pick a shared messaging method, but if I can't get the guy running the other bot to agree to using either Yahoo or AIM or whatever, will I agree with how he runs his bot in general? >> The only reason for needing another protocol so that bots can communicate >> is if they're on different servers. > > That's the only bloody reason I suggested it in the first place. > Different bots on different servers can still communicate SHOULD THEY > WANT TO. 1) Many people don't want their bots doing this. 2) If they want to, they can have the bots communicate using Yahoo or whatever other additional messaging protocols there are modules for. Some people will want the Yahoo module so their bots can talk to PEOPLE on Yahoo. Nobody wants a PB module so their robot can talk to PEOPLE. Its only use would be for bots to talk to other bots. So that means coding an extra module, more bloat, more holes in the firewall, for something that could be done with one of the modules some people WILL want. Even a mail module would make some sort of sense because PEOPLE could use that too. 3) Allowing connections to multiple IRC servers would be far more useful considering this is, right now, primarily an IRC bot. I'd like to be able to have a bot hang out on a couple of servers without having to run two instances of it with separate configuration files. With that ability then bots on different IRC networks can communicate without needing Yahoo because one or more of them can be on more than one network. It may even be that this is the main reason people have for wanting bots to communicate in some way other than IRC because right now they have to run two instances of the bot to have it on different servers. So there are two alternatives (multiple IRC network or using something like Yahoo) for inter-bot communication that are desirable in their own right because they would be used by people who have no desire to have their bot talk with other bots. You cannot say the same thing about a PB/SOAP solution because it has no other utility. > Look, forget it. Go ahead. I'll sit in the background until you start > developing. I submitted a few patches a while ago. Things went dead so I stopped, waiting on Kevin finishing his rewrite. Since Kevin has shown signs of life recently, perhaps he'll finish the rewrite and I'll submit more patches and extensions. -- Paul Allen Softflare Support |