Source code for RPCS3's Discord bot.
Go to file
Haxy 09aedeb56f
Some checks failed
.NET / Run Tests (push) Has been cancelled
.NET / Build Release (push) Has been cancelled
.NET / ConfigTest (push) Has been cancelled
.NET / Build Docker image (push) Has been cancelled
Merge pull request #964 from 13xforever/vnext
Upgrade to .NET 9
2024-11-20 12:15:03 +00:00
.config update deps 2024-11-13 12:54:03 +05:00
.github/workflows upgrade codeql definition to the latest versio 2024-11-13 15:52:00 +05:00
Clients minor code cleanup 2024-11-14 07:13:58 +05:00
CompatBot use new Lock type for explicit synchronization 2024-11-13 14:04:54 +05:00
ExternalAnnotations update code with new language and api features 2023-04-21 02:05:59 +05:00
HomoglyphConverter upgrade solution to net9.0 2024-11-13 13:43:33 +05:00
SourceGenerators update 3rd party packages 2024-10-15 17:48:51 +05:00
Tests another package update 2024-11-14 06:59:42 +05:00
.dockerignore better azure pipelines integration and building docker image 2019-09-19 23:32:05 +05:00
.gitattributes RPCS3 Compatibility Bot reimplemented in C# for .NET Core 2018-07-20 09:22:28 +02:00
.gitignore cirrus-ci client 2021-04-14 00:19:55 +05:00
architecture.md some docs 2019-04-01 22:52:27 +05:00
CONTRIBUTING.md upgrade solution to net9.0 2024-11-13 13:43:33 +05:00
discord-bot-net.sln remove dummy cirrus-ci build config 2023-09-19 12:44:41 +05:00
discord-bot-net.sln.DotSettings update code with new language and api features 2023-04-21 02:05:59 +05:00
docker-compose.example.yml fml 2019-10-26 18:37:16 +05:00
Dockerfile upgrade solution to net9.0 2024-11-13 13:43:33 +05:00
fortunes_fortuneandframe.txt imported fortunes from fortuneandframe.com 2021-05-12 22:11:15 +05:00
fortunes.txt Update fortunes.txt 2021-03-09 12:40:43 -07:00
get-names_anidb.ps1 this should reduce number of requests for full run 2022-12-03 15:37:02 +05:00
get-names_anilist.ps1 this should reduce number of requests for full run 2022-12-03 15:37:02 +05:00
LICENSE RPCS3 Compatibility Bot reimplemented in C# for .NET Core 2018-07-20 09:22:28 +02:00
metacritic_ps3.json tweak mc import to cover all available games 2020-04-03 21:02:55 +05:00
names_anidb.txt update anime name lists 2022-12-03 15:26:59 +05:00
names_anilist.txt update anime name lists 2022-12-03 15:26:59 +05:00
names_anime.txt it's anime time for every rule breaker 2021-03-09 16:46:31 +05:00
nuget.config clean up and update 3rd party deps 2022-06-20 16:12:56 +05:00
README.md upgrade solution to net9.0 2024-11-13 13:43:33 +05:00
SECURITY.md Create SECURITY.md 2019-06-05 23:48:49 +05:00
win32_error_codes_v22.0.txt update win32 error codes 2022-12-05 13:31:02 +05:00

RPCS3 Compatibility Bot

Build Status RPCS3 discord server

This is a tech support / moderation / crowd entertainment bot for the RPCS3 discord server.

You can read the design and implementation notes by visiting the folders in the web interface, or from the architecture overview notes.

Development Requirements

Runtime Requirements

  • .NET 9.0 SDK or newer to run from sources
    • bot needs dotnet command to be available (i.e. alias for the Snap package)
  • Optionally Google API credentials to access Google Drive:
    • Create new project in the Google Cloud Resource Manager
    • Select the project and enable Google Drive API
    • Open API & Services Credentials
    • Create new credentials:
      • Service account credentials
      • New service account
        • if you select an existing account, new credentials will be generated in addition to previous any ones
      • Role Project > Viewer
      • Key type JSON
      • Create will generate a configuration file
    • Save said configuration file as credentials.json in user secrets folder
      • e.g on Linux this will be ~/.microsoft/usersecrets/c2e6548b-b215-4a18-a010-958ef294b310/credentials.json

How to Build

  • Change configuration for test server in CompatBot/Properties/launchSettings.json
  • Note that token could be set in the settings or supplied as a launch argument (higher priority)
  • If you've changed the database model, add a migration
    • $ dotnet tool install --global dotnet-ef (if you have never installed the tools before)
    • $ cd CompatBot
    • $ dotnet ef migrations add -c [BotDb|ThumbnailDb] MigrationName
    • $ cd ..
  • $ cd CompatBot
  • $ dotnet run [token]

How to Run in Production

Running from source

  • Change configuration if needed (probably just token):
    • use $ dotnet user-secrets set Token <your_token_here>
    • for available configuration variables, see Config.cs
  • Put bot.db in CompatBot/ if you have one
  • $ cd CompatBot
  • $ dotnet run -c Release

Running with Docker

  • Official image is hosted on Docker Hub.
  • You should pull images tagged with release-latest (same thing as latest)
  • Please take a look at the docker-compose.yml for required configuration (bot token and mounting points for persistent data).

External resources that need manual updates