I can’t find it anymore in AIM’s help system, but for a while AOL had official support for chatbots.
What you’d do is register a screen name for your bot as normal, and then there was a setting you could toggle in that account’s settings on the AIM website, where you say “This screen name is for a bot, not a human” and in that way, you’d register the bot with AOL.
A bot screen name had some special privileges and limitations compared to a regular account, such as:
* They have no rate limit for sending messages, so they can chat with tons of people simultaneously without needing to throttle itself.
* But, bot screen names could not INITIATE new conversations (i.e. “send a message to my friend and say hi” would be impossible if the friend wasn’t already in a conversation with the bot).
I can’t find any information on this on their site though, so I’m not sure if they’ve discontinued this feature.
Back when I ran AIM bots, I’d just have them use normal screen names, and manage the rate limit automatically (I’d program in a 3 second cool-down time after sending an IM to a user, so if nobody was chatting with the bot, it would reply instantaneously, but if a lot of people were chatting it would take longer… and it’d send an “is typing a message…” notification during the waiting periods).
Some other AIM botmasters I knew would implement a mirroring system. They’d sign on multiple screen names at once, and if a user IM’d a bot to start a new conversation, and that screen name was under heavy load (rate limit wise), the bot would IM the user from a different screen name to chat with them there.
Anyway, I haven’t heard of chat service providers having any problems with bots as long as they’re not abusing the system (i.e. spamming) or trying to make a profit from it (i.e. in-message advertising, like what SmarterChild used to do; but SmarterChild had a special relationship with AOL).
And a fun side fact about SmarterChild and related bots: their screen names were technically Admin names, they had NO rate limit, and they were IMMUNE to being blocked or warned (you could try to block them, but they’d never “go offline” when you do). This caused me a bit of stress once when one of my bot’s users told my bot to IM SmarterChild, and I was unable to get my bot to stop because blocking SmarterChild wouldn’t work. I then programmed in a “soft block” system, where the bot would just ignore people without needing to block them at the protocol level.