Introduction to TBABot

The Unofficial TBA Slack Bot, or @tbabot as you likely see it on your Slack Team, is a conversational bot that can gather and parse information on FIRST® Robotics Competition teams and events. In addition to simple request and response communication, it can monitor or follow teams during live competitions, and update you as they progress.

Two Conversation Modes

@tbabot has two basic modes of operation, depending on what kind of channel you are conversing with it in.

If you are in a Direct Message or DM channel, it’s just you and @tbabot, and you just just send commands directly. @tbabot will respond to you in the DM channel, and will not @mention your name. (Which may help with unwanted Slack notifications.)

If you are in any other kind of channel, where other users may be present, @tbabot will patiently sit and listen for it’s name to be mentioned before attempting to respond to a command.

For example, in your #general channel sending Hello tbabot info 5881 please. will have no effect. You must use the Slack @username syntax to get the bot’s attention. Instead try Hello @tbabot info 5881 please and @tbabot will realize you want to run the info command for team 5881. It will respond and @mention your username.

As you can see above, when in a multi-user channel, you can trigger and command @tbabot from within the middle of a message. @tbabot will expect the next word after it’s name to be a valid command.

Important: some commands have optional parameters, like follow, that you can omit. Unless your command to @tbabot is at the end of your message, you must include optional parameters.

For example, Hello @tbabot follow 5881 please will result in an error. Because follow requires 1, but allows 2 parameters, and please is not a valid 2nd parameter, the command will fail. You can use Hello @tbabot follow 5881 all please successfully, as well as Hello @tbabot follow 5881 as the command ends the message.

@tbabot Commands

In this document all commands you can give @tbabot are listed in bold type, and example messages and replies are noted like this.

Help, and Changes

@tbabot has a built-in help system. By sending the help command @tbabot will reply with a short list of common commands, as well as instructions on how to access additional help for other commands.

Help Commands Result
help Information on info, detail, status, and feedback commands, links to other help commands.
help channels Help on how @tbabot listens and replies in the various types of Slack channels.
help subscribe Information on how to follow or unfollow a team, and list teams the channel is following.
help changelog Documentation on recent changes and updates to @tbabot including new features.


Feedback, and Problem Reporting

If you have a non-cataclysmic problem with @tbabot please use the feedback command to let us know. @tbabot will send us anything you type after feedback along with your user and Slack team information so we can track down the problem.

Feel free to use feedback for comments and suggestions as well. However, since the developers do not have access to your Slack team, we can’t reply to messages left via feedback. If you want or need a reply, please use our GitHub issue page.

Team Information Commands

There are 3 team information commands available from @tbabot, and one team competition information command.

info

You can ask the bot for basic team information by sending the info command followed by the team number you are looking for. The bot will reply with the team name, a link to the website, location, district, when they were founded, how they did this season, and a link to the team on The Blue Alliance.

A shorter version of this command is available by just sending the team number, without a command, to @tbabot who will reply with the team name and location.

detail

When you need more detail on a team, and their progress this season, use the detail command followed by the team number. You’ll get the same information as info will give you, but in addition it will list each event the team participated at, how they ranked, what their record at the event was, any elimination progress, and awards.

status

When you’re looking for information on the current competition the team is at, use status and the team number. If the team is currently competing, you’ll get information on their current rank, last, and next matches, if any.

If they are not currently at a competition, you’ll get information on their last and next competitions, if any.

It’s a great way to check on a team as they compete.

Team Subscription Commands

One of the powerful aspects of @tbabot is it’s ability to allow you to subscribe to team updates during competitions. Subscriptions are managed on a per-channel basis. That means your teams #stradegy channel can follow potential alliance selections, while your #outreach channel can follow that rookie team you are mentoring. All the while you can follow your favorite personal teams in your Direct Message channel with @tbabot.

Types of Notifications

@tbabot will send several types of notices throughout a competition, depending on the request to subscribe to the team. Those notifications include:

Notification Description
Schedule Updated Will send a notice that the schedule has been updated, and a link to the event on TBA
Upcoming Match Sent when a team has a match soon to start
Score Posted Sent at the conclusion of a match with the match score
Event Summary Sent at the end of an event, after awards post, and summarizes the event for the team

Subscription Management

To start following a team you send the follow command and the team number of the team you wish to follow. By default @tbabot will keep you up to date with any news about a team during competition. The follow command has an optional 2nd parameter, after the team number, that allows you to reduce the amount of updates @tbabot will send. To reduce the notifications to match score updates, and end of competition summaries, add result after the team number. Or, you can add summary instead to just get a summary of the results at the end of competition.

To stop following a team send unfollow and the team number, and the bot will stop sending any updates.

To list the teams currently being followed in the channel, send following and @tbabot will list each team being followed in that channel.