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 9.0 SDK or newer
 - Any text editor, but here are some recommends:
- Visual Studio (Windows, has free Community edition)
 - Visual Studio Code (cross-platform, free)
 - JetBrains Rider (cross-platform, free for Non-Commercial use)
 
 
- .NET 9.0 SDK or newer to run from sources
- Bot needs 
dotnetcommand to be available (i.e. alias for the Snap package) - OCR on Linux requires the following dependencies to be installed: 
libarchive.so.13,liblept.so.5,libtiff.so.5- On Ubuntu 24.04 this is provided by the following packages:
sudo apt install libarchive13t64 liblept5 wget https://archive.ubuntu.com/ubuntu/pool/main/t/tiff/libtiff5_4.3.0-6_amd64.deb sudo dpkg -i ./libtiff5_4.3.0-6_amd64.deb
 
 - On Ubuntu 24.04 this is provided by the following packages:
 
 - 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.jsonin 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.dbinCompatBot/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
 - CPU Tier List, for CPU model ranking
 - Optionally pool of names (one name per line), files named as 
names_<category>.txt 
