Skip to content

Discord bot for VUT FIT server

Notifications You must be signed in to change notification settings

GrillBot/grillbot

Repository files navigation

GrillBot

GrillBot is Discord bot for fun and management VUT FIT discord server.

Requirements

  • PostgreSQL server (minimal recommended version is 13) Docker image
  • RabbitMQ (minimal recommended version is 2) Docker image
  • .NET 7.0 (with ASP.NET Core 7)
  • Registered Microsoft Azure account with purchased Storage account or Storage account emulator.

If you're running bot on Linux distributions, you have to install these packages: tzdata and libc6-dev.

Only debian based distros are tested. Funcionality cannot be guaranteed for other distributions.

Development requirements

  • Microsoft Visual Studio 2022, JetBrains Rider (or another IDE supports .NET)
  • dotnet-ef utility (for code first migrations)
  • Generate personal access token (Classic) with read:packages permission.
  • Add new NuGet source with URL https://nuget.pkg.github.com/GrillBot/index.json.
    • You can do it from your IDE or via CLI dotnet nuget add source https://nuget.pkg.github.com/GrillBot/index.json -n GrillBot -u {Username} -p {PersonalAccessToken}
    • On Linux systems add to previous command parameter --store-password-in-clear-text.

Configuration

If you starting bot in development environment (require environment variable ASPNETCORE_ENVIRONMENT=Development), you have to fill appsettings.Development.json.

If you starting bot in production environment (docker recommended), you have to configure environment variables.

Mandatory environment variables:

  • ConnectionStrings:Default - Connection string to database.
  • ConnectionStrings:Cache - Connection string to cache database.
  • ConnectionStrings:StorageAccount - Connection string to Azure Storage Account or Storage Account emulator.
  • Discord:Token - Discord authentication token.
  • Auth:OAuth2:ClientId, Auth:OAuth2:ClientSecret - Client ID and secret for login to administrations.
  • RabbitMQ:Hostname, RabbitMQ:Username, RabbitMQ:Password - Credentials for your RabbitMQ instance.

Without these settings the bot will not run.

Recommended environment variables:

  • Discord:Logging:GuildId, Discord:Logging:ChannelId - Guild and channel specification for notifications on errors to channel.
  • Birthday:Notifications:GuildId, Birthday:Notifications:ChannelId - Guild and channel specification for notifications of birthdays.

If you're using Docker instance, bind /GrillBotData directory as volume.

If you're not have access to the GrillBot development environment, ask Hobit for access or deploy your instances of microservices, RabbitMQ and Postgres.

Docker

Latest docker image is published in GitHub container registry.

Licence

GrillBot is licensed as All Rights Reserved. The source code is available for reading and contribution. Owner consent is required for use in a production environment.

About

Discord bot for VUT FIT server

Resources

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages