The Rust saga continues; here’s the promised follow-up to the first post about WoBot. Let’s talk about some more features WoBot has.
Canteen
We’re a group of students and often eat together in the canteen. Surprisingly, this comes with lots of tasks that can be automated.
Meeting up
The canteen is quite large, and it can be challenging to find each other. It wasn’t clear how to solve this problem until someday we got our hands on the floor plan. As chance would have it, this was an edited version with the grid from battleships overlaid. This instantly struck me, and I added a command to say: “I’m at B5” and then WoBot edits the profile picture into the plan. It even works with multiple people in the same cell thanks to the stitchy crate:
The command name cruisine
is a portmanteau of cuisine and cruise ship, as the floor plan looks like a battleship
grid.
It also supports an expiry time (1 hour by default), so the profile picture is automatically removed.
This is quite useful as no one eats for hours, and having to remove oneself would be annoying.
The current menu
Amazingly, our canteens provide websites that include the food that will be served. As there are multiple canteens with
different websites, it’d be nice to get a quick overview of all of them from Discord. Scraping websites is luckily not
needed as other students have already done the work and created the EAT API.
With this API, WoBot can show you the menu for the current day or the entire week. For convenience, Holidays and
weekends are automatically skipped when displaying the daily offerings.
Both commands also let you choose the canteen, so no matter what campus we’re on, we can always take a quick look at the
available food:
Memes
Discord is not only about text; images play a huge role, too. Accordingly, WoBot comes with some commands related to images, especially memes.
Obama
Do you know the iconic meme of Obama giving himself a medal? It’s a great meme template, and WoBot has a command to detect people reacting or replying to their own messages and send a fitting meme. It’s a fun little feature.
Cutie pie
Would you like to tell your friends how cute they are? Now you can with the cutiepie
command:
Capybara facts
Have you ever wondered what capybaras are capable of? Thanks to the capybara
command
and the CAPI, you can easily get some facts together with cute images:
Capybaras have a calm and gentle demeanor, which makes them popular in zoos and sometimes as pets.
Image editing
A specialized meme command takes any image URL and up to two texts with position, size, and optional color
arguments to create a new picture. Commands aren’t suited for image editing as you only once get
feedback, so you’d have to know the positions beforehand or try around a lot, which is not a pleasant
user experience.
Finding the suitable meme template or image URL on top is even more annoying, and I can’t remember anyone ever using
this
feature.
As Discord now has also rolled out the Remix feature, which
comes
with an
entire image editor, I can remove this feature without any second thoughts.
Features / ToDo List
Another thing that came up quite often while developing and testing the bot was ideas for new features or changes to
existing ones. So I asked myself: What if WoBot could keep track of these ideas and display them nicely?
That’s how the features
command was born. Users can add, rename, and delete Features but also move them
between different states. With ToDo, Implemented, Rejected, and Postponed, all needs are covered.
There’s also a list command that supports filtering for a specific state:
Conclusion
With this post, I’ve covered many of WoBot’s features, but not all of them, so there might be another part. I hope you enjoyed reading about them and got some inspiration for your own bot.
Comments