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.
- Cookie
- 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
Cookiesin 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
Cookieclass. Because theCookieclass 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.