-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Labels
Description
Misskeyのストリーミングを購読する機能を実装する
基本
現在調整中のため、たびたびAPIが変わる可能性がある
// Misskey mi;
var cid = Guid.NewGuid().ToString();
var st = mi.OpenStreaming();
// 受信
st.Received += (StreamingResponse res) =>
{
if (res.Type == "channel" && res.Raw["body"] is Dictionary<string, object> body && body["id"] == cid && body["note"] is Dictionary<string, object> note)
{
Console.WriteLine(note["text"] ?? "null");
}
};
// 購読
await st.SendAsync("connect", new
{
id = cid,
channel = "hybridTimeline",
});
// WSを切断するときは次のように
st.Dispose();拡張
いくつかのシナリオで使いやすいようヘルパーイベントがある
var st = mi.OpenStreaming(); // StreamingContext
// チャンネル接続
var main = st.ConnectChannel("main"); // ChannelStreamingContext
var tl = st.ConnectChannel("timeline"); // ChannelStreamingContext
// チャンネル接続解除
main.Dispose();
tl.Dispose();