71 lines
2.6 KiB
Markdown
71 lines
2.6 KiB
Markdown
<div align="center">
|
|
<img src="siren.png" alt="drawing" width="200"/>
|
|
<h1 align="center">Siren</h1>
|
|
</div>
|
|
|
|
Siren is a D&D Bot built for Discord, written in Rust. Features include:
|
|
- Play tracks from Youtube or locally hosted files
|
|
- Assistant DM tools to be defined later
|
|
|
|
## Running
|
|
Visit the [Discord Developer Portal](https://discord.com/developers/applications) and create a new application. Click [here](https://discord.com/developers/docs/intro) for guides and more information.
|
|
|
|
Required Scopes:
|
|
- bot
|
|
- application.commands
|
|
|
|
Example Invite:
|
|
```
|
|
https://discord.com/api/oauth2/authorize?client_id=<CLIENT_ID>&permissions=40671259392832&scope=bot%20applications.commands
|
|
```
|
|
The CLIENT_ID can be found in the General Information tab on the Discord Developer Portal for your application, under `Application ID`
|
|
|
|
1. Copy `.env.TEMPLATE` to `.env` and fill out the fields
|
|
2. Build the [Docker](https://www.docker.com/) application with `make build`
|
|
3. Start the application with `make up`
|
|
|
|
## Contributing
|
|
[Rust](https://www.rust-lang.org/) must be installed to run locally. See [serenity-rs/serenity](https://github.com/serenity-rs/serenity) for more information about Rust Discord API Library.
|
|
|
|
The following packages must be installed for [serenity-rs/songbird](https://github.com/serenity-rs/songbird). View the repository for additional installation and setup information on other operating systems.
|
|
<details>
|
|
<summary>Unix Installation</summary>
|
|
Notes:
|
|
|
|
- [yt-dlp](https://github.com/yt-dlp/yt-dlp/releases) is preferred over youtube-dl.
|
|
|
|
```
|
|
sudo apt install libopus-dev
|
|
sudo apt install ffmpeg
|
|
sudo apt apt install youtube-dl # See notes above
|
|
# PostgreSQL Headers
|
|
sudo apt install libpq5
|
|
sudo apt install libpq-dev
|
|
```
|
|
|
|
- Potentially requires [yt-dlp](https://github.com/yt-dlp/yt-dlp#installation) and [yt-dlp FFmpeg Static Auto-Builds](https://github.com/yt-dlp/FFmpeg-Builds).
|
|
|
|
</details>
|
|
<details>
|
|
<summary>Mac Installation</summary>
|
|
Notes:
|
|
|
|
- [Homebrew](https://brew.sh/) must be installed to run the following commands.
|
|
- [youtube-dl](https://formulae.brew.sh/formula/youtube-dl#default) is deprecated, [yt-dlp](https://formulae.brew.sh/formula/yt-dlp) is preferred
|
|
|
|
```
|
|
brew install opus
|
|
brew install ffmpeg
|
|
brew install yt-dlp # See notes above
|
|
brew install postgresql
|
|
```
|
|
</details>
|
|
|
|
Begin the application with `cargo run` (note the database must still be running)
|
|
- `docker compose up -d db`
|
|
|
|
The application can also be tested from within a Docker container:
|
|
```
|
|
docker build -t siren:latest .
|
|
docker run --env-file .env -it --rm --name siren siren:latest
|
|
``` |