IRF Verification

The Project

IRF Verification could have never existed, but fate came and I received an invite to Federation Studios from Swatguy123456. Friz Dzhugashvili (who runs Onepixel) created a contract for a demo verification bot which could add a role to a user if they were in a certain group. Since I was the only bot developer in Federation Studios, I took it up immediately. That's when the development for this bot started at a slow, but reasonable, pace.

Baby Steps

The first baby steps for IRF Verification were a small bot for Federation Studios that simply added a role to people if they were in the corresponding Roblox group and if their Discord ID was in a JSON object containing their Roblox ID. Simple enough. Using TypeScript, Noblox.js, and Eris, a very basic bot was created. Here is (roughly) what the source looked like:

import Eris from 'eris';
import Noblox from 'noblox.js';

const bot = new Eris.Client('abcdefg');

const linked: { [key: string]: number } = {
    '1234567890': 123456
};

bot.on('messageCreate', async msg => {
    if (linked[msg.author.id]) {
        const rank = await Noblox.getRankInGroup(123456);
        if (rank !== 0) {
            await msg.member.addRole('1234567890', 'in group');
        }
    }
});

bot.connect();

Obviously, not very complicated. And not very good either. If I wanted to verify a user, I had to do it manually. That is when the next stage of IRF Verification happened.

Actually Writing a Bot

Without being asked to, I started work on the actual bot. I had a perfectly working verification bot working within 2 days. At this point, you could add group bindings and you used the RoVer API to verify. It was essentially our own little pet RoVer, but without all the code written by Eryn. A couple days later, IRF Verification came to the main IRF Discord, about 4 days after its inception. It worked very well, and had some witty playing messages, which still run to this day. It was perfect. People were still verified because they were linked with RoVer and new people just added themselves with RoVer's database. This was how it was for a long time. However, after about a month of running, tradegy struck. RoVer's database was compromised. Me and Friz came up with the plan to create our own verification registry on the domain he recently bought (friz.dog).

The Verification Registry

Here's the plan:

  • Create a verification registry.
  • Make it extremely easy to verify.
  • ???
  • Profit!

And that's what we did. Within a couple days the registry was up and people started flooding in. Here is some statistics you can view. They're completely public so feel free to share them. Speaking of statistics, we get around 33k requests a day on the registry, and (if I remember correctly while writing this article) we have gotten 1.3 MILLION requests this month. That's right, MILLION.

Anyhow, the registry works really well. It is stable, and is very easy to reverify yourself if you messed up. It also creates a really cool effect in the data.

JSON data containing linked accounts
Now that's pretty.

The Conclusion to the Story

Anyway, other than a couple tidbits added here and there (like being able to bind multiple groups to one role), nothing else really has happened. The bot is being very well used and is in every IRF Discord. IRF Verification, I would say, is a success.

LewisTehMinerz

Creative Director and Developer for OnePixel. Angry developer who rants about things. Likes anime I guess.