OujiaBot profile picture

("I" refers to me, comhad. and me alone. The bot refers to OujiaBot, a bot I made, am maintaining and hosting. Any questions please reach me at my twitter)

How OujiaBot uses data that it's given.

All the data that goes into OujiaBot is pseudonymised and securely stored in an sqlite3 database on a firewalled VPS server that only I have access too.

How is data pseudonymised?

Via the use of hashing, any data that would be considered personally identifiable is hashed first via MD5.

For example, when you ask for a statement using /ask, OujiaBot has to hold the channel and server where this statement is being given.

Each channel and server host a unique ID, this ID is an 18 didget number unique to that server / channel.

These IDs are hashed and then stored in a database along with the question. The hashes look like a 32-character string of random characters containing only hexadecimal characters.

It is impossible to reverse these hashes, I won't know what channel or server it's sent from.

The server keeps track of this since sending a message from the same channel of the same server and channel will produce the same hashes, thus the bot will know what question / answer you have


What data is collected when and why?

Pseudonymised server id

This is collected when you use the /ask, /insult, /mute and /inspire commands.
I won't know the server this is from, the /mute uses it so the bot knows if to allow the /insult and /inspire commands in your server. The other commands keep a log of it purely for analytics


Pseudonymised channel id

This is only collected when you use /ask.
As stated above this is required for the /ask command to function.

Other misc data :

Time something happened

This is collected when you use /ask, /inspire and /insult commands.
This is analytics, it allows me to query the database for "How many questions have been asked this month?" etc.

If a question is active

This is collected when you use the /ask command and finsh a question.
If you ask OujiaBot for a question when you already have one active, OujiaBot will state you must finish that one before getting another in that channel. OujiaBot keeps track of this via the database where it stores questions.

Question and answers

This is collected when you use the /ask command and finish a question.
The bot needs to keep track of the questions it gives and answers it gets.

Other things to know

All data used is designed to explicitly comply with Discord's guidelines. No data is sold or sent to any other organisations or people.