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.
- .NET 7.0 SDK or newer
- Any text editor, but here are some recommends:
- Visual Studio (Windows and Mac only, has free Community edition)
- Visual Studio Code (cross-platform, free)
- JetBrains Rider (cross-platform)
- .NET 7.0 SDK or newer to run from sources
- bot needs
dotnet
command to be available (i.e. alias for the Snap package)
- bot needs
- 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
- e.g on Linux this will be
- 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]
- Change configuration if needed (probably just token):
- use
$ dotnet user-secrets set Token <your_token_here>
- for available configuration variables, see Config.cs
- use
- Put
bot.db
inCompatBot/
if you have one $ cd CompatBot
$ dotnet run -c Release
- Official image is hosted on Docker Hub.
- You should pull images tagged with
release-latest
(same thing aslatest
) - Please take a look at the docker-compose.yml for required configuration (bot token and mounting points for persistent data).
- Unicode Confusables, for Homoglyph checks
- Windows Error Codes, for error decoding on non-Windows host
- Optionally pool of names (one name per line), files named as
names_<category>.txt