1

Several popular rooms on the network are running a chat bot for some time now, including Root Access and JavaScript. There is a decent implementation of a chatbot, written in JavaScript, here.

I run the chatbot for Root Access based on my light fork of Zirak's chatbot here (Selenium driver here). The bot runs on my dedicated server, and is thus very stable.

As a bot maintainer, my philosophy is to be as accommodating as possible to the wishes of the users in the chat channel. As a very general statement, I prefer to avoid vulgarity in the bot's commands as much as possible, and to keep it family and work-friendly to the extent possible, without unreasonably removing features from the bot. Unfortunately, this philosophy is not universally shared by some of the maintainers of Zirak's chatbot, so I think my friendly fork of that bot is fairly well-justified.

I am offering the following:

  • To operate a bot on my server for The Litter Box chat.
  • To maintain the code by implementing things that chat regulars want, whether that means removing stuff or adding stuff. Note that I am not an expert in JavaScript, so implementing major new features requiring much work might require reporting the feature upstream to Zirak's repository. I am very good at deleting things, though, so if there are things in the bot that you want removed, I can definitely do that.

My experience operating the bot for several months in Root Access should provide a good basis for responsibly operating the bot in The Litter Box. My goals are as follows:

  • Make sure the bot isn't annoying.
  • Make sure the bot can't do anything that a regular user can't do.
  • Make it more convenient to insert image macros into chat by typing commands rather than hunting for the link and copy-pasting. (Note: if you disagree with image macros in chat in general, or oneboxing, that is an issue you should take up with StackExchange; the bot simply makes it more convenient to do something that is already possible, so if you are against oneboxing, don't consider that a feature of the bot; it's a feature of chat itself.)
  • Give the bot useful features, while moderating what it can do to prevent it from getting "out of control" (things like the bot talking to itself in an infinite loop are definitely prevented).
  • Monitor which commands are taught to the bot, and delete commands that are offensive or inappropriate.
  • Respond promptly to requests to change the bot's behavior.

If we decide to have a bot, everyone please remember to flag users' messages when users are abusing the bot (don't flag the bot, because anything the bot does ultimately trickles back to a user (ab)using it.) We definitely want to weed out users who are going to abuse the bot, because they are the same users who would be apt to paste offensive images into chat, spam, and so on.

If you're interested in what the bot is able to do, you can view the help docs at the link above to Zirak's chatbot, or just join the Root Access or JavaScript chatrooms and play with "ChatBot John Cavil" (in RA) or "Caprica Six" (in JavaScript).

  • 2
    Just as a comment, the polling style meta questions are usually not the best way to go, they tend to limit discussion: Polling is not a substitute for discussion – John Cavan Dec 6 '13 at 18:05
  • @JohnCavan Fair point, but people are free to post comments with reasons why they feel that way. Also, the subject matter can be quite contentious, and I don't think it'd be very topical to have extended philosophical or technical debates in this question about whether or not chat bots should be allowed, what they should be allowed to do, etc. This has already been discussed to death on MSO, especially after recent events (we were forced to modify the bot code by an SE employee to comply with restrictions that were placed on bot behavior ex post facto.) – allquixotic Dec 6 '13 at 18:09
  • ...Also, I am modeling the format of this question after the format of a question that was previously posted on Meta Super User by a site moderator. He specifically made it a community wiki and posted two generic yes/no answers by himself, and invited people to post their own comments/answers if they have some sort of "maybe" opinion that isn't a clear-cut yes or no. I think this format works well when the discussion itself is very likely to be non-constructive and mostly just a re-hashing of things that have previously been said (not here, but for sure on MSO). – allquixotic Dec 6 '13 at 18:17
  • I'm commenting on the basis that Community Managers and Moderators here are actually working to discourage polling questions. It's fine to leave as is, it's just more of a future reference. – John Cavan Dec 6 '13 at 18:19
  • Is the chat bot going to post random cat images? – JoshDM Dec 6 '13 at 19:27
  • Also, based on the names you've used for your other bots, if you do provide one, it better be named either Daggit or Toaster. – JoshDM Dec 6 '13 at 19:29
  • @JoshDM No, the bot won't post cat images unless specifically prompted to do so by a user inputting one of a number of specific commands. It won't just randomly do so on its own. I doubt a bot posting unsolicited images would be well-received by the community. Regarding the name, that may well be a second meta post, IF a strong majority seem to favor having the bot vs. not having it (currently it looks like the "no" votes are winning, so it might not matter). – allquixotic Dec 6 '13 at 20:11
  • 1
    FYI: the link to the JavaScript room appears broken... perhaps the room was deleted and remade? Also, I would suggest somewhere, either here in the question, or in your "yes" answer, you explain, briefly, what the chatbot does, and why it would be beneficial. I went to RA, and saw you doing something with John Cavil, but I didn't really grok it, and (in all honesty), I don't want to read a series of help links on git hub just to know how I should vote on this question. – Beofett Dec 6 '13 at 20:13
  • @Beofett I typed the JS chatroom link from memory; I probably got it wrong. I think it's room 18, not 19. Sorry about that! I'll edit the "Yes" answer below. – allquixotic Dec 6 '13 at 20:13
  • @Beofett Updated as you requested. – allquixotic Dec 6 '13 at 20:35
  • @allquixotic - how about creating a pets chatbot testground room so we can all mess with a bot without having to mess with a production bot? – JoshDM Dec 6 '13 at 20:35
  • @JoshDM That's a valid idea. For the time being, I will see about having the current SuperUser bot "join" a new room, and will post a link to the room once I have it up and running. It may take a few hours for me to implement this, as I've previously disabled the !!summon command of the bot to prevent it from being called into another room. I may just run a separate instance of Firefox on my server for the test bot. – allquixotic Dec 6 '13 at 20:37
