techno_kitchen_dart library

SDGB API Dart implementation.

This library defaults to the latest known configuration for the SDGB API. You can also create a custom client to support different games or configurations.

Classes

AESPKCS7
Provides AES encryption and decryption using CBC mode with manual PKCS7 padding.
ArcadeInfo
Arcade information model for SDGB API.
Config
Configuration class that encapsulates all settings for the SDGB API.
Representation of a cookie. For cookies received by the server as Cookie header values only name and value properties will be set. When building a cookie for the 'set-cookie' header in the server and when receiving cookies in the client as 'set-cookie' headers all fields can be used.
CookieJar
CookieJar is a cookie container and manager for HTTP requests.
DefaultCookieJar
DefaultCookieJar is a default cookie manager which implements the standard cookie policy declared in RFC.
FileStorage
Persist Cookies in the host file storage.
LoginResult
MusicData
Music data model for SDGB API.
PersistCookieJar
PersistCookieJar is a cookie manager which implements the standard cookie policy declared in RFC. PersistCookieJar persists the cookies in files, if the application exit, the cookies always exist unless user explicitly called delete.
PlayerData
RequestAdapter
Request adapter for API parameters and encryption settings.
SerializableCookie
This class is a wrapper for Cookie class. Because the Cookie class doesn't support Json serialization, for the sake of persistence, we use this class instead of it.
Storage
The storage concept to persist cookies.
TechnoKitchen
Main entry point for interacting with the SDGB API.
TechnoKitchenClient
A client for interacting with the SDGB API, including CHIME QR code authentication and secure game data communication.
UserData
UserPreview
Represents a user preview response from the GetUserPreviewApi.
UserSession
Represents a user session for interacting with the SDGB API.
WebCookieJar
A WebCookieJar will do nothing to handle cookies since they are already handled by XHRs.

Functions

getHashApi(String api, String text, String obfuscateParam) String
Generates an MD5 hash for the given API request components.
loginResultFromJson(String str) LoginResult
loginResultToJson(LoginResult data) String
playerDataFromJson(String str) PlayerData
playerDataToJson(PlayerData data) String
userPreviewFromJson(String str) UserPreview
userPreviewToJson(UserPreview data) String

Exceptions / Errors

NotInitializedException
Exception thrown when an operation requires the session to be initialized but it hasn't been initialized yet.
NotLoggedInException
Exception thrown when an operation requires the session to be logged in but it hasn't been logged in yet.
QRCodeExpiredException
Exception thrown when the QR code has expired (exceeded 10 minutes).
SessionExpiredException
Exception thrown when the session has expired (exceeded 20 minutes).
SessionInvalidatedException
Exception thrown when the session has been invalidated (logged out).
UserBannedException
Exception thrown when the account cannot log in due to its ban state.