Discord Clash is a distributed application written in .NET. An event management system, with Discord bot to control the application and a recommendation system to help users to know about new events for them.
- .NET 5.0 with in C#,
- RabbitMQ with EasyNetQ library,
- MongoDB - for storing users and events,
- Discord.Net - .NET API, wrapper for the Discord client,
- Cocona - micro-framework for .NET Core console application.
Other used libs: Figgle, Refit, Serilog, Swashbuckle (Swagger).
Generated using PlantUML, source files are placed in diagrams.
Clone the project:
git clone https://github.com/jurczewski/Discord-Clash
Go to the project directory and start infrastructure using Docker (MongoDB and RabbitMQ):
cd Discord-Clash
docker-compose up
Go to API directory and run:
cd src/Apps/DiscordClash.API
dotnet run
To see available endpoints go to localhost:5001/swagger
or use files inside request
directory. To use them install a VS Code Rest Client.
Before running a bot you need to enter your bot token and channel id for notifications in appsettings.json
.
After that, go to Bot directory and run:
cd src/Apps/DiscordClash.Bot
dotnet run