Here’s a brief overview of the major changes I’ve made in the latest iteration of our COGSBot.
Internal stuff
- I implemented a ‘constants’ system to handle text which is often subject to change, e.g. !lan which describes the next LAN date/venue. I moved many such strings over to this system, allowing much more stuff to be updated without the need to restart the bot
- Bot can now join multiple channels, and it can leave/join them without needing to restart
- Increased efficiency of sending large messages from bot (e.g. !help)
Requested stuff
- Improved the !help text. It now defines the available commands in a much clearer way, rather than a large & hard-to-read block. It also describes the operations of lists much better (i.e. how to use them)
- Implemented a simple permissions system, which allows committee members to do select tasks e.g. adding new games lists. This means that I am not the only person who can update the bot content, but the system is also designed such that other committee members can’t accidentally the whole database
- Some people wanted the bot to /notice them, some wanted private messages. It’s been a long time coming, but I hope you understand. To allow people to interact with the bot however they choose, a user preferences system has been created. Currently this is the only preference you can set, but there will be more in future. Try !set to get started
- People wanted the bot to have system for storing games lists, which people can subscribe to. The rationale behind this is that it will help us to better organise frequent bigger games. It allows groups of people to easily let other interested parties know when they want to play a particular game
The games lists – usage:
- People sign up to a list for a particular game (e.g. TF2)
- If someone on that list wants to play TF2, they can trigger a message to everyone else on that list, informing them that a game of TF2 is going to start
At the moment, everyone is PMd informing them, and a message is also sent out in the #cogs.gaming channel, highlighting everyone on the list. If you do not want to receive these notifications, e.g. you are busy and can’t play games for an evening, you can use !away to stop them, and !back to start receiving them again.
There is one limitation, not of usefulness but in implementation: there is a hard limit on the frequency at which these game notification messages can be triggered — we absolutely do not want to generate ’spam’ with this feature. Therefore, each trigger can currently only be used once every 5 minutes (you are told how long you have to wait before you can use it again). Feedback on the duration of this limit and/or opinions on whether people would like to be able to ’silence’ these messages for a time, without needing to remove themselves from all the lists would be welcomed in this forum thread
