Beispiel #1
0
 public void SendPrivateMessage(long robotQQ, long fromGroup, long fromQQ, string message)
 {
     if (fromGroup == -1)
     {
         QMApi.SendFriendMessage(robotQQ, fromQQ, message);
     }
     else
     {
         QMApi.SendGroupTempMessage(robotQQ, fromGroup, fromQQ, message);
     }
 }
Beispiel #2
0
 /// <summary>
 /// 启动事件
 /// </summary>
 public override void OnInitialize()
 {
     Config.path = QMApi.GetPluginDataDirectory();
     if (Config.Get("config.ini", "all", "robot", "") != "")
     {
         enable = true;
     }
     Genshin.Start();
     Tieba.Start();
     Manga.Start();
 }
Beispiel #3
0
        public override QMEventHandlerTypes OnReceiveFriendMessage(QMPrivateMessageEventArgs e)
        {
            if (MainSave.AppConfig.Object["接口"]["Private"].GetValueOrDefault(0) is 0)
            {
                return(QMEventHandlerTypes.Continue);
            }
            FunctionResult result = new FunctionResult();

            if (result.SendFlag)
            {
                foreach (var item in result.SendObject)
                {
                    QQ DestFriend = new QQ(item.SendID);
                    foreach (var sendMsg in item.MsgToSend)
                    {
                        QMApi.SendFriendMessage(e.RobotQQ, DestFriend, sendMsg);
                    }
                }
            }
            return(result.result);
        }
Beispiel #4
0
        public override QMEventHandlerTypes OnReceiveGroupMessage(QMGroupMessageEventArgs e)
        {
            if (!LastMessages.ContainsKey(e.FromGroup.Id))
            {
                LastMessages.Add(e.FromGroup.Id, new Tuple <long, string>(e.FromQQ.Id, e.Message.Text));
            }
            else
            {
                LastMessages[e.FromGroup.Id] = new Tuple <long, string>(e.FromQQ.Id, e.Message.Text);
            }

            if (!MessageSenders.ContainsKey(e.FromGroup.Id))
            {
                MessageSenders[e.FromGroup.Id] = new HashSet <long>();
            }

            MessageSenders[e.FromGroup.Id].Add(e.FromQQ.Id);

            if (!RepeatedMessages.ContainsKey(e.FromGroup.Id))
            {
                RepeatedMessages.Add(e.FromGroup.Id, null);
            }

            if (RepeatedMessages[e.FromGroup.Id] != null && e.Message.Text == RepeatedMessages[e.FromGroup.Id])
            {
                MessageSenders[e.FromGroup.Id].Clear();
                return(QMEventHandlerTypes.Continue);
            }

            if (MessageSenders[e.FromGroup.Id].Count >= 3)
            {
                QMApi.SendGroupMessage(e.RobotQQ, e.FromGroup, e.Message.Text);
                RepeatedMessages[e.FromGroup.Id] = e.Message.Text;
                MessageSenders[e.FromGroup.Id].Clear();
            }

            return(QMEventHandlerTypes.Continue);
        }
Beispiel #5
0
        public override QMEventHandlerTypes OnReceiveGroupMessage(QMGroupMessageEventArgs e)
        {
            if (MainSave.AppConfig.Object["接口"]["Group"].GetValueOrDefault(0) is 0)
            {
                bool flag = false;
                for (int i = 0; i < MainSave.AppConfig.Object["群控"]["Count"].GetValueOrDefault(0); i++)
                {
                    if (e.FromGroup.Id == MainSave.AppConfig.Object["群控"][$"Item{i}"].GetValueOrDefault(0))
                    {
                        flag = true;
                        break;
                    }
                }
                if (flag is false)
                {
                    return(QMEventHandlerTypes.Continue);
                }
            }
            FunctionResult result = Event_GroupMessage.GroupMessage(e);

            if (result.SendFlag)
            {
                if (result.SendObject == null)
                {
                    return(QMEventHandlerTypes.Continue);
                }
                foreach (var item in result.SendObject)
                {
                    Group DestGroup = new Group(item.SendID);
                    foreach (var sendMsg in item.MsgToSend)
                    {
                        QMApi.SendGroupMessage(e.RobotQQ, DestGroup, sendMsg);
                    }
                }
            }
            return(result.result);
        }