private static void SocketReceivedDanmaku(object sender, SocketReceivedDanmakuArgs e) { switch (e.Danmaku.Type) { case BilibiliLiveDanmaku_SocketReceiveDataType.LiveStart: Common.AppData.CQLog.InfoReceive("Bilibili Live Danmaku", $"[Room {e.RoomID}] 直播开始"); break; case BilibiliLiveDanmaku_SocketReceiveDataType.LiveEnd: Common.AppData.CQLog.InfoReceive("Bilibili Live Danmaku", $"[Room {e.RoomID}] 直播结束"); break; case BilibiliLiveDanmaku_SocketReceiveDataType.Comment: Common.AppData.CQLog.InfoReceive("Bilibili Live Danmaku", $"[Room {e.RoomID}] {e.Danmaku.UserName}:{e.Danmaku.CommentText}"); break; case BilibiliLiveDanmaku_SocketReceiveDataType.GiftSend: Common.AppData.CQLog.InfoReceive("Bilibili Live Danmaku", $"[Room {e.RoomID}] {e.Danmaku.UserName} 赠送了 {e.Danmaku.GiftCount} 个 {e.Danmaku.GiftName}"); break; } LuaStates.Run("Bilibili Live Danmaku", "ReceivedDanmaku", new { e.RoomID, e.Danmaku }); }
private static void SocketReceivedUserCount(object sender, SocketReceivedUserCountArgs e) { LuaStates.Run("Bilibili Live Danmaku", "ReceivedUserCount", new { e.RoomID, e.UserCount }); }
private static void SocketConnected(object sender, SocketConnectedArgs e) { Common.AppData.CQLog.Info("Bilibili Live Danmaku", $"[Room {e.RoomID}] 已连接"); LuaStates.Run("Bilibili Live Danmaku", "SocketConnected", new { e.RoomID }); }
private static void SocketLogMessage(object sender, SocketLogMessageArgs e) { Common.AppData.CQLog.Info("Bilibili Live Danmaku", $"[Room {e.RoomID}] {e.Message}"); LuaStates.Run("Bilibili Live Danmaku", "SocketLogMessage", new { e.RoomID, e.Message }); }
private static void SocketDisconnected(object sender, SocketDisconnectedArgs e) { if (e.ByError) { Common.AppData.CQLog.Error("Bilibili Live Danmaku", $"Error from {e.RoomID}: {e.Error.Message}"); } Common.AppData.CQLog.Info("Bilibili Live Danmaku", $"[Room {e.RoomID}] 已断开连接"); LuaStates.Run("Bilibili Live Danmaku", "SocketDisonnected", new { e.RoomID, e.ByError, e.Error }); }
private static void SocketReceivedDanmaku(object sender, SocketReceivedDanmakuArgs e) { switch (e.Danmaku.Type) { case BilibiliLiveDanmaku_SocketReceiveDataType.LiveStart: Common.AppData.CQLog.InfoReceive("Bilibili Live Danmaku", $"[Room {e.RoomID}] 直播开始"); break; case BilibiliLiveDanmaku_SocketReceiveDataType.LiveEnd: Common.AppData.CQLog.InfoReceive("Bilibili Live Danmaku", $"[Room {e.RoomID}] 直播结束"); break; case BilibiliLiveDanmaku_SocketReceiveDataType.Comment: Common.AppData.CQLog.InfoReceive("Bilibili Live Danmaku", $"[Room {e.RoomID}] {e.Danmaku.UserName}:{e.Danmaku.CommentText}"); break; case BilibiliLiveDanmaku_SocketReceiveDataType.GiftSend: Common.AppData.CQLog.InfoReceive("Bilibili Live Danmaku", $"[Room {e.RoomID}] {e.Danmaku.UserName} 赠送了 {e.Danmaku.GiftCount} 个 {e.Danmaku.GiftName}"); break; case BilibiliLiveDanmaku_SocketReceiveDataType.GuardBuy: string type = e.Danmaku.UserGuardLevel switch { 1 => "总督", 2 => "提督", 3 => "舰长", _ => "非船员", }; Common.AppData.CQLog.InfoReceive("Bilibili Live Danmaku", $"[Room {e.RoomID}] {e.Danmaku.UserName} 赠送了 {e.Danmaku.GiftCount} 个月 {type}"); break; case BilibiliLiveDanmaku_SocketReceiveDataType.SuperChat: Common.AppData.CQLog.InfoReceive("Bilibili Live Danmaku", $"[Room {e.RoomID}][SuperChat][${e.Danmaku.Price}] {e.Danmaku.UserName}:{e.Danmaku.CommentText}"); break; } LuaStates.Run("Bilibili Live Danmaku", "ReceivedDanmaku", new { e.RoomID, e.Danmaku }); }