Rust Migration

This commit is contained in:
2023-07-04 14:10:56 -04:00
parent 1507e878dc
commit 1d9cd4adcf
23 changed files with 2602 additions and 278 deletions

View File

@@ -1,72 +1,24 @@
<img src="siren.png" alt="drawing" width="200"/>
# Siren
A Java/Docker Discord music bot
A D&D Bot built for Discord. Includes music support and assistant DM tools.
## Running
Visit the [Discord Developer Portal](https://discord.com/developers/applications) and create a new application.
Guides and more information are available [here](https://discord.com/developers/docs/intro).
### OAuth2 URL Generator
The bot requires the following permissions/scopes:
- bot
- applications.commands
## Contributing
Rust must be installed to run locally.
Furthermore, the following packages must be installed for [serenity-rs/songbird](https://github.com/serenity-rs/songbird)
```
https://discord.com/api/oauth2/authorize?client_id=<Client ID>&permissions=1088840792896&scope=applications.commands%20bot
https://discord.com/api/oauth2/authorize?client_id=<Client ID>&permissions=5469678065984&scope=applications.commands%20bot - bot
- text permissions
- send messages
- create public threads
- create private threads
- send messages in threads
- send tts messages
- embed links
- attach files
- read message history
- mention everyone
- use external emojis
- use external stickers
- add reactions
- use slash commands
- voice permissions
- connect
- speak
- use voice activity
- priority speaker
- request to speak
- use embedded activities
- use soundboard
- applications.commands
sudo apt install libopus-dev
sudo apt install ffmpeg
sudo apt apt install youtube-dl
```
The application can instead be tested from within a docker container.
```
make build
make up
```
## Development
Build container
`make build`
Run container locally
```
docker container run --name siren_test -d -t siren bash
docker exec -it siren_test bash
```
## Commands
### Play
### Skip
### Stop
### Volume
### Pause
### Resume
### Settings
View settings on the current guild.
docker build -t siren .
docker run --env-file .env -it --rm --name siren siren
```