public void ProcessFriendMessage(PrivateMessageFromFriendReceivedContext context)
        {
            // todo 填充处理逻辑
            // 戳一戳
            _mahuaApi.SendPrivateMessage(context.FromQq)
            .Shake()
            .Done();

            var text = (string)HttpUtil.getRequest("https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=webClient&oq=%25E9%2585%25B7Q&rsv_pq=fc6735c100016728&rsv_t=f98e4FBjAbOPAuiNKru1GtR2JHdAl0PJ1PT8D%2BKxtwA3VR8EP24z1XXo3OU&rqlang=cn&rsv_enter=1&inputT=4494&rsv_sug3=15&rsv_sug1=14&rsv_sug7=100&rsv_n=2&rsv_sug2=0&rsv_sug4=5179", "utf-8", "utf-8");

            // 嘤嘤嘤,换行,重复消息
            _mahuaApi.SendPrivateMessage(context.FromQq)
            .Text("我是机器人:\r\n" + text)
            .Newline()
            .Text(context.Message)
            .Done();


            // 异步发送消息,不能使用 _mahuaApi 实例,需要另外开启Session
            Task.Factory.StartNew(() =>
            {
                using (var robotSession = MahuaRobotManager.Instance.CreateSession())
                {
                    var api = robotSession.MahuaApi;
                    api.SendPrivateMessage(context.FromQq, "芝麻");
                    //var tex2t = (string)HttpUtil.getRequest("http://demo.zentao.net/api-getsessionid.json", "utf-8", "utf-8");
                    Task.Delay(5000).Wait();
                    //api.SendPrivateMessage(context.FromQq, tex2t+"开门");
                    //api.SendPrivateMessage(context.FromQq, text);
                }
            });

            // 不要忘记在MahuaModule中注册
        }
        public void ProcessFriendMessage(PrivateMessageFromFriendReceivedContext context)
        {
            // 戳一戳
            _mahuaApi.SendPrivateMessage(context.FromQq)
            .Shake()
            .Done();
            // 嘤嘤嘤
            _mahuaApi.SendPrivateMessage(context.FromQq)
            .Text("嘤嘤嘤:")
            .Newline()
            .Text(context.Message)
            .Done();

            // 将好友信息会发给好友
            _mahuaApi.SendPrivateMessage(context.FromQq, context.Message);

            _mahuaApi.SendPrivateMessage(context.FromQq)
            .Image(@"D:\logo.png")
            .Done();

            // 异步发送消息,不能使用 _mahuaApi 实例,需要另外开启Session
            Task.Factory.StartNew(() =>
            {
                using (var robotSession = MahuaRobotManager.Instance.CreateSession())
                {
                    var api = robotSession.MahuaApi;
                    api.SendPrivateMessage(context.FromQq, "异步的嘤嘤嘤");
                }
            });
        }
Пример #3
0
 public void ProcessFriendMessage(PrivateMessageFromFriendReceivedContext context)
 {
     if (context.Message.Contains("嬲"))
     {
         bool     flag = false;
         TimeSpan time = DateTime.Now - Helper.dateTimeCD;
         flag = time.TotalSeconds > Helper.timeCD;
         if (flag)
         {
             string imageUrl = Helper.GetPath();
             if (imageUrl == null)
             {
                 _mahuaApi.SendPrivateMessage(context.FromQq).Text("正在获取最新图片").Done();
             }
             else
             {
                 Helper.dateTimeCD = DateTime.Now;
                 _mahuaApi.SendPrivateMessage(context.FromQq).Image(imageUrl).Done();
                 System.GC.Collect();
             }
         }
         else
         {
             _mahuaApi.SendPrivateMessage(context.FromQq).Text(string.Format("正在冷却,剩余{0}秒", ((int)(Helper.timeCD - time.TotalSeconds)).ToString())).Done();
         }
     }
 }
 public override void ProcessRequset(GroupMessageReceivedContext msg, AnalysisMsg nowModel)
 {
     if (Config.ConfigModel.IsFuncOpen("建议"))
     {
         if (nowModel.What == "建议")
         {
             _mahuaApi.SendPrivateMessage(Config.ConfigModel.MasterQQ).Text($"来自群{msg.FromGroup}的{msg.FromQq}:{nowModel.Who} {nowModel.How}").Done();
             return;
         }
     }
     successor.ProcessRequset(msg, nowModel);
 }
Пример #5
0
 public override void ProcessRequset(PrivateMessageFromFriendReceivedContext msg, AnalysisMsg nowModel)
 {
     if (Config.ConfigModel.IsFuncOpen("个人菜单"))
     {
         if (msg.Message.Trim() == "菜单")
         {
             _mahuaApi.SendPrivateMessage(msg.FromQq).Text(Config.ConfigModel.PrivateMenuStr).Done();
             _mahuaApi.SendPrivateMessage(msg.FromQq).Text(CQCode.SendLink("小T完全手册", CQCode.GetQQHead(_mahuaApi.GetLoginQq()), "小T操作手册:最新最全的小T使用攻略", "https://traceless.site/index.php/archives/62/")).Done();
             return;
         }
     }
     successor.ProcessRequset(msg, nowModel);
 }
Пример #6
0
        public void HandleException(ExceptionOccuredContext context)
        {
            // todo 填充处理逻辑
            if (ConfigManager.larkBotConfig == null)
            {
                _mahuaApi.SendPrivateMessage("821113542", context.Exception.ToString());
            }
            else
            {
                _mahuaApi.SendPrivateMessage(ConfigManager.larkBotConfig.AdminQQ, context.Exception.ToString());
            }

            // 不要忘记在MahuaModule中注册
        }
Пример #7
0
        private void CheckMorningPaper()
        {
            var reMesg = _pmtownService.GetMorningPapaer().Result;

            if (lastMorningPaper == null)
            {
                lastMorningPaper = reMesg;
            }
            else if (!reMesg.Substring(0, 24).Equals(lastMorningPaper.Substring(0, 24)))
            {
                lastMorningPaper = reMesg;
            }
            else
            {
                reMesg = null;
            }

            if (reMesg != null)
            {
                foreach (var group in ConfigManager.pushNewsConfig.MorningPaperPushGroupList)
                {
                    _mahuaApi.SendGroupMessage(group, reMesg + "\n第" + morningPaperSendCount + "天推送消息");
                }
                foreach (var group in ConfigManager.pushNewsConfig.MorningPaperPushPrivateList)
                {
                    _mahuaApi.SendPrivateMessage(group, reMesg + "\n第" + morningPaperSendCount + "天推送消息");
                }
            }
            morningPaperSendCount++;
        }
Пример #8
0
        public TimerEvent(IMahuaApi api)
        {
            _api   = api;
            _timer = new Timer(100);
            var timer = _timer;

            timer.Elapsed += (sender, args) =>
            {
                foreach (var desk in Desk.GetDesks())
                {
                    if (desk.Message != null)
                    {
                        var msg = desk.Message;
                        desk.ClearMessage();
                        _api.SendGroupMessage(desk.DeskId, msg);
                    }

                    foreach (var player in desk.Players.Where(player => player.Message != null))
                    {
                        var msg = player.Message;
                        player.ClearMessage();
                        _api.SendPrivateMessage(player.PlayerId, msg);
                    }
                }
            };
        }
