From 075b7b3333aba9bd5705a46e5032ef2e533d1dfc Mon Sep 17 00:00:00 2001 From: BluemediaGER Date: Sat, 28 Oct 2023 01:45:04 +0200 Subject: [PATCH] Add Docker compose file and documentation --- README.md | 28 ++++++++++++++++++++++++++++ docker-compose.yaml | 13 +++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 docker-compose.yaml diff --git a/README.md b/README.md index a9c5ad5..8d59759 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,30 @@ # discord-cleanup-bot A simple discord bot to clean up messages in a channel after a configured ammount of time. + +## Limitations / special features +- Only messages not older than 14 days can be deleted +- Threads are not processed by the bot +- Pinned messages are excluded from deletion + +## Setup using Docker +Using Docker is the easiest way to use this bot: +1. Copy the `docker-compose.yaml` to your server +2. Create a bot account [using this guide](https://discordpy.readthedocs.io/en/stable/discord.html#creating-a-bot-account) (ignore the "Inviting Your Bot" section - the bot will show you the correct invite link later) +3. Paste your bot token behind `BOT_TOKEN=` in the `docker-compose.yaml` +4. Start the container using `docker compose up -d` +5. Run `docker compose logs` and copy the invite link to your browser + +## Manual setup +If you don't want to use Docker, you can set up the bot manually: +1. Clone the Git repo +2. Create and activate a new venv +3. Install the requirements using `requirements.txt` +4. Create a bot account [using this guide](https://discordpy.readthedocs.io/en/stable/discord.html#creating-a-bot-account) (ignore the "Inviting Your Bot" section - the bot will show you the correct invite link later) +5. Set your bot token in the environment variable `BOT_TOKEN` +6. Start the `bot.py` script +7. Copy the invite link to your browser + +## Commands +All commands provide help messages and support auto-completion. +- `/purge (days)` Delete all messages of the last x days now an only once. +- `/retention [get|set|disable] (retention_period)` Manage continous cleanup. The background job runs every 15 minutes. \ No newline at end of file diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..9eb5452 --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,13 @@ +version: '3.4' + +services: + discord-cleanup-bot: + image: git.bluemedia.dev/bluemedia/discord-cleanup-bot + volumes: + - bot-data:/data + environment: + - BOT_TOKEN= + restart: unless-stopped + +volumes: + bot-data: \ No newline at end of file