|
1 | | -# Local Radio and Music Bot Player for Discord |
| 1 | +# Discord Music Bot |
2 | 2 |
|
3 | | -**_Disclaimer_**: _This code is meant for educational purposes only. Please do not use this code for malicious purposes or to violate the [Discord](https://discord.com), [Youtube](https://www.youtube.com), [Radio Televisyen Malaysia (RTM)](https://www.rtm.gov.my) and [Astro](https://www.astro.com.my) Terms of Service._ |
| 3 | +A .NET 10 Discord bot for music playback, supporting various audio sources and radio streams. Includes a React-based web dashboard. |
4 | 4 |
|
5 | | -**Note:** This code has been tested on a Linux environment. If you are using a different operating system, you may need to modify the code accordingly. You also can run this application using Docker and WSL2. Dockerfile is provided in this repository. |
| 5 | +**Note:** This application is designed to run on Linux via Docker. A Dockerfile and docker-compose setup are provided. |
6 | 6 |
|
7 | 7 | ## Installation |
8 | 8 |
|
9 | | -To use this application, follow these steps: |
10 | | - |
11 | | -1. You need to create a Discord bot and add it to your server. You can follow the instructions [here](https://discord.com/developers/docs/intro). |
12 | | -2. Setup up neccessary bot access permissions. You can follow the instructions [here](https://discord.com/developers/docs/topics/permissions). |
13 | | -3. Discord bot token is required to run this application. You can create a bot token by following the instructions [here](https://discord.com/developers/docs/topics/oauth2#bots). |
14 | | -3. Clone this repository. |
15 | | -4. Use docker-compose to build and run the application. It will automatically install the required dependencies. |
| 9 | +1. Create a Discord bot and add it to your server. Follow the [Discord Developer docs](https://discord.com/developers/docs/intro). |
| 10 | +2. Set up the necessary bot permissions. See [Permissions](https://discord.com/developers/docs/topics/permissions). |
| 11 | +3. Obtain a Discord bot token. See [OAuth2 Bots](https://discord.com/developers/docs/topics/oauth2#bots). |
| 12 | +4. Clone this repository. |
| 13 | +5. Configure `deployment/.env` with your values (Discord token, Spotify credentials, database, JWT, etc.). |
| 14 | +6. Build and run with Docker: |
16 | 15 | ``` |
17 | | - docker-compose up --build |
| 16 | + docker-compose -f deployment/docker-compose.yml up --build |
18 | 17 | ``` |
19 | | -5. Please refer to the [Discord.NET](https://discordnet.dev) for more information on how to create a Discord bot and how to use the Discord.NET library. |
20 | 18 |
|
21 | 19 | ## Technologies Used |
22 | | -1. [Discord.NET](https://discordnet.dev) |
23 | | -2. [YoutubeExplode](https://github.com/Tyrrrz/YoutubeExplode) |
24 | | -3. [FFmpeg](https://ffmpeg.org) |
25 | | -4. [Opus](https://opus-codec.org) |
26 | | -5. [Sodium](https://doc.libsodium.org) |
| 20 | + |
| 21 | +### Backend |
| 22 | +- [.NET 10](https://dotnet.microsoft.com) / ASP.NET Core |
| 23 | +- [NetCord](https://github.com/NetCordDev/NetCord) - Discord bot framework |
| 24 | +- [Entity Framework Core](https://learn.microsoft.com/en-us/ef/core/) + [PostgreSQL](https://www.postgresql.org) |
| 25 | +- [YoutubeExplode](https://github.com/Tyrrrz/YoutubeExplode) / [YoutubeDLSharp](https://github.com/Bluegrams/YoutubeDLSharp) + [yt-dlp](https://github.com/yt-dlp/yt-dlp) |
| 26 | +- [SoundCloudExplode](https://github.com/jerry08/SoundCloudExplode) |
| 27 | +- [NAudio](https://github.com/naudio/NAudio) / [FFmpeg](https://ffmpeg.org) - audio processing |
| 28 | +- [libopus](https://opus-codec.org) / [libsodium](https://doc.libsodium.org) - voice encryption and encoding |
| 29 | + |
| 30 | +### Frontend |
| 31 | +- [React 19](https://react.dev) with TypeScript |
| 32 | +- [TanStack Router](https://tanstack.com/router) / [TanStack Query](https://tanstack.com/query) |
| 33 | +- [Recharts](https://recharts.org) |
| 34 | +- [Vite](https://vite.dev) + [Bun](https://bun.sh) |
0 commit comments