Openttd Discord

GitHub Test badge codecov

Provides ability to integrate Discord with your OpenTTD servers.

Documentation

Documentation link

Functionalities

  • Connects Discord channel to the Openttd Servers enabling communication between multiple servers and Discord.
    • Automatically translates ASCII emojis into Discord emojis and vice-versa.
  • Ability to execute rcon commands on server from Discord.
  • Ability to gather short reports from players about malicious behavior of other players
    • Contains information about connected clients
    • Contains last chat messages
    • Contains reason for the report
    • Some additional information
  • Creating auto-updated messages which can show status of current server.
    • It contains the same information as OpenTTD client on server browser screen.
  • Auto reply system
    • Players joining server are going to be welcomed with pre-defined message

Compilation/Installation

  • load discord bot token into environment variable ottd_discord_token
  • Use run.sh in order to run bot. (Use run.pi.sh if you are using raspberry pi.)

    • Bot automatically creates persistent SQL database on the computer where bot is being run.
  • Debugging process is the same excluding the fact that you need to launch your project instead of docker instance. It should work out of the box with environment variables set. Remember to load MySql connection string into ottd_discord_connectionstring before debugging.

  • Database creation process is described inside OpenttdDiscord.Database
  • example: Server=1.2.3.256;User ID=openttd;Password=yoursupersecretpassword;Database=openttd

Bots required permissions

  • View channels
  • Send Messages
  • Embed files

Read more about permissions in official Discord documentation

Development

Conventional commits

This repository uses Conventional commits to specify type of commits commited to the repository.

Used types: - feat - feature - fix - ref - refactor - docs - documentation - nuget - commits connected with nuget upgrade/downgrade - chore

Architecture

Actors hierarchy

Actors hierarchy

Database diagram

Database diagram

Test coverage

Test coverage graph