The nightmare Discord bot; part one of many to come.

Hei ja tervetuloa. I’ve decided to document my development progress on Helsinki Cruises’ new Discord bot on this blog. I’ll probably look back on this in a few years time and think, /wow, I sure am glad that’s over with/. In all honesty, up until now this bot has been really fun to code. It’s been a little tricky though transferring the code between my local development machine, the host VPS and GitLab.

I started coding the bot on Wednesday 8th April, and from today (12th) I’m going to write a small bit on this post every day until Wednesday 15. I’ll make a new post every week and see how it goes from there. I’m writing the bot in Node.js and using the Express.js library for my RESTful APIs. I haven’t made any comments so far, except for ones reminding me to change code when it goes into production.

12th April 2020

At 10:29 tonight, I was told that we were releasing the bot to the public. I immediately stayed calm internally screamed.

“oh no,” I thought into myself.

Only joking. I was actually pretty excited for the first public release – it was the first time one of my bots was actually going to be used for something, instead of just left in a server lying to rot, which was pretty cool. Buuuuuuut that excitement instantly came to an end only 11 minutes later when I was told, “It doesn’t give verified role”. I replied with the only appropriate thing to say in this situation: “jfkwwkkcnemamxkw”.

At T plus 20 minutes, the Helsinki Cruises Discord was in a harder lockdown than the UK, and we began to discuss why the bot was still named ‘sedö’ in my files. At 11:09 I had uploaded the bot to my VPS, and Cortexus and I had explained to Laatikko that the S in VPS didn’t stand for sisu. I came to a sudden realization at T plus 43 minutes that my bot wasn’t giving me the correct roles because we hadn’t made a role called ‘Scripter’ in the HC Discord, but the bot was trying to assign it to me. Fun!

After what felt like a few decades, and a lot of stressful slams of my keyboard, at T plus 1 hour 8 minutes, the lockdown was lifted on the verify channel and the verifications started rolling in again. Cortexus locked down the server again for about 30 seconds a few minutes later due to a false error, and I spent 30 minutes trying to figure out was wrong – there was nothing wrong.

There were quite a few angry comments and messages from the HC members during our process of unverifying every user and making them reverify.

The pings never stop. Iso :flushed:.

13th April 2020

I woke up this morning, expecting to find loads of DMs from Laatikko and Cortexus, telling me the bot doesn’t work or it’s crashed or something. To my surprise, I logged onto my Sentry and found only one error.

Only one error… or so I thought. (only joking it was the only one)

So, pretty much this error was caused by most users not being in my bot testing server, and the bot was attempting to add the user to the Verified role in that server too. I fixed that error by adding some try/catch thingys and yeah, it was fixed.

Next, I logged onto Google Analytics. This is where I can pretty much view each user, and information about them to debug any user-specific problems which have occurred.

So far, there were 82 users who had verified their accounts with the bot. Pretty good c:

I coded a few more things for the bot today, but not much. I added a few extra features, such as checking for and assigning the user’s group roles on join. Each commit I made starting spewing out more errors into Sentry, and made more people complain as they tried to verify, but I got everything fixed and soon the bot was fully working, and it was ready for me to take a break and watch the verified users roll in.

19th April 2020

It’s been a week. I gave up on writing a bit more of this blog post every day, since nothing exciting has really happened on any of the days so far, and I took a break from coding and working on the bot for 3 days. I woke up this morning, checked my Discord, and was faced with this:

ffffffffff

I dunno what was wrong with it, I just restarted the VPS and everything worked. I don’t really have the energy to write any more of what happened, and even if I did, I don’t think I would be able to because I literally know nothing about why it was down. (don’t quote me on that)

I got the problem solved, and started working on a bit more code which I was supposed to do 5 days ago. I soon realised that every time I made a change in the code that I wanted to update in the bot on the VPS, I had to commit and push it to my Gitlab instance. This turned into me making what felt like 200 commits for each new feature until it actually worked, and I had no idea of what to name each commit.

Fun.

I decided to log into GA again and check the statistics of the users who had visited the site, and I was very surprised with what I found.

This was pretty interesting to read. I think I spent about two hours just reading through all of the information here. It gave me a good idea about how long it took each person to verify their account, what countries people were from, and how many people tried to verify their account on more than one day. Apparently there were a few people who tried over 4 days to verify their account, and still aren’t verified.

As you can see in the above screenshot, most users verified their accounts at either 1am or 9pm. I’m pretty sure that Monday was the day after we released the bot, which explains a lot about why most users verified on that date. There was at least one verification every hour which was pretty cool.

