public override async Task HandleRawdataAsync(IDanmakuClient client, JsonElement rawdata) { if (TryResolveParsers(in rawdata, out var parsers)) { foreach (var parser in parsers !) { if (parser.CanParse(in rawdata)) { IBilibiliMessage message = (IBilibiliMessage)parser.Parse(in rawdata); if (message is BilibiliMessage bm) { bm.RoomId = client.RoomId; } if (TryResolveSubscription(parser.MessageType, out IBilibiliMessageSubscription? subscription)) { await subscription !.HandleMessage(client, message); } } } } }
public Task HandleMessage(IDanmakuClient client, IBilibiliMessage message) { return(base.HandleMessage(client, (TMessage)message)); }
public virtual Task HandleMessage(IDanmakuClient client, IBilibiliMessage message) { return(base.HandleMessage(client, message)); }