Automated Response: All About PS! Bots

By anto. Art by Bummer and Cretacerus.
« Previous Article Home Next Article »

Introduction

If you've ever been instantly warned or muted for stretching or abusing, it means you've obviously wondered how the mod does it so fast. There are a bunch of them around PS!, but not everyone knows what they are or actually know about their existence: these users are called bots.

A bot is a piece of code that connects to some server and automatically repeats some action over and over again until it disconnects. On PS!, this means receiving messages from PS! and translating them into some form of command to be dealt with or ignored or possibly receiving battle data and using it and some limited form of artificial intelligence to ladder.

The bot fever started with the former Global Moderator and PS! coder, TalkTakesTime, a long time ago when he was asked to code a Jeopardy game for the Academics room, but we'll go deeper into that later on.

The Bots

boTTT and Art2D2

boTTT

Developed by TalkTakesTime, based off a bot framework written by Quinella, and now run by Morfent, boTTT was the one that started it all. Before boTTT, there were only a couple of bots on PS, barely known and rarely seen. After it shot to popularity for its assistance in moderating chat and taking some of the burden off the human room staff, boTTT became present in almost every room, and derivatives began popping up everywhere.

Nowadays, most specialized roles are handled by individual bots, while boTTT is the catch-all that still covers more rooms than any other bot. Almost every room other than Lobby has, at some point, been graced by this bot's presence.

Besides muting, warning,or banning people for flooding or abusing caps, it covers most general and widely used commands that almost all the other custom bots included to their code. Among these we can find: .un/ab [user], which will permanently un/ban a user from the room the command is performed in. .rab will do the same, but in the case the r stand for regex (also known as regular expression), meaning you can use regex to ban. To learn how to use regex, you should check this. Room staff can use .vab to obtain a list of those users who are currently blacklisted. If a user is specified using .vab [user], it will tell you if that user is present in the blacklist.

Sometimes, certain users start using phrases or memes that become spammy. For this reason and others, such as filtering shock sites, the commands .banword and .banphrase exist; they'll cause the bot to mute or ban the person who used the banned phrase, depending on how many faults the user has. These commands are directly analogous to .blacklist and its alternatives; to view the banned phrases, room staff can use .viewbannedphrases, .viewbannedwords, or .vbw. To check if a single phrase is banned, they can use .vbw [phrase].

.say [words], .tell [words], .8ball, and of course .joke are the joke commands. While the two first will make the bot say whatever the person wants it to say, .8ball [question] (formerly known as .helix) will randomly answer something to your question that is normally a funny "yes" or "no," basically acting like a real 8-ball, while .joke will tell you a Chuck Norris-related joke. Witty, huh?

