Reputation: 3652
I'm looking to develop a scalable IM bot (aka Automated Service Agent). It's been done before and I'm wondering what methods are used to maintain reliability. I see two immediate problems with scaling:
1) On AIM, you can be kicked off if too many users warn you. My bot does not spam or do anything malicious but the vulnerability is still there.
2) If there are network problems, and the bot signs on/off too many times in a row, AOL will lock it out for an unknown period of time.
Upvotes: 4
Views: 324
Reputation: 12883
Just some thoughts.
Regarding #1, you're dealing with human interaction. If your bot doesn't annoy or piss people off, then I doubt that most people will care. The #1 rule with chat bots (IMHO) is to test it with a number of people from different backgrounds. Record their responses, and how they feel about interacting with the bot. You can also collect good data to improve your bots comprehension skills this way.
Regarding #2, you need to code an effective rate limiter. If there's a small number of flake outs in a short period of time its probably ok to reconnect right away, but if they become more frequent, then you'll need to back off more. This is actually good for the service in general, because if they're experiencing server side problems, and there's a horde of bots pouncing on them when they try to bring things up that's a pain.
Upvotes: 1
Reputation: 3738
Here are some preventative measures for detection:
A bot can use several user accounts, so that its activity is less likely to be detected.
A bot can use proxy servers to hide detection even further by obscuring its real IP address.
A bot can be programmed with the network's rules in mind, and is simply prevented from breaking those rules in its logic.
Also, in response to your first problem, fewer people than you might expect will actually report a problem.
Additionally, and this is purely speculative, depending on the network's rules, it could be possible to simulate enough legitimate activity between two or more bots (and several user accounts), so as to offset the actual reports that are made.
In response to problem number two, with multiple accounts, the bot will just move to the next account when a failure occurs.
Upvotes: 5