• C# 94.3%
  • Lua 5.3%
  • Shell 0.4%
Find a file
2026-09-29 12:01:59 +00:00
.github update checkout actions to v4 2025-04-08 23:15:50 +02:00
scripts fix inverted condition in perform_mongodb_backup.sh 2025-06-27 22:21:11 +02:00
tests test: fail on duplicate species names in pokemon_names.csv 2026-09-28 17:10:17 +02:00
TPP.ArgsParsing update nodatime from 3.2.0 to 3.3.0 2026-01-13 20:49:05 +01:00
TPP.Common Add 'Ghost Grey' emblem 2026-09-26 17:15:53 +00:00
TPP.Core Added missing Ghost Grey badges 2026-09-29 12:01:59 +00:00
TPP.Inputting use some more pattern matching 2025-04-05 18:00:19 +02:00
TPP.Match update logging libraries to latest 2026-01-13 20:49:59 +01:00
TPP.Model update nodatime from 3.2.0 to 3.3.0 2026-01-13 20:49:05 +01:00
TPP.Persistence update nodatime from 3.2.0 to 3.3.0 2026-01-13 20:49:05 +01:00
TPP.Persistence.MongoDB Bump MongoDB.Driver from 3.5.0 to 3.5.2 2025-12-18 21:36:42 +01:00
TPP.Twitch.EventSub fix GIF messages failing to parse 2026-09-20 20:01:21 +02:00
.editorconfig add twitch EventSub message parsing facility 2024-02-20 17:43:58 +01:00
.gitattributes fix some formatting rules 2020-07-11 15:24:15 +02:00
.gitignore add venv* to gitignore 2021-05-31 18:19:10 +02:00
Directory.Build.props update to dotnet 8 (#387) 2024-01-29 07:57:12 +00:00
history.md Start over 2019-10-01 20:50:52 -03:00
LICENSE.txt Start over 2019-10-01 20:50:52 -03:00
README.md update to dotnet 8 (#387) 2024-01-29 07:57:12 +00:00
tpp-core.sln add twitch EventSub message parsing facility 2024-02-20 17:43:58 +01:00

This is a rewrite of the backbone that runs TwitchPlaysPokemon. It is replacing the old closed-source Python core with the goal for improved maintainability and accessability to new contributors. The scope encompasses, but is not limited to:

  • Managing persistent data
  • Connecting to Twitch Chat and handling all interactions (e.g. commands, modbot, announcements)
  • Processing inputs during runs ("runmode")
  • Driving the "match loop" during betting periods ("matchmode")
  • Driving the overlay you see on stream
  • Driving external programs like emulators

This code is already running live on-stream in 'dual-core' mode, with all features that are not re-implemented here yet still being taken care of by the old python core. Porting features over is an ongoing process.

requirements

run

The executable project is located at TPP.Core. See its readme for further instructions.

run tests

  • dotnet test runs all tests
  • dotnet test --filter TestCategory!=IntegrationTest skips tests that have preconditions or are slow