30 lines
1.2 KiB
Markdown
30 lines
1.2 KiB
Markdown
# Discord Dropdown POC
|
|
|
|
A POC of a Discord bot using the dropdown capability
|
|
|
|
## Requirement
|
|
|
|
- [Docker](https://www.docker.com/products/docker-desktop/)
|
|
- [GNU Make](https://www.gnu.org/software/make/) (optional)
|
|
|
|
## How to install
|
|
|
|
1. Clone the repo
|
|
2. Copy the `config.exemple.toml` and rename it `config.toml`
|
|
3. Launch the docker container with `make start` or `docker-compose up -d`
|
|
4. Go into the docker container with `make shell` or `docker-compose exec discord-bot bash`
|
|
5. Install the dependencies: `yarn install`
|
|
6. Compile typescript and run the bot with `yarn dev`
|
|
|
|
## Improvement Way
|
|
|
|
- Sync configuration with currently send picker. `/role-picker create [picker]`, `/role-picker sync [picker]` (if picker is omitted, resync all?)
|
|
|
|
## Notes
|
|
|
|
- Configuration file format is [TOML](https://toml.io/en/). It is a minimal configuration file format that's easy to read due to obvious semantics. TOML is designed to map unambiguously to a hash table. TOML should be easy to parse into data structures in a wide variety of languages. Read `src/config.ts` to see all possibilities.
|
|
|
|
## Contributions/License
|
|
|
|
This project has an AGPLv3 license. This project use the `Sheweny` framework with `discord.js` underlying and `BinaryMuse/toml-node` for configuration parsing.
|