A lot has happened since the last WomBot post on [checks notes]…huh. A few days ago. I guess I’m on fire here!
I’ve added Mixer to the announcement functionality. This is way easier than Twitch was, as Mixer’s announcement returns everything about the channel from one single endpoint. I only have to parse the STATUS field and if it’s “live” then they are online!
This is an administrator function that will allow anyone with a Discord Administrator permission to add, remove, or mass-update the user database. Right now, when someone joins the server, they should be added to the database, and if they leave, are kicked or banned, they will be removed the from the database. These commands are backups in case the automation does not happen.
Using repl.it, most of the debugging info has been sent to the development console so I can see it. When the bot runs in autonomous mode, there won’t be a console and if there was, there’d be no one present to view the output. So I added a simple logging system that I can use to send errors to a file that will hopefully allow me to debug situations once the bot goes live.
XP and Levels
This is a Big System. Some of it is automated, but some of it is exposed for admins to use.
As users participate on our server, they will earn XP. I am using the Mee6 method of granting XP (10 points) for the first message posted every 60 seconds so people don’t/can’t spam the channel and level up real fast.
We wanted levels to means something on our server, so right now I’ve set up some admin commands that allow us to do two things: set the level at which streaming announcements can begin, and set levels for giveaways.
If you enter a value into your profile for Twitch or Mixer (we don’t have any YouTube streamers on our server, but I’ll get to it Eventually(tm)), you become “a streamer” on our server. However, we need to make sure that you are interested in the community and aren’t here just to auto-spam your go-live announcements. At level 15, a user becomes “announcement eligible”, which means that we take the value in the Twitch and/or the Mixer profile value, get your live/not live status from that platform, and announce you. If you add your streamer credentials after level 15, no problem: it’s retroactive!
We also wanted to automate giveaways as a “thank you” to members of our server. Currently testing at levels 10, 20, and 30, when a user reaches one of those levels she will be sent a DM with a number of options randomly chosen from a database of game codes that the bot will maintain. At level 10, for example, the user will be given a choice between two codes. Using a reaction, she will be able to claim one of them and the bot will DM her the code. At level 20, she’ll get to choose 1 from 3 options, and at level 30, she can choose 2 from 4 options. Admins will be able to add codes one by one, or we can append the database manually if we end up with a whole lot of them. We will also be able to see which codes are in the database, which have been claimed, by who, and when.