- How It Began
- The Days of Ren (Red) v2
- The Transition Period
- Where We Are Now
For the past four and a half years, I’ve enjoyed helping the Simon Fraser University Anime Club (also known as the SFU Anime Club) maintain their Discord bot. The bot is named after one of our club’s mascot characters, Ren. For those that come from the SFU Anime Discord, many will know that she is based off of the upstream open source project, Red-DiscordBot, which uses the discord.py library for its Discord interactions. The upstream project has many developers creating modules (or cogs), that extend beyond its core functionality.
In this post, I hope to touch on a few things:
- How I became more involved with the club,
- Some of the cool Ren things we created,
- Some technical things we encountered,
- What we learned along the way, and
- Where we’re at today.
Be forewarned: this post is kind of long (and I might start rambling on about some random things) so I’ll be splitting it into multiple, logically ordered pages. I hope that by the end of this post, you’ll have a better appreciation of the many things going on behind the scenes. 🙂
Before we begin to talk about the bot, we need to establish some context. SFU Anime Discord, or SAD for short, was created by a club member named Hish, with the assistance of Julian from the SFU Anime Club exec team. In the server, there are various roles that get applied depending on how much you participate in the server, courtesy of Mee6 bot. At the time of writing, the level to role mapping is as follows:
- Level 1 – Kouhai
- Level 35 – Senpai
- Level 55 – Sensei
- Level 75 – Hakase
- Level 99 – Kami-sama
As well, those that maintain Ren and her code are referred to as the Rengineers, which was coined by one of SAD’s moderator, sayaka, and bestowed upon us by Hish.
How It Began
The SFU Anime Club has been around for quite some time. I’m not in a position to talk about its origins; I’ll defer that to those who actually know better. What I do know is that SAD was born in September 2016, right when I finished my first co-op and was starting my third year. Its founder, Hish, handed out business card-like invites to a platform called Discord at the Fall icebreaker event late-September. I had made a Discord account earlier that year, but didn’t really use it until I found out about it some more when I went down to PAX West with my friends in September. I joined the server and became part of a new, innovative, and real-time way to participate with other classmates that shared a common interest in anime.
When October rolled around, one of the club’s execs at the time, Julian, had discovered Red-DiscordBot, and decided to host an instance of it off of his laptop. There were many cool features, like its economy system, that had many club members collecting server currency and rolling slots to see who could have the most money. Unfortunately, because Julian’s laptop wasn’t on 24/7, it meant that there were times when the bot would be unavailable.
At the time, I proposed the idea of hosting Ren on my home server to my friend, sedruk. My rationale was that I had a home server running 24/7 anyways, so adding a bot to it would be pretty much negligible. I didn’t approach any of the execs at the time, because I was actually pretty introverted (and arguably still am in a sense), and didn’t know if that was a good idea. sedruk, who was also on the server, approached Julian with my proposed idea on hosting Ren on my home server. We actually gave it a shot in November 2016, and that’s how I started managing Ren with sedruk. I created a dedicated virtual machine for her, which now contains the bot’s data and a user account.
This proposition actually worked out very well for me in the end. I was actually looking for something to do. I liked to tinker with things, but didn’t really have a personal project I was working on other than a personal website that I had since 2008. Taking up Ren meant that I could learn something new, put something on my resume (I put Ren and the SFU Anime Club on it), and contribute back to a community that I joined back in first year.