.seen [username] is probably the most abused commands in boTTT's PMs, as not everyone dares to do it in chat. It'll tell you when that person was last seen, how long has it been since it they talked, and where that was (if they're active at that time and not offline).

Last but not least, .usage or .usagestats links to the Official Smogon University Simulator Statistics archive.

Because it's part of a lot of rooms, boTTT holds a few custom commands for certain rooms: Wi-Fi, Monotype, The Happy Place, and The Studio.

Wi-Fi's commands should be started with .wifi [something]. The different options are intro, scammers, cloners, trainers and they'll link to the respective document. In addition, there is .wifi checkfc, [friendcode], which was coded by the Room Driver Golui, and it will tell you if that specific Friend Code is on the scammers list.

Monotype's commands are to be started with .mono [something] or .monotype [something]. It could either be cc (which stands for core challenge), plug (plug.dj is a site made to play music and videos with others), rules, site, stats, or banlist.

Though it can be 'set' and used in any room, .b (the buzzer) was created for the Academics room (now Scholastic) to facilitate Jeopardy! games. The first user to .b in the chat will prompt boTTT to say "User has buzzed in!" and exactly seven seconds later "User, your time to answer is up!". Players are expected to answer between these two messages during Jeopardy games, and certain rounds of Only Connect.

The Happy Place has the custom command .thp, which can be used to either give an introduction to the room or, when phrased as .thp ask, to link to a column where you can ask the THP staff for help.

The Studio has two commands. The newly implemented .mic [user1], [user2] allows drivers to host the weekly Rap Battle events by setting modchat +, (de)voicing the rappers and disabling flood moderation for the fixed duration of a round, removing the need for boTTT to be demoted every Saturday. Additionally, .studio plug provides a link to The Studio's plug.dj.

boTTT definitely does it all, and it was the base for many other bots on PS!, including most of the ones that follow. Try the PS! rooms and follow boTTT's rules.

Lady Monita

This new bot is a merger of four bots, formerly known as the -E's: TOURN-E, Luig-E, Health-E, and Fashion-E-sta. It belongs to the Leader and PS! coder, sirDonovan.

Lady Monita recognized for being extremely polite when it comes to moderating; it can verbally warn a troublesome user and tell you it's a bot if you're trying to casually PM it.

Lets start with the Tournaments room's functions. It was coded to schedule the different tournaments that happen in a room. Scripted tournaments earn you points that you can check by PMing the bot .rank or even .rank [username] if you want to check someone's else points. Automatically after a tour ends, Monita will /announce the points earned by each user, including their position and username.

These points will earn you a position on the leaderboard that you can check by doing .leaderboard or .schedule, and at the end of the month, the top 3 players are recorded in the Hall of Fame and are also nominated for Room Voice. To check who is topping the leaderboard, you can PM Lady Monita .top, and it'll show you the top 20 players. The players that topped the leaderboard from January to March were eligible for BLT; for more information about it, .blt is the command you are looking for.

There are two types of tournaments: official and non-official. The official tournaments are scheduled and the already predefined format is different each day. If you want to know what the official tournament of the day is without having to check the table, you can pm the bot .official or, if you want to know the official from a specific date, you can do .official [day].

The non-official tournaments are set by the room staff as the day goes on and while other tournaments are going on; this is reason why .nexttour is probably the most abused command, as everyone wants to know if they should be ready to join the tournament or not.

Scripted tournaments aren't the only kinds of tournaments that happen in the room, as people can host their own tournaments via a website called Challonge. Not everyone knows how to host or to how get approval to advertise, in which case a Room Voice or higher can broadcast .approval and/or .host.

For those new players out there who don't know how to join a tournament, or don't know what scouting means and why it is against the rules, .join and/or .scout will usually be broadcasted by someone.

One of the most useful commands that Lady Monita has is definitely the .format one. If you do .format [tier], it'll link you to the basic information of the tier, as well as the viability rankings and/or a sheet with sample teams if available. The latter can also be provided if you PM TOURN-E .teams [format].

.nexttour [format] or start, .tour official, .pasttours, and .cap [number] are among the most commonly used commands for Room Drivers and higher. These will set the next non-official tournament format, start them, check the last ten tournament formats held, and set a maximum number of people respectively.

Battle against a bunch of amazing players everyday, 24/7; Lady Monita will help you become the best trainer around!

If each command on Lady Monita's code that were made for Game Corner room had to be explained, it would probably have to be a whole new article since this bot is very complex. It belongs to Game Corner room and it definitely makes the lives of the user base way easier by hosting a number of games, simplifying things by removing the need for a human host.

The games range from Trivia to Roulette, different Blackjack styles, Anagrams, Hangman, Ambush, Press Your Luck, Rolling Evolution Stones, and Would You Rather questions.

Its job also includes explaining how each game works, including the other games that still need a host made of flesh and bones; as well as holding the users bits, which are the currency of the room.

If you are looking for a good time and want to forget about modding and leave your worries behind, Monita invites you to Game Corner room: exactly what you're looking for!

As athletic as Health-E used to be, Lady Monita also belongs to Health & Fitness room. It doesn't really moderate the room since boTTT does that job, but it'll give you great advice and inspiration in case you're needing some. .easy and .hard are the challenges that are also changed daily by the staff with .set, while .quote displays the current extremely inspirational quote; so inspirational it'll make you shed a tear!

Last but not least, we have the Cosmopolitan room commands that Monita has. The informative commands are changed daily by the staff with new outstanding facts: .wotd, .ootd, .dotd, and .cotd are a few of the commands that Monita can perform. .wotd stands for Wildlife of the Day, and it contains a link to a picture of anything wildlife related; .ootd stands for Outfit of the Day, and it'll link people to a picture of an outfit picked by the room staff; .dotd means Destination of the Day and it'll link you a picture of somewhere amazing in the world that you should to travel to. .cotd stands for Celebrity of the Day; it doesn't sound related, but each celebrity is mostly chosen for their outfit to learn a little more about where they come from. Since Cosmopolitan merged with Dancing room, .dancer was created and it showcases the Dancer of the day.

As for the social part, the room staff gathered information about all kinds of animals, countries, capitals of the world, and recognized landmarks so Fashion-E-sta would be able to use them to play .anagrams and .hangman.

The commands .selfie, .pet, and .pastfacts will link you to that specific part of the Website, while .plug will link you to the room plug.dj.

Come and learn a little bit more about Cosmopolitan room with Monita, who will be your assistant in this journey around the world.

WhimsicoTTT & AminitraboTTT

These are the language room bots. The first belongs to Español room and its subroom Eventos, developed by Ecuacion and xJoelituh, with the help of Morfent; and the latter to Deutsche Room, developed by Freigeist.

They were coded with the purpose of making the lives of non-native English speakers who cannot perfectly understand English or understand it at all easier.

Let's start with AminitraboTTT, the Spanish speaker bot. Its name is quite peculiar and hard to explain but it originates from an inside joke. Apparently, one of the users was trying to spell "administrar" ("administrate" in English), but they ended up making the mistake of typing "aminitra" instead, which is absolutely wrong. Of course, the boTTT part originates from the original bot.

It has a lot of commands that involve the room events that occur weekly, such as ,info [topic], which will broadcast the information related to the room event, and ,infowall [topic], which will do the same but it will /announce it in chat.

For new users, the most common commands are ,reglas (rules), ,sanciones (faults), which are basically the replacement of the well-known .rules; ,voiced, which will link you the part of the room site that explains how to get Room Voice if you're interested on it; and ,rangos (ranks), which links you to the part of the website that explains each rank. If you just want to show all of this at once, use ,faq.

The most useful command for the Spanish user base is probably ,trad [something]. Trad comes from "traducir," which means "translate" in English. But it won't translate anything you put in there to Spanish; it'll translate Pokémon-related words (except Pokémon names, which are the same as in English), like for example ,trad Spikes.

AminitraboTTT is able to battle any tier because it has different teams uploaded to its code; it can do this by joining the tournaments that are hosted in the room that are usually already scheduled with ,progtour ("Programar tour," which means "Schedule Tour").

This bot is definitely quite interesting, and if you're willing to learn some Spanish, come and join AminitraboTTT's room.

WhimsicoTTT's name comes from, of course, the Pokémon Whimsicott that is also the room mascot plus the TTT added making reference to the popular boTTT. It's a direct German translation of this last mentioned bot with some extra commands: .faq [topic], .unfaq [something] or .troll [something], and .hp.

If you PM WhimsicoTTT with .faq [topic], it will give you information about the topic you choose, and to check what the topics are, you can PM the bot .faq list. While .unfaq [something] and .troll [something] are basically the same command, it's just a funny variation of .faq. You should totally try .troll asgdf.

Its most outstanding command is one similar to the command ,trad that AminitraboTTT has: .tl [from this language], [to this language], [Pokémon term] will translate Pokémon terms to the selected language. Its options are en (English), de (Deutsch/German), es (Español/Spanish), fr (Français/French), while jp (Japanese) and kr (Korean) aren't supported at the moment.

The last command, .hp, is made for everyone and not just the Deutsche user base. It comes from Hidden Power, and if you add the HP, Atk, Def, SpA, SpD, and Spe IVs of a Pokémon in that order after .hp, it'll tell you what type and what Base Power that spread has.

At the moment Freigeist is re-writing the bot on Java basis, so stay tuned for news! Meanwhile, submerge yourself in Deutsche room and start speaking German by the hand of WhimsicoTTT.

Roleplaying bot

Backstabbing friends, bear hugs, reckless fights, bright smiles, and crocodile tears are just a few of the bunch of moments that are around this bot developed by the Global Mod, Morfent.

RP bot definitely belongs to Roleplaying room and its subroom, AmphyRP. Besides moderating the room with mutes, autobans, and warnings, it was created with the purpose of defining what type of RP is going on and how long has it been going on for. The command .rp will give you this information and it can be broadcasted by anyone, while .host will tell you who's the manager of the current RP. Anyone that is a Room Voice or a higher rank can modify the information provided by these two commands as well as starting, pausing / continuing a plot, ending a RP or setting / removing a host, and all of these are done with the following commands respectively: .setrp [plot], .start if a plot has already been set, .start [plot] if a plot hasn't been set yet, .rppause/.rpcontinue, .rpend, .sethost [username], .rmhost.

AmphyRP is a private but not secret Roleplaying room subroom mainly dedicated to Customs made by the userbase. If you've ever joined this room, you've must noticed that modchat + is always set on, meaning only Room Voices or higher can talk in the room. To be able to talk, you need to send a PM to Roleplaying Bot with the command .voice, but only if you're willing to participate in the ongoing plot. If you do .rp in AmphyRP while a plot is active, it'll also usually include a link to a document with the information needed, written by the creator of this style of RP. Once the current RP in AmphyRP is done, a Room Driver or higher ranked user needs to trigger .ampclear to remove the current voices, as they were only voiced temporarily.

If you want to be part of this room but you're not sure what to host, just check the site by PMing Roleplaying Bot .site, and you'll find an interesting list with all the styles possible. Be sure to also pm it .void to display the last two roleplays in the current room and the current RP in the alternate room. Variety is always good!

Don't be afraid and join a world where your imagination, and Roleplaying Bot, are the only limits.

The Scribe

No other name could fit the Writing Room bot, formerly known as AxeBot, better. Literally meaning someone who writes books or documents by hand as a profession and helps keep track of records, The Scribe was developed by the Room Mod AxeBane. "The Scribe's name is actually the result of a bit of 'spur of the moment' public, room-wide brainstorming," said AxeBane.

This bot was created with the purpose of serving the fellow writers as inspiration. Whenever they run out of ideas, one command can help them out, ;randscene, ;randpoke, ;randgenre, ;randchar are examples of this. Whenever you trigger those commands, The Scribe will give you a random scene, Pokémon, genre, and/or a random character depending on the command you picked. If none of these were able to help you, ;randidea will generate the skeleton of a story for you.

From a fearless girl to a grotesque closet, from Thriller to even a Hawlucha, these ideas were thought by the developer of The Scribe, as well as the staff and the user base from Writing room.

Besides covering its writing help purpose and the basic modding commands, The Scribe can also broadcast the Word of the Day by doing ;wotd. And if that person you needed to PM so urgently about that poem you just wrote while you were drinking coffee in a rainy morning is not there and you're not sure you'll get to see them soon, you can drop them an email—and no, you don't need to log into your Gmail or the forgotten Yahoo! By PMing The Scribe with ;mail username, message, you'll leave them what they call an offline message and it'll be delivered to them as soon as they get in Writing room. So much hype... oh, and talking about hype, every week Writing room holds a Pokémon Showdown! Sunday Scribing challenge. Participants are to write a story or a poem, depending on which week it is, based on the topic announced on Saturdays. And how do you get this information? Easily, ;hype.

Prose or Poetry, the room invites all authors to share their works and wordplay. And for those who are just beginning to write, or those who can't think of anything new, The Scribe will serve as your muse.

Pony Bot

One has to wonder why a bot named Pony belongs to the Sports room. But why not better ask panpawn, its developer? "The name of my server is Gold, and when I think of gold I think of 'The Outsiders.' It's a really cool book a lot of people know. In that story, there's a saying: Stay gold, Ponyboy" declared panpawn.

Moving on and scratching that it's somehow related to the sports topic, Pony covers the basic commands but it also can play panagrams. These are regular panagrams but named after its creator and only sports related (although it has more categories). .p sports is what starts it and .gp [answer] is the way to win. You can only start a panagram in the Sports room.

panpawn implemented the offline messaging system on Pony Bot as AxeBane did with The Scribe. PMing the bot with .pmtell [user], [message] will send the message to the user you specified while they're offline and they'll receive it as soon as they join the Sports room.

Although it's just a bot, panpawn made it so if you challenge Pony Bot to a CC1V1 or a Random Battle, it'd accept the challenge and you'd be able to battle against it. Do you think you can win, though?

Definitely Pony Bot is loved between the Sports user base and the auth. Join Sports room and stay gold with Pony.

Art2D2

In a galaxy far, far away called Art room, Art2D2 was created by the hands of SolarisFox and AxeBane.

Although it doesn't mod like other bots, it relies on its outstanding way of helping the artists around the room as well as its way of advertising the room events. The Art room changes the room intro and YouTube channel banners and daily, so if you want to design one, \banner and \banner youtube will give you the information you need in order to do so.

Imagination can be pretty limited, even for artists, and this is the reason why \dailydraw or \dd is a daily challenge for them. If you're not interested in doing the \dd, there are other commands that might help you. Art2D2 works in the same way Scribe does, as a muse. \randpoke will return a random Pokémon for you, or you could give it certain criteria such as\randpoke fire, gen 2. \randmove and \randability work in the same way, but it'll generate a move and ability. \randtype and \randstats will return a random Pokémon typing (even if it doesn't exist) and random stats. The command \cap is strictly made for the CAP community, as it combines several of the previous commands to create a Pokémon concept.

\randitem generates random items or one based on the entered criteria as long as you specify this, while \randlocation generates a random location paired with a random adjective. Nobody knows what \randsalad does.

Just like Pony Bot and The Scribe, Art2D2 includes the command \mail [user], [message], which will leave a message for the specified user, which will be PMed to them the next time they log on and join the Art room. The interesting thing is that it includes a \viewmail command, which will PM you any pending messages sent to you through the \mail command. Using the mail system requires auth or "Room Paw" rank, a rank created by the Art room user base. To be a promoted to Room Paw rank, \roompaw [username] is the command that should be used, but only Room Mods or higher can broadcast it. \roomunpaw [username] will demote the user from Room Paw rank, while \viewroompaw will hastebin a list with all the users that hold the Room Paw rank.

Probably the most interesting command is \image. \image resize, [link] will format the image into the !showimage command and resize it to optimally fit on PS!; it's mostly useful for Room Owners who can broadcast the !showimage command to display a picture, which are really common in the Art room considering a lot of artists want to show their work, but any user on PS! can pm Art2D2 for this. \image html, [link] will format the link in HTML style and \image time, [link] returns how long it took the image to load.

Get lost in Art2D2's galaxy, and may the pallet be with you.

Sir. Vivor

Formerly known as Bjorn Survivor, this bot belongs to Survivor room and it was developed by the Room Owner, Swirlyder, and the former Room Owner, Quarkz. Although it doesn't help with the game itself, it does answer to questions like "How do I play Survivor?", "What is Survivor?", etcetera. It saves the staff some time because instead of having to explain one by one how to participate, they just broadcast commands such as .intro, .howtoplay or .howtohost, and Sir. Vivor does the trick.

In case a regular user wants to host a game, a staff member can do .host and the bot will promote them to Room Voice so they can broadcast the necessary commands, such as !dice.

As a special event for Christmas Eve, the command .gift was added where you basically typed in .gift [username] or .present [username], and it'd randomly give a present to the person that ranges from Transmuter's beard to just a pile of coal!

Recently, the commands .ranking and .nbt (Next Big Theme) were added. The latter is a contest that consists of people suggesting new Survivor themes; the winning theme will become official and the creator will be suggested for Room Voice.

Come and praise the dice so it gets you lucky numbers in Survivor, and don't forget that Sir. Vivor is there to guide you through the game.

Botcrates

Debates and Discussions (DnD) and Academics are what this bot loves. Belonging to the new room Scholastic, it was developed by the Room Driver Delta. It has a lot of joke commands, but the commands that make it perfect for the room are .na, meaning News Article of the Day, .dailyfail, for fails you see in the news, politics, or anything, .topic to display a random topic to can be talked about in the room, .quote for a Socrates' quote, and finally .fb, which links you to the Facebook page of the room.

Spark intelligent discussion and debate about worldwide news, Botcrates won't oppose.

stretcher & Muh Bans

stretcher belongs to an unknown room, and although it's made to cover the basic commands, only a few users are aware of its chat abilities. You can also make it talk to you!

Muh Bans is the Anime and Manga room bot, and it was forked from pick and Scotteh's bot, stretcher. It's mostly made for autobanning people; its A&M custom function is !counter, which will tell you how many times a certain anime has been named.

These two bots are under the same category because they're mostly recognized for laddering in CC1v1. "I wanna report the user stretcher, they were mean to me while we were battling" is probably one of the things that global auth have heard the most. The battle timer is automatically set and a random Pokémon is selected by these bots. When stretcher wins a battle, it'll say "git gud" while throwing an evil laugh, causing its opponents to git hurt by these words; otherwise, it'll say "Ok" and leave. stretcher doesn't really ladder anymore, but it will accept CC1v1 battles if you challenge it.

On the other hand, we have Muh Bans, which is way more polite. When it wins, it'll say "s-sorry" and then leave, ashamed of its act, but if it loses, it'll say "wow ok" and then run away...

Although these bots were coded with hours of dedication by their developers with hours of dedication, what actually amazes the users is their ladder rank. When stretcher used to ladder, it reached a pretty high number of played battles—around half a million, I'd dare to say. Muh Bans is not quite there yet, but so far, it has played 204,360 battles since November. Unbelievable, huh?

If you think you can win against the bots, then go challenge them, but don't cry if you need to git gudQ

Other bots

There are a number of other bots occasionally seen on PS! that aren't based on either TalkTakesTime or pick's bots—most of these are written in languages other than Node.js or Ruby, and they tend to not fulfill the role of permabans and chat moderation like the others do.

Nbot was written by the user N, and it is one of the few bots written in Node.js that is not based off Quinella's framework. While it has been inactive for quite a while, its roles mostly were extracting information about videos from YouTube links and incorporating Cleverbot in its PMs so a user could PM it to have a conversation, although it probably won't make much sense.

GoBot is written in the relatively uncommon language Go and also made by TalkTakesTime as an exercise through which to learn the language. While currently not much more than a relatively extensible framework, it also receives webhooks from GitHub, allowing people to keep up-to-date with changes in repositories on that site. It also has a command .git, which allows users to find pages on GitHub matching various specifications, and it is planned to be extended to battling.

Dubsbot is Scotteh's bot and written in Python 2. It is normally seen idling in the chat of Tech & Code. Primarily a battling bot, it also has the ability to act as a chat bot, and it contains a few chat commands for that purpose. The most notable of these is probably .beacon, a command that causes the bot to highlight everyone in the room—however,it's only usable by Scotteh himself.

ChBot, written in C# by Cheir, is no longer seen, but was a regular in both the Tech & Code and Little Cup rooms, the latter due to its ability to generate teams when a user requested one. Given the right command and some specifications, it would generate a Little Cup team and post it for the user who requested.

GitHub is a, described by its own developer, xfix, very simple bot. It belongs to a private room that the unites the coders on Pokémon Showdown! in order to make changes that improve the server.

Just as xfix mentioned, it does absolutely nothing except for using !htmlbox to inform about changes that are to be done or that were already done by the coders.

As you can see, there is a lot of variety in the bots used on PS!, and more are constantly being made. To see a lot of these bots in action, join Tech & Code on Pokémon Showdown!

Interview with TalkTakesTime

I entered this room full of computers, sort of confused by the sparkling lights that the routers displayed, but he was there, adjusting his glasses that were falling from his face with one hand and coding with the other. He seemed rather serious, so I approached quietly.

Anto

Hey TTT, it's a pleasure to interview you! Are you ready to answer some questions?

TalkTakesTime

Beep boop boop yes.

I heard some rumors about him actually being boTTT, and apparently they were certainly true...

TalkTakesTime

I mean hi, let's do this.

Anto

Great! To start off, how did the whole bot thing start?

TalkTakesTime

Bots have been around on PS! for quite a long time before I made any contributions. Probably the original bot would be stretcher, the bot written in Ruby that is best known for CC1v1 laddering. However, other than that and a couple forks of it, the bots started when SteelEdges asked me to make a bot for the Academics room to play Jeopardy.

I found a bot framework written by Quinella, who had abandoned it quite a while before then, forked it, fixed a bunch of bugs, and set it up with a command for buzzing in and timing answers for Jeopardy. There was then a discussion in PS! staff about the throttle on PS! not being sufficient and someone suggested a floodbot, which I implemented on my bot. Other users saw it moderating in the rooms it was in and requested it be added to their rooms.

I think at its peak boTTT was moderating about close to 50 public rooms and a few more private ones.

Anto

When did it start to get famous?

TalkTakesTime

It got to the point in mid-March 2014 that I had to add a way to space out the join messages it was sending to PS!, or otherwise it would send so many that PS! would ignore them and it wouldn't join the rooms it was supposed to, so I suppose it started getting popular just before then.

Anto

How do you feel when people recognize you only for the work you did with boTTT, although you've coded lots of things for PS!?

TalkTakesTime

Honestly, I'd probably prefer to get less attention than I do. I get a lot more credit for boTTT than the other PS! developers do for their work, as boTTT and its derivatives are so ubiquitous these days.

I've picked up this reputation among the regular users that I am some amazing coder, but I don't think I've really earned that.

I smirked. It's public knowledge what a good coder he is, but he was modest and his face said it all; he actually meant it.

Anto

What do you think about people wanting to code their own bot nowadays?

TalkTakesTime

If they're just coding it for fun? Then I think it's fine, it's a good project, although they'd learn a lot more if they started their own one from scratch. If they're coding it to moderate a room or something on PS!, I personally believe it's better to make pull requests to my repository, not for any desire to see boTTT retain its place as arguably the most relevant bot, but because if you have one bot moderating multiple rooms its global banned phrases (mostly porn and shock sites) and zero-tolerance users get shared across more rooms, whereas multiple bots mean that they're each moderating independent of each other and it's easier for zero-tolerance users to get away with things in multiple rooms.

Anto

How many rooms does boTTT mod in? One could swear it's in every room possible!

TalkTakesTime

54. It's not mod in all of those rooms, but it joins them all automatically.

Anto

Last question. One every wants an answer for: is boTTT a she or a he?

TalkTakesTime

Neither, and it always confuses me why people insist on personifying it. Perhaps I'm just boring, but to me it's more interesting knowing that it's a bot than pretending it's a person.

Anto

Thanks for your time, TTT!

TalkTakesTime

No problem.

I shook his hand and he smiled at me. I left and my fears were already gone by then. He wasn't the way people describe the stereotypical programmer nor a bot; he was a nice guy.

Conclusion

From muting spammers to battling, from gaming to roleplaying, from learning different things to becoming a muse when it comes to writing, the bots do it all, even if they're just a piece of code. Although they have their flaws and despite the fact that they will never be a perfect replacement for human auth, they've definitely become an essential part of the rooms, no matter if they are custom bots or just the less specialized but no less amazing, boTTT.

Most of the people, either regular users or room staff, cannot picture the room without bots anymore. Just a few commands and you have it all, making our lives objectively easier. So go thank the coders around PS!, and not just the bot ones, for making all of the fun the simulator is possible.

« Previous Article Home Next Article »