With BD/SP on the horizon, the question of "how will SysBot.NET support the new games" has to be addressed. There are two options:
Have distinct hardcoded abstractions separate for each environment PKM format.
Have generic abstractions that can be used regardless of the environment's PKM format.
Since we want to be able to backport improvements & future communication protocols like Atmosphere's tma, we have chosen option 2 to keep the codebase as consistent and feature-rich as possible.
Notable changes:
Hardcoded PK8 references are now generic for PKM, including Discord command modules & Twitch command parsing.
Updated exception handling to allow bots to crash gracefully and be recovered from.
Updated features to allow for latest sys-botbase supported commands such as turning off the screen.
Updated role & channel whitelisting for easier maintenance and records.
Changed some Bot logic flows to allow for overriding behavior for specialized trade bots / encounter bots.
Added automatic blocking of players when trading by detecting their online-ID and checking if they are using multiple accounts to bypass queue orders / evade bans
Added extra logging for recording only certain events to a file (such as completed trades).
Added automatic turning off of the screen to reduce power consumption.
This is a lot of changes -- forks may have difficulty following the main branch updates if they do not update to follow the latest design.
Configuration File
Migrating saved configuration details is required:
New settings were added.
Role/channel whitelisting was changed from string->object.
Routine Complete count tracking was decentralized into the individual bot settings objects.
It is advised to make a copy of your config, then delete the channel/role whitelisting. Once the config has been updated by running & closing the program, copy over your Routine Complete values if you care about keeping them. Then, reconfigure your role/channel settings.
Closing:
This pull request will be merged in whenever the next PKHeX.Core update is posted, to synchronize the two releases. When future game features are more well known, there may be more abstraction required for trading users, as not all games use 8 digit trade codes.
The wiki has already been updated to reflect these changes.
Preface
With BD/SP on the horizon, the question of "how will SysBot.NET support the new games" has to be addressed. There are two options:
Since we want to be able to backport improvements & future communication protocols like Atmosphere's
tma
, we have chosen option 2 to keep the codebase as consistent and feature-rich as possible.Notable changes:
PK8
references are now generic forPKM
, including Discord command modules & Twitch command parsing.This is a lot of changes -- forks may have difficulty following the main branch updates if they do not update to follow the latest design.
Configuration File
Migrating saved configuration details is required:
It is advised to make a copy of your config, then delete the channel/role whitelisting. Once the config has been updated by running & closing the program, copy over your Routine Complete values if you care about keeping them. Then, reconfigure your role/channel settings.
Closing:
This pull request will be merged in whenever the next PKHeX.Core update is posted, to synchronize the two releases. When future game features are more well known, there may be more abstraction required for trading users, as not all games use 8 digit trade codes.
The wiki has already been updated to reflect these changes.