DisArchive
Discord message archiver
Overview
A very simple tool to archive messages and attachments from Discord channels. Downloads all message attachments as well as the message content and data into a SQLite/MySQL/PostgreSQL database.
Self-host
To run DisArchive, follow the steps below.
- Install Python 3 and Pip
- Clone this repository
- Install the requirements with
pip install -r requirements.txt - Configure the
config.yamlfile with required information (more below) - Run
bot.py
Configuration
[!NOTE] If a configuration option is labeled as optional, do not just use an empty value for that field, remove the field entirely from the config file.
GENERAL | REQUIRED
| Field | Description | Requirement |
|---|---|---|
| TOKEN | STRING: The token for your bot. Create a bot at discord.com/developers |
REQUIRED - message content intent is REQUIRED |
| NAMING_SCHEME | STRING: File naming scheme for downloaded attachments |
OPTIONAL - Default: random |
| BOT_COLOR | HEX CODE: Color that will be used for message embeds |
OPTIONAL |
SQLITE | OPTIONAL
| Field | Description | Requirement |
|---|---|---|
| NAME | STRING: Name of the SQLite database file |
OPTIONAL - Default: disarchive.db |
MYSQL / POSTGRESQL | OPTIONAL
| Field | Description | Requirement |
|---|---|---|
| NAME | STRING: Name of the MySQL/PostgreSQL database |
OPTIONAL - Default: disarchive |
| HOST | STRING: Hostname of the MySQL/PostgreSQL server |
OPTION - Default: localhost |
| PORT | INT: Port of the MySQL/PostgreSQL server |
OPTIONAL - Default: 3306 for MySQL, 5432 for PostgreSQL |
| USER | STRING: Username for the MySQL/PostgreSQL server |
REQUIRED |
| PASSWORD | STRING: Password for the MySQL/PostgreSQL server |
REQUIRED |
