DisArchive

Discord message archiver

discord.py Code Style: Black

## 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. 1. Install Python 3 and Pip 2. Clone this repository 3. Install the requirements with `pip install -r requirements.txt` 4. Configure the `config.yaml` file with required information (more below) 5. 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](https://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**