Example #1
0
 private void sendPrivateMessage(DouyuData data, string qq)
 {
     using (IRobotSession robotSession = MahuaRobotManager.Instance.CreateSession())
     {
         IMahuaApi api = robotSession.MahuaApi;
         api.SendPrivateMessage(qq, getOnlineMessage(data));
         return;
     }
 }
Example #2
0
 protected override int getDataRoomStatus(string room)
 {
     dataTemp = getJson(room);
     if (dataTemp == null)
     {
         return((int)LivingStatus.ERROR);
     }
     return(int.Parse(dataTemp.room_status));
 }
Example #3
0
    private string getOnlineMessage(DouyuData data) //获取发送消息格式
    {
        string msg = "主播[" + data.owner_name + "]开播啦!" +
                     (data.room_id == 6655 ? "(爽粉们米缸开啦!)" : "") +
                     (data.room_id == 3484 ? "孙一峰永远是我大哥!" : "") +
                     "\n直播间地址:https://www.douyu.com/" + data.room_id.ToString();

        return(msg);
    }
Example #4
0
    public override string getOwnerName(string room)
    {
        DouyuData data = getJson(room);

        if (data == null)
        {
            return("");
        }
        return(data.owner_name);
    }
Example #5
0
    public int getStatus(string room)
    {
        DouyuData temp = getJson(room);

        if (temp == null)
        {
            return(2);
        }
        return(temp.room_status);
    }
Example #6
0
    public string getOwner(string room)
    {
        DouyuData temp = getJson(room);

        if (temp == null)
        {
            return("");
        }
        return(temp.owner_name);
    }
Example #7
0
    private void checkStatus()
    {
        while (running)
        {
            string[] rooms = SQLiteManager.getInstance().getRooms();
            foreach (string i in rooms)
            {
                DouyuData status = getJson(i);
                if (status == null)
                {
                    break;
                }

                if (SQLiteManager.getInstance().getLiveStatus(i) != status.room_status)
                {
                    SQLiteManager.getInstance().setLiveStatus(i, status.room_status);
                    if (status.room_status == 1)                                       //正在直播
                    {
                        string[] users = SQLiteManager.getInstance().getUserByRoom(i); //获取所有订阅用户并发送消息
                        foreach (string j in users)
                        {
                            sendPrivateMessage(status, j);
                        }

                        string[] groups = SQLiteManager.getInstance().getGroupByRoom(i); //获取所有订阅群组并发送消息
                        foreach (string k in groups)
                        {
                            sendGroupMessage(status, k);
                        }
                    }
                    else     //已下播
                    //if (status.room_id == 907992) sendDebugMessage("当前房间状态: " + status.room_status);
                    {
                    }
                }
            }
            Thread.Sleep(3000);
        }
    }