kicksdk (Dart and Flutter)
Kick (kick.com) without the I/O: requests, response parsers, the realtime chat
protocol and webhook verification, from the
kicksdk Rust core, through
dart:ffi.
import 'package:kicksdk/io.dart';
final chat = connectChat(
chatroomId: chatroomId,
channelId: channelId,
onEvent: (e) {
final event = e['event'];
if (event['type'] == 'chat_message') print('${event['sender']['username']}: ${event['content']}');
},
);
// later: chat.close();
package:kicksdk/kicksdk.dart has the rest, without dart:io:
Website.channelRequest / parseChannel, PublicApi.livestreamsRequests,
Realtime and Session, Events.parse, Webhooks.verify, … Requests are
KickRequests for any HTTP client; errors are KickException with kind
and status.
The native library. The package's build hook downloads it, precompiled,
from the GitHub release matching the package version, for Linux, macOS,
Windows (x64, arm64), Android (arm64, arm, x64) and iOS (device and
simulator), and checks it against the SHA-256 published with the package. On
any other target, if the download fails, or when asked to, it builds it from
the Rust sources shipped in the package, which needs a Rust toolchain
(rustup target add <triple>):
# your app's pubspec.yaml
hooks:
user_defines:
kicksdk:
build_from_source: true # always build
# binary_base_url: https://… # a mirror of the release assets
Kick's realtime server only accepts Origin: https://kick.com; connectChat
sends it. MIT OR Apache-2.0. Not affiliated with Kick.
Libraries
- io
- connectChat: Kick's chat feed over
dart:io's HttpClient and WebSocket. - kicksdk
- Kick (kick.com) without the I/O: requests, parsers, the realtime chat protocol and webhook verification, from kicksdk's Rust core.