Exemple #1
0
        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
            });
        }
Exemple #2
0
 private static void SocketReceivedUserCount(object sender, SocketReceivedUserCountArgs e)
 {
     LuaStates.Run("Bilibili Live Danmaku", "ReceivedUserCount", new
     {
         e.RoomID,
         e.UserCount
     });
 }
Exemple #3
0
 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
     });
 }
Exemple #4
0
 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
     });
 }
Exemple #5
0
 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
     });
 }
Exemple #6
0
        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
            });
        }
Exemple #7
0
 public void CQExit(object sender, CQExitEventArgs e)
 {
     LuaStates.Clear();
     TcpServer.Stop();
 }
Exemple #8
0
 public void AppDisable(object sender, CQAppDisableEventArgs e)
 {
     LuaStates.Clear();
     TcpServer.Stop();
 }