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:

a Discord embed with a floor plan and a profile picture edited into it

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:

a Discord embed listing multiple dishes and their ingredients with emojis

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.

a meme of Obama giving himself a medal, both Obamas are labeled WoBot

Cutie pie

Would you like to tell your friends how cute they are? Now you can with the cutiepie command:

a meme with four tiles, each with a picture and a text: cherry pie, apple pie, pumpkin pie. The fourth is labeled cutie pie but has the WoBot picture

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. a capybara laying in the sun

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:

a Discord embed with a list of ideas, each with a title, description, and 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.

a black cat looking friendly at the camera

Comments