ConfessionBot is the most advanced anonymous messaging bot on Discord, with mod tools, multiple anonymous channel types, image support, and much more! - Powered by the merely framework and Discord.py.
Try ConfessionBot on the Official Bot Discord server
Invite ConfessionBot to your own server
You are welcome to clone this source and run your own instance for any purpose, but please don't copy the branding of ConfessionBot!
Clones of ConfessionBot that have the same branding are harmful for our support server and image.
You can easily rename the bot by changing the botname parameter in config.ini. You should also use a different Username and profile picture when creating the bot user.
- Clone Merely Framework into a folder
-
git clone https://github.com/MerelyServices/Merely-Framework.git ConfessionBot
-
- Clone this project into a subfolder named 'overlay'
-
cd ConfessionBot git clone https://github.com/yiays/ConfessionBot.git overlay
-
- Install python >= 3.12
- Install required python packages
-
python3 -m pip install -r requirements.txt -r overlay/requirements.txt
-
- Run your bot once to generate the config file;
python3 main.py - Create a discord bot in the Discord Developer Portal, you will need the token
- Give ConfessionBot the token by setting it in the
[main]section of the config (overlay/config/config.ini)- Never put your token in config.factory.ini - this file is public when you commit to GitHub.
- Run your bot with
python3 main.py - Add your bot to your server, use the id from the Discord Developer Portal in the following link;
https://discord.com/oauth2/authorize?client_id=PASTE_ID_HERE
- Optional: change the behaviour and features of your bot in the
config/config.inifile.- Restart the bot to apply changes;
/die restart:true
- Restart the bot to apply changes;
To update, first shut down your bot gracefully with /die, then use the following commands.
git pull
git -C overlay pull
pip install -r requirements.txt -r overlay/requirements.txtI have built a website which makes it easier to translate my projects, including ConfessionBot. Babel Translator.
ConfessionBot is written in Python with the help of the Discord.py API wrapper. Refer to the Project roadmap for future features we'd like to implement. All contributions are welcome and support can be given in the Discord server.
As the Babel language framework is being used, there's no need to provide strings for your code. Myself and the volunteer translators can add strings later. In place of strings, simply invent a meaningful key, for example;
self.bot.babel('confessions', 'confession_vetting_accepted', channel=channel.mention)
# Appears like the following until a string is written:
"<CONFESSION_VETTING_ACCEPTED: channel={channel}>"
# An example of a written string:
"Your message was accepted and posted to {channel}."This repository depends on the Merely Framework. Clone this repo into an overlay folder inside of Merely Framework to run this code (you will need to create the overlay folder). Afterwards, any improvements made to the framework can be comitted back upstream without any merge conflicts. - Contributions to the framework are greatly appreciated!
confessions.py implements the discord.ext.commands.Cog class. Read the documentation to learn how to write new commands or improve existing ones with this structure.
If you wish to provide strings, add them to babel/confessionbot_en.ini.