6

No, this is a bad idea. Please don't put a chat bot in The Litter Box.

(Please put your reasons why in the comments if you feel this way.)

  • I like people a lot more than bots. – Esa Paulasto Dec 7 '13 at 6:00
  • @EsaPaulasto Cute answer, but not constructive. The existence of a bot in a chatroom does not, by a long shot, reduce the amount of human-human interaction in the room. If it's used properly, it will only help to facilitate conversations between people. If it turns out that it were used improperly, well, I'd either voluntarily remove it, or see if a code change can help things. Anyway, point taken; you don't want it. Seems you're in the majority here (I can't tell how many voted in favor of it, but I know at least someone did earlier, and then that answer got downvoted...) – allquixotic Dec 7 '13 at 8:08
  • 2
    @Chad Please don't spill over an unrelated discussion about the chat room name (discussed in this question) to this topic. Feel free to vote however you feel on this, but I don't think the room name has any bearing whatsoever on whether or not there should be a bot in the room. Also, I find your remark mildly inappropriate. – allquixotic Dec 9 '13 at 14:30
  • FYI there were 3 votes in favor of the chat bot. I have not voted either way, simply because I don't have a strong feeling on the subject. I don't have any objections to having one. I also don't really see it as something that adds much value (simply because I doubt I'd make the effort to learn how to use it properly). However, I do want to thank you for offering your time and resources to make this happen if the community wants it. – Beofett Dec 9 '13 at 14:53
  • @Beofett No problem. Not all chat rooms are the same; that's why the de facto standard is that the people who frequent the room most often (site moderators and non-moderator room owners) are the main decision-makers about what to have in a chat, what the chat's rules are, etc. I don't know who, if anyone, is a room owner in The Litter Box, aside from the site mods, but it seems the consensus among people who took the effort to vote on this question is to upvote the "no" answer and downvote the "yes" answer. I do ask myself how many of the "no"s ever visit chat at all, though... – allquixotic Dec 9 '13 at 15:18
  • As it stands, I'm probably not going to place a bot in The Litter Box unless/until I am specifically asked to do so by a Pets.SE site moderator. I am reluctant to go ahead given the number of votes against. – allquixotic Dec 9 '13 at 15:19
  • OK seriously, the problem with the bots are that the first time someone plays with them they can be funny. But every few weeks a new user will come in and learn about hte bot and do mostly the same things that were funny the first time. But start to get annoying after that. If there is interest in one I would suggest doing it in a new room besides the main chat room. After we see the usage we may change our mind and want it in the main room. Or we may be glad its not. – user9 Dec 11 '13 at 15:00
2

A chat bot for The Litter Box is a great idea!

Update: As requested in the comments, here is a list of what the ChatBot can currently do, without writing any more code. All of the below things can be accomplished by a user typing one or a small number of commands into chat.

A command is denoted by the special syntax !!, followed by a single word that was previously recognized as a command. There are two types of commands: built-in, and learned. As a general rule, built-in commands can do much more complex things, but implementing or changing them requires writing JavaScript code and modifying the chatbot itself. Learned commands, on the other hand, are much simpler, but can be "taught" to the bot using the !!learn command in chat, so you don't have to write any code to teach the bot simple commands.

  • A user can teach the bot a command that links to an image (or anything that chat is able to onebox), and then recall that image to be displayed in chat by typing the command. For instance, the learned command !!no in Root Access makes the Root Access bot display the popular image macro of Tardar Sauce, the "Grumpy Cat" with dwarfism, with the caption "NO." This is easier than googling for "grumpy cat" then copying and pasting the image link.
  • The bot can tell another user the output of a certain command. To do this, you issue the !!tell command to the bot, followed by a message ID (this can be retrieved from your chat buffer by clicking the reply button to a prior message), followed by the command that the bot will execute, and then reply to the designated message with the output of that command. For instance, if someone asked "Should I let my poorly-disciplined dog roam around the neighborhood unleashed?", you could enter in chat, !!tell 12345678 no, where 12345678 is the message ID, and the bot would reply to that user's message with the picture of Tardar Sauce grumpily saying "NO."
  • The bot can use Google, Free Dictionary, Wikipedia, Urban Dictionary, and other popular services with some sort of search feature, and return one or more results. For Wikipedia, you can onebox any Wikipedia article with the !!wiki command. For Urban Dictionary results, the bot will copy and paste the first definition of a word with the !!urban command. For Google, the bot will display links to the first few results of googling something with the !!google command.
  • The bot can play hangman. Honestly, this spams chat quite a bit, but it's a nifty thing to do once with the room regulars, if you can get most of the current users of chat to agree to play -- if people aren't participating or they don't like it, obviously you wouldn't want to do this.
  • The bot can evaluate/execute almost arbitrary JavaScript. This functionality was carefully tested to make sure it isn't exploitable in any useful way. If many users of the chat understand JavaScript to some degree or another, this can produce sometimes surprising results; at the very least, it acts as an in-chat math calculator.
  • The bot can use the mustachify.me service to paint a mustache on someone's gravatar (if the service is able to detect a humanoid face, that is), and onebox the result.
  • The bot can automatically respond to pings to users who previously told the bot that they are AFK. For instance, if there is a site moderator who hangs out in chat and leaves his computer on all the time, but who wants to let others know when he's away from the computer, he can type !!afk Out to lunch, back later, and the bot will automatically tell anyone who @pings him about the fact that he's AFK, along with his personalized message/reason for being AFK.
  • The bot can fetch weather information given a zipcode or city.
  • The bot can pseudo-randomly choose between two alternatives (akin to a coin flip).
  • The bot can replace text in the most recent message with some other text, given by a standard substitution regular expression. For instance, if the most recent message in chat is "Hello", you could type `!! s/e/u/" and the bot would post a new message (note: not overwrite the previous one, which is impossible if it's another user's message) saying "Hullo" (replace "e" with "u").

In Root Access chat, we primarily use the bot:

  • To paste image macros from learned commands;
  • To inform each other when one of us is AFK;
  • To define terms that our non-native English speakers may not be familiar with.

It would be correct to observe that pretty much all of this can be done manually, but the regulars in Root Access have come to accept the bot as being quirky but also funny (e.g. the well-placed and well-timed application of an image macro), and occasionally useful.

Lastly, it should be noted that users who are either site moderators or Room Owners (of the chat room) can put people in "mind jail" using the !!ban command. This makes the bot ignore any commands typed by that user until they are unbanned. This can be used to prevent an annoying user from over-using the bot, even if their behavior is not offensive enough for them to be suspended or banned from chat itself. We really have not had many problems with bot abuse in the Root Access room, and I do believe that the user base of SuperUser and Root Access is quite a bit larger than that of pets.stackexchange and The Litter Box, so any issues we could expect to encounter with a bot in The Litter Box have probably already been encountered by me in Root Access.

  • I had no idea what the bot could do, but this is an interesting list - I have seen similar bots in IRC chats I frequent. :) – Ash Dec 6 '13 at 21:01

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .