https://github.com/jchristgit/bolt
A Discord guild moderation bot for managing large servers, based on Nostrum.
https://github.com/jchristgit/bolt
community elixir moderation nostrum
Last synced: 6 months ago
JSON representation
A Discord guild moderation bot for managing large servers, based on Nostrum.
- Host: GitHub
- URL: https://github.com/jchristgit/bolt
- Owner: jchristgit
- License: agpl-3.0
- Created: 2018-05-05T18:44:49.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2025-03-01T19:14:00.000Z (11 months ago)
- Last Synced: 2025-03-05T08:25:08.647Z (11 months ago)
- Topics: community, elixir, moderation, nostrum
- Language: Elixir
- Homepage:
- Size: 2.3 MB
- Stars: 52
- Watchers: 3
- Forks: 8
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Bolt
A Discord guild moderation bot for managing large servers.
## Project status
Due to highly questionable privacy practices from Discord's side, bolt, in its
Discord bot form, is no longer actively maintained.
## Running locally
**Initial setup**:
- Set the environment variable `BOT_TOKEN` to your bot token
- Set the environment variable `PGSQL_URL` to your PostgreSQL database URL,
e.g. `postgres://user:pass@host/dbname`
- `mix deps.get`
- `mix ecto.migrate --all`
**Running with iex**:
- `iex -S mix`
## Deployment
I deploy via Ansible, see [`ansible/README.md`](ansible/README.md) for details.
## Configuration
You can configure the prefix used by using the environment variable
`BOT_PREFIX`. If you want to, you can set up a bot log channel with the
`BOTLOG_CHANNEL` environment variable - set this to the channel ID that you
want bot events logged in.
To configure the users able to use the `sudo` commands, set the `SUPERUSERS`
environment variable to a colon (`:`) separated list of user IDs that can use
these commands.
## Monitoring
Bolt runs a Munin node on port 4950. Metrics can be seen here:
https://munin.jchri.st/jchri.st/spock/bolt/index.html
## License
This program is free software: you can redistribute it and/or modify it under
the terms of the GNU Affero General Public License as published by the Free
Software Foundation, either version 3 of the License, or (at your option) any
later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
A copy of the license can be found in [this directory](./LICENSE).