At the time I’m writing this, I’ve added all the features which Laatikko and Cortexus (the CEO and CCE of Helsinki Cruises) have asked me to add, meaning the bot is pretty much completed. I’m pretty sure (and I hope) there will be more features to add in the future, but until then I’ll just work on the other things that I have to do (Vedemo) and wait for someone to ask me to add something else, or another bug to present itself to me.

And now, the fun part.

During the development and release of this bot, I’ve came across some *extremely* annoying people, who just completely refuse to read what the bot is telling them to do, or complain about something that we can’t control (such as them being lazy).

I’m probably not allowed to do this, but I’m going to do it anyway, without scribbling out the majority of the people’s names because they deserve a place on my list of people who made this bot very hard to debug and code, so enjoy! 😀

Here we have someone complaining, after Laatikko issued an announcement for all unverified members of HC to verify their account. This isn’t the only person who’s being aggressive, as you’ll soon see.

I don’t care, none of the HRs care, none of the staff care. Even if we did, there’s absolutely nothing we can do. If you wanna be in HC, just verify! If you don’t, just leave. It’s one way or the other, but you have to reverify your account if you want to be in the Discord. :p

There are only three things I can say about this one. Firstly, Laatikko can’t help you with your problems when I host and develop the bot. If the bot is down, then just wait. It’s not that hard. Secondly, we have a support channel for a reason, if you need support with something, use that channel. And last on my list of things to say, I can’t help you if you don’t give a description of what the problem is. I’ve already said this loads of times, but at least tell us if you got a DM from the bot, and also check if you have DMs on for server members. The majority of people who have said they didn’t get message from the bot didn’t have this on.

I dunno why this annoyed me, but it just did lol. This was like two messages below where Cortexus had said that the bot is down, and it’ll be fixed when I wake up in a few hours. It just really annoys me when people don’t read the messages above, or even the messages the bot gives you, and then complains because it’s not working, when theres a very valid reason why it’s not working above. I didn’t think it was so hard to move your eyes up like a millimetre.

This one wasn’t even bad or annoying, it just made me laugh.

I didn’t really get annoyed at this but I just thought it was pretty random that someone decided to complain because t-t-the bot asked him to provide his username..? It’s not that hard.. just type a few extra characters. And best of all: YOUR ROBLOX NAME IS ONLY 4 CHARACTERS LONG!!!!! How hard can it be?

Hmmmm okay… again, there’s nothing I can do. Plus, this guy is a staff member! It’s a code of 5 emojis, that’ll take you no more than 2 minutes to copy in. Not hard.

Again, pretty much no information. It had to be a problem on his side, because the person before him and the person after him were able to verify their accounts fine, without any problems. Strange…

I don’t think that’s how its supposed to work.. maybe if you read the full message you might know what it’s asking you for. Oh wait, I think I know why it wasn’t working for him in the screenshot above. BECAUSE HE WAS TRYING TO VERIFY THE ACCOUNT ‘USERNAME’ AND NOT HIS OWN…

Yeah, he can force verify you, but if you’re going to be lazy about it then nobody wants to help you. End of.

Nothing really to say about this one.

Mk, try turning your DMs on from server members.

This one just made me confused to be honest. The message above this one was the bot telling the user how to cancel the verification process and reverify. The bot does work, you just saw a message and it didn’t do what you wanted so you assumed it was broken.

And now, we get into the screenshots of Mr_Raisen, probably the most annoying person I’ve ever met in the ROBLOX community, or just ever. I kind of want to make a full post about Raisen’s annoying temper tantrum’s but I’ll refrain from doing that for now. Anyway, here’s a few screenshots of him just being a pain.

Raisen shouting for no reason and oliverchallis (the ex-underage Discord user which we can’t seem to get banned) backing him up. Please remove yourselves and head off back to Swedish Lines and Flango! WHEEZE

Right as I’m about to publish this post, another person pops up out of nowhere.

So that’s it folks.

That’s my first summary of the first week of running this bot for Helsinki Cruises, and a few screenshots of annoying people, making it super hard to debug and fix problems (and draining my motivation).

I’d like to give a huge shoutout and thank you to Helsinki Cruises, especially Laatikkoxx and Cortexus who have pretty much helped me through all of this with testing and permissions with the Discord server, as well as giving me the opportunity to code this. I’d also like to say thank you to all of the members of HC who verified their accounts without complaining or screaming like the people in the above screenshots did.

I’ve had fun so far coding the bot, and I hope that’s not the end of its development. In the future I might port it over to some other of Laatikko’s Discord servers, but that’s a story for another time.

That’s it from me, follow me on Twitter (@peloissaan_), and I’ll see you in the next post, or fixing more bugs in the HC Discord. Thanks for reading 🙂