This is somewhat related to Are bots specifically allowed or prohibited in Stack Exchange chatrooms?.
I've written one that uses Python and interfaces directly with the chat system using WebSockets (and the SE system using the API) using its own account - the initial purpose was to develop a relay system to push to an IRC channel). This has extended to being a fun "chat bot" (which is now disabled) and to looking at new posts in certain tags that are potentially spam... (this isn't public at the moment, and more a log report, but hoping to improve on this, and and build up a better learning set).
The main question I have, isn't if it's explicitly allowed or disallowed, but rather what's acceptable for use:
- is it okay to "log" the channel (it is public chat after all and googleable?)
- it it okay to allow it to automate room owner commands such as moving posts from a user
- what is a really practicable non-bannable limit for retrieving posts for analysis
Let me know if I can clarify any futher...