Пример #9
0
        public override void ProcessRequset(PrivateMessageFromFriendReceivedContext msg, AnalysisMsg nowModel)
        {
            if (msg.FromQq == Config.ConfigModel.MasterQQ)
            {
                if (nowModel.What == "反馈")
                {
                    _mahuaApi.SendGroupMessage(nowModel.Who).Text($"{nowModel.How}").Newline().Text("[来自作者的反馈]").Done();
                    return;
                }
                if (nowModel.What == "个人反馈")
                {
                    _mahuaApi.SendPrivateMessage(nowModel.Who).Text($"{nowModel.How}").Newline().Text("[来自作者的反馈]").Done();
                    return;
                }

                if (nowModel.What == "设日常")
                {
                    Config.DefaltItem = new WeiBoContentItem
                    {
                        Author     = "帅气的作者手动创建",
                        Time       = Convert.ToDateTime(nowModel.Who),
                        ContentStr = nowModel.How,
                        Pic        = @"https://traceless.site/"
                    };
                }
            }

            successor.ProcessRequset(msg, nowModel);
        }
 public void ProcessFriendMessage(PrivateMessageFromFriendReceivedContext context)
 {
     if (context.Message?.Contains("收到回复") == true)
     {
         var msg = context.Message.Replace("收到回复", string.Empty);
         _mahuaApi.SendPrivateMessage(context.FromQq, msg);
     }
 }
Пример #11
0
 private void sendDebugMessage(string msg) //测试用信息
 {
     using (IRobotSession robotSession = MahuaRobotManager.Instance.CreateSession())
     {
         IMahuaApi api = robotSession.MahuaApi;
         api.SendPrivateMessage("123456789", msg);
         return;
     }
 }
Пример #12
0
 private void sendPrivateMessage(DouyuData data, string qq)
 {
     using (IRobotSession robotSession = MahuaRobotManager.Instance.CreateSession())
     {
         IMahuaApi api = robotSession.MahuaApi;
         api.SendPrivateMessage(qq, getOnlineMessage(data));
         return;
     }
 }
Пример #13
0
        public void ProcessPrivateMessage(PrivateMessageReceivedContext context)
        {
            if (context.Message.Contains("/斗鱼订阅-"))
            {
                int    index = context.Message.IndexOf('-');
                string room  = context.Message.Substring(index + 1);
                DouyuCheck.getInstance().SubscribeByUser(context.FromQq, room);
                _mahuaApi.SendPrivateMessage(context.FromQq).Text("订阅主播[").Text(DouyuCheck.getInstance().getOwner(room)).Text("]成功!").Done();
            }

            if (context.Message.Contains("/斗鱼取消订阅-"))
            {
                int    index = context.Message.IndexOf('-');
                string room  = context.Message.Substring(index + 1);
                DouyuCheck.getInstance().Desubscribe(context.FromQq, room);
                _mahuaApi.SendPrivateMessage(context.FromQq).Text("取消订阅主播[").Text(DouyuCheck.getInstance().getOwner(room)).Text("]成功!").Done();
            }
        }
Пример #14
0
        public void ProcessPrivateMessage(PrivateMessageReceivedContext context)
        {
            if (context.Message.IndexOf("宠物绑定") == 0)
            {
                XmlSolve.del("qq_pet_uin", context.FromQq.ToString());
                XmlSolve.del("qq_pet_skey", context.FromQq.ToString());
                string[] str2;
                int      count_temp = 0;
                str2 = context.Message.Replace("宠物绑定", "").Split('/');
                foreach (string i in str2)
                {
                    if (count_temp == 0)
                    {
                        XmlSolve.insert("qq_pet_uin", context.FromQq.ToString(), i);
                        count_temp++;
                    }
                    else if (count_temp == 1)
                    {
                        XmlSolve.insert("qq_pet_skey", context.FromQq.ToString(), i);
                        count_temp++;
                    }
                }
                _mahuaApi.SendPrivateMessage(context.FromQq).Text("宠物绑定成功!").Done();
            }
            else
            {
                string replay = MessageSolve.GetReplay(context.FromQq, context.Message, _mahuaApi);
                if (replay != "")
                {
                    _mahuaApi.SendPrivateMessage(context.FromQq, replay);
                }
            }


            // 异步发送消息,不能使用 _mahuaApi 实例,需要另外开启Session
            //Task.Factory.StartNew(() =>
            //{
            //    using (var robotSession = MahuaRobotManager.Instance.CreateSession())
            //    {
            //        var api = robotSession.MahuaApi;
            //        api.SendPrivateMessage(context.FromQq, "异步的嘤嘤嘤");
            //    }
            //});
        }
Пример #15
0
 public static string GetPath(IMahuaApi mahuaApi)
 {
     if (loading)
     {
         return(null);
     }
     if (isLast)
     {
         new Thread(new ThreadStart(delegate
         {
             try
             {
                 GET();
             }
             catch (Exception ex)
             {
                 //Console.WriteLine(ex.ToString());
                 mahuaApi.SendPrivateMessage(exceptionSender).Text(ex.ToString()).Done();
                 //throw;
             }
         })).Start();
         return(null);
     }
     else
     {
         string str = null;
         try
         {
             lock (imageUrl)
             {
                 str           = imageUrl[currentIndex];
                 currentIndex += 1;
             }
         }
         catch (Exception ex)
         {
             mahuaApi.SendPrivateMessage(exceptionSender).Text(ex.ToString()).Done();
             //throw;
         }
         return(str);
     }
 }
 public void Done()
 {
     if (_message.Shake)
     {
         _cleverQqApi.Api_ShakeWindow(_robotSessionContext.CurrentQq, _message.Target);
     }
     else
     {
         _mahuaApi.SendPrivateMessage(_message.Target, _message.GetMessage());
     }
 }
Пример #17
0
        public void ProcessFriendMessage(PrivateMessageFromFriendReceivedContext context)
        {
            // 戳一戳
            _mahuaApi.SendPrivateMessage(context.FromQq)
            .Shake()
            .Done();
            // 嘤嘤嘤
            _mahuaApi.SendPrivateMessage(context.FromQq)
            .Text("嘤嘤嘤:")
            .Newline()
            .Text(context.Message)
            .Done();

            // 将好友信息会发给好友
            _mahuaApi.SendPrivateMessage(context.FromQq, context.Message);

            _mahuaApi.SendPrivateMessage(context.FromQq)
            .Image(@"D:\logo.png")
            .Done();
        }
 public void Done()
 {
     if (_message.Shake)
     {
         _amandaApi.Api_SendShake(_message.Target);
     }
     else
     {
         _mahuaApi.SendPrivateMessage(_message.Target, _message.GetMessage());
     }
 }
Пример #19
0
 public override void ProcessRequset(PrivateMessageFromFriendReceivedContext msg, AnalysisMsg nowModel)
 {
     if (nowModel.What == "宠物")
     {
         if (nowModel.OrderCount > 1)
         {
             var url = Config.jx3ToolClass.GetPetCd(nowModel.Who, nowModel.How);
             if (url != "[宠物CD] 服务器不存在,请联系管理员!")
             {
                 _mahuaApi.SendPrivateMessage(msg.FromQq).Text(CQCode.SendLink("宠物CD-" + nowModel.Who, "http://file.yayaquanzhidao.com/logo.ico", "点击查看'" + nowModel.Who + "' 结果【来自:鸭鸭宠物CD查询】", url)).Done();
             }
             else
             {
                 _mahuaApi.SendPrivateMessage(msg.FromQq).Text(url).Done();
             }
             return;
         }
     }
     successor.ProcessRequset(msg, nowModel);
 }
        public void ProcessFriendMessage(PrivateMessageFromFriendReceivedContext context)
        {
            // 获取好友列表
            var friends = _mahuaApi.GetFriends();

            // 测试好友消息发送
            _mahuaApi.SendPrivateMessage(context.FromQq, "这条消息将写入到日志当中");

            // 测试设置公告接口,需要本QQ在目标群具备管理员权限
            _mahuaApi.SetNotice("610394020", "测试公告", friends);
        }
Пример #21
0
 public void Done()
 {
     if (_message.Shake)
     {
         _qqLightApi.Api_SendShake(_message.Target, _qqLightAuthCodeContainer.AuthCode);
     }
     else
     {
         _mahuaApi.SendPrivateMessage(_message.Target, _message.GetMessage());
     }
 }
        public void ProcessFriendMessage(PrivateMessageFromFriendReceivedContext context)
        {
            _friendMessageStore.InsertAsync(new InsertFriendMessageInput
            {
                Message      = context.Message,
                Qq           = context.FromQq,
                ReceivedTime = context.SendTime
            }).GetAwaiter().GetResult();
            var count = _friendMessageStore.GetCountAsync().GetAwaiter().GetResult();

            _mahuaApi.SendPrivateMessage(context.FromQq, $"存储中已经存在{count}条好友信息。");
        }
 public void Done()
 {
     if (_message.Shake)
     {
         _mpqApi.Api_SendShake(_robotSessionContext.CurrentQq, _message.Target);
     }
     else
     {
         var msg = CreateMessage();
         _mahuaApi.SendPrivateMessage(_message.Target, msg);
     }
 }
Пример #24
0
 public void ProcessFriendMessage(PrivateMessageFromFriendReceivedContext context)
 {
     try
     {
         AnalysisMsg nowModel = new AnalysisMsg(context.Message);
         _MenuApp.ProcessRequset(context, nowModel);
     }
     catch (Exception ex)
     {
         _mahuaApi.SendPrivateMessage(Config.ConfigModel.MasterQQ).Text(ex.ToString());
     }
     // 不要忘记在MahuaModule中注册
 }
        //private MessageController messageController = new MessageController();
        public void ProcessGroupMessage(PrivateMessageFromGroupReceivedContext context)
        {
            string message = context.Message;

            if (message == "" || message.Length == 0 || message == null)
            {
                return;
            }
            IDatabase redis = RedisHelper.getRedis();

            // 判断用户是否在缓冲中
            if (redis.StringGet(context.FromQq).IsNull)
            {
                redis.StringSet(context.FromQq, "flag");
                redis.KeyExpire(context.FromQq, new TimeSpan(10000000 * Convert.ToInt16(Constants.sleepTime)));
            }
            else
            {
                string tmpStr = "为防止造成刷屏,您每次使用机器人的时间间隔" + Constants.sleepTime + "秒哦!";
                _mahuaApi.SendPrivateMessage(context.FromQq, tmpStr);
                return;
            };
            if (message == null || message == "" || message.Length == 0)
            {
                //
            }
            else
            {
                string tmpStr = MessageController.main(message, context.FromQq).SendMessage;
                if (tmpStr == null || tmpStr == "" || tmpStr.Length == 0)
                {
                    tmpStr = "\n无数据!";
                }
                if (tmpStr != "" && tmpStr.Length > 0)
                {
                    _mahuaApi.SendPrivateMessage(context.FromQq, tmpStr);
                }
            }
        }
        public void ProcessFriendMessage(PrivateMessageFromFriendReceivedContext context)
        {
            Jitas  J    = new Jitas();
            string res  = "null";
            string com  = context.Message.Substring(0, 1);
            string ser  = context.Message.Replace("~", "");
            string ser1 = context.Message.Replace("*", "");

            if (context.Message == "帮助")
            {
                _mahuaApi.SendPrivateMessage(context.FromQq)
                .Text("EVE查询机器人使用说明")
                .Face("12").Newline()
                .Text("====物品查价功能").Face("151").Newline()
                .Text("|\t'*'+精确物品名称(宁静)\n|").Newline()
                .Text("|\t'~'+精确物品名称(晨曦)\n|").Newline()
                .Face("54").Text("更多功能请体验完整版").Face("54")
                .Done();
            }
            else if (com == "~")
            {
                res = J.esipriceget(ser);
                _mahuaApi.SendPrivateMessage(context.FromQq)
                .Text(ser + "晨曦:")
                .Newline()
                .Text(res)
                .Done();
            }
            else if (com == "*")
            {
                res = J.esipricegettqc(ser1);
                _mahuaApi.SendPrivateMessage(context.FromQq)
                .Text(ser1 + "宁静:")
                .Newline()
                .Text(res)
                .Done();
            }
        }
Пример #27
0
        System.Timers.Timer timer1 = new System.Timers.Timer(300000);//定义计时器,单位毫秒

        public void ProcessGroupMessage(PrivateMessageFromGroupReceivedContext context)
        {
            _mahuaApi.SendPrivateMessage(context.FromQq)
            .Text("输入解除口球来随机解除口球,解除概率为")
            .Text((100 - Common1.RandMin).ToString())
            .Text("%")
            .Done();

            if (Common1.i <= Common1.p)
            {
                if (context.Message == "解除口球")
                {
                    if (context.FromQq == Common1.a)
                    {
                        Common1.i++;
                    }
                    Common1.a = context.FromQq;
                    Random ran     = new Random();
                    int    RandKey = ran.Next(0, 100);
                    if (RandKey >= Common1.RandMin)
                    {
                        _mahuaApi.RemoveBanGroupMember("675236681", context.FromQq);
                        _mahuaApi.SendPrivateMessage(context.FromQq)
                        .Text("解除成功")
                        .Done();
                    }
                }
            }
            else
            {
                _mahuaApi.SendPrivateMessage(context.FromQq)
                .Text("本时段解禁尝试次数已达上限,请等待计数器自动回复后再试(每5分钟自动回复1点)")
                .Done();
            }
            timer1.Enabled   = true;
            timer1.Elapsed  += new System.Timers.ElapsedEventHandler(zero);
            timer1.AutoReset = true;
        }
Пример #28
0
        public void ProcessGroupMessage(GroupMessageReceivedContext context)
        {
            var    deskid    = context.FromGroup;
            var    playerid  = context.FromQq;
            var    message   = context.Message;
            string groupName = null;

            try
            {
                groupName = "群";
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
            var desk = Desk.GetOrCreateDesk(deskid, groupName);

            desk.ParseCommand(playerid, message);
            desk.PlayerList.Where(player => player.Message != null && !(player is FakePlayer)).ToList().ForEach(player =>
            {
                _mahuaApi.SendPrivateMessage(player.PlayerId, player.Message);
                player.ClearMessage();
            });

            Player.ForceSendPlayers.Where(player => player.Message != null && player.ForceSend).ToList().ForEach(player =>
            {
                _mahuaApi.SendPrivateMessage(player.PlayerId, player.Message);
                player.ClearMessage();
                player.ForceSend = false;
            });

            if (desk.Message != null)
            {
                _mahuaApi.SendGroupMessage(deskid, desk.Message.Trim());
                desk.ClearMessage();
            }
        }
Пример #29
0
        public void ProcessFriendMessage(PrivateMessageFromFriendReceivedContext context)
        {
            //判断发送的QQ是否来自管理员
            if (_admincontrol.IsAdmin(context.FromQq, context.Message))
            {
                string CallbackMes = _admincontrol.Admin2do(context.Message);
                _mahuaApi.SendPrivateMessage(context.FromQq, CallbackMes);
            }
            else
            {
                GiveQuan(context);
            }

            // 不要忘记在MahuaModule中注册
        }
        public void Done()
        {
            var msg = _message.GetMessage();

            if (_message.Images.Any())
            {
                _message.Images.Upload(file =>
                                       _mpqApi.Api_UploadPic(
                                           _qqSession.CurrentQq,
                                           2,
                                           _message.Target,
                                           File.ReadAllBytes(file)));
                msg = _message.Images.Formate(msg);
            }
            _mahuaApi.SendPrivateMessage(_message.Target, msg);
        }