public void ProcessGroupMessage(GroupMessageReceivedContext context)
 {
     if (context.Message.Contains("嬲") || context.Message.Contains("kkp"))
     {
         //bool flag = false;
         //TimeSpan time = DateTime.Now - Helper.dateTimeCD;
         //flag = time.TotalSeconds > Helper.timeCD;
         //if (flag)
         {
             string imageUrl = Helper.GetPath();
             if (imageUrl == null)
             {
                 _mahuaApi.SendGroupMessage(context.FromGroup).Text("正在获取最新图片").At(context.FromQq).Done();
             }
             else
             {
                 Helper.dateTimeCD = DateTime.Now;
                 _mahuaApi.SendGroupMessage(context.FromGroup).Image(imageUrl).At(context.FromQq).Done();
                 //System.GC.Collect();
             }
         }
         //else
         //{
         //    _mahuaApi.SendGroupMessage(context.FromGroup).Text(string.Format("正在冷却,剩余{0}秒", ((int)(Helper.timeCD - time.TotalSeconds)).ToString())).At(context.FromQq).Done();
         //}
     }
 }
예제 #2
0
        public void GoServerQuery(string clu, string serverstr)
        {
            string serName = serverstr.Trim();
            string ip      = string.Empty;
            string bigSer  = string.Empty;

            for (int i = 0; i < Config.serList.GetLength(0); i++)
            {
                if (serName.Equals(Config.serList[i, 1]))
                {
                    ip     = Config.serList[i, 2];
                    bigSer = Config.serList[i, 0];
                    string content = Jx3OpenTell.IsOpen(ip, 3724) ? (bigSer + " " + serName + "\r\n开") : (bigSer + " " + serName + "\r\n关");
                    _mahuaApi.SendGroupMessage(clu, CQCode.SendLink("开服查询", CQCode.GetQQHead(_mahuaApi.GetLoginQq()), content));
                    return;
                }
                else
                {
                    if (i == Config.serList.GetLength(0) - 1)
                    {
                        _mahuaApi.SendGroupMessage(clu, " 对不起,没有找到服务器 (づ╥﹏╥)づ");
                    }
                }
            }
        }
        public void GoServerQuery(string clu, string str)
        {
            bool   flag = false;
            string text = str.Trim();
            string ip   = string.Empty;
            string str2 = string.Empty;

            for (int i = 0; i < Config.serList.GetLength(0); i++)
            {
                bool flag2 = text.Equals(Config.serList[i, 1]);
                if (flag2)
                {
                    ip   = Config.serList[i, 2];
                    str2 = Config.serList[i, 0];
                    string content = Jx3OpenTell.IsOpen(ip, 3724) ? (str2 + " " + text + "\r\n开") : (str2 + " " + text + "\r\n关");
                    _mahuaApi.SendGroupMessage(clu, CQCode.SendLink("开服查询", CQCode.GetQQHead(_mahuaApi.GetLoginQq()), content));
                    flag = true;
                }
                else
                {
                    bool flag3 = !flag && i == Config.serList.GetLength(0) - 1;
                    if (flag3)
                    {
                        _mahuaApi.SendGroupMessage(clu, " 对不起,没有找到服务器 (づ╥﹏╥)づ");
                    }
                }
            }
        }
예제 #4
0
 public void ProcessGroupMessage(GroupMessageReceivedContext context)
 {
     if (context.Message.Equals("嘤嘤嘤"))
     {
         bool     flag = false;
         TimeSpan time = DateTime.Now - Helper.dateTime;
         flag = time.TotalSeconds > Helper.timeCD;
         if (flag)
         {
             string imageUrl = Helper.GetPath(_mahuaApi);
             if (imageUrl == null)
             {
                 _mahuaApi.SendGroupMessage(context.FromGroup).Text("正在获取最新图片").At(context.FromQq).Done();
             }
             else
             {
                 Helper.dateTime = DateTime.Now;
                 _mahuaApi.SendGroupMessage(context.FromGroup).Image(imageUrl).At(context.FromQq).Done();
                 System.GC.Collect();
             }
         }
         else
         {
             _mahuaApi.SendGroupMessage(context.FromGroup).Text(string.Format("正在冷却,剩余{0}秒", ((int)(Helper.timeCD - time.TotalSeconds)).ToString())).At(context.FromQq).Done();
         }
     }
 }
예제 #5
0
 public override void ProcessRequset(GroupMessageReceivedContext msg, AnalysisMsg nowModel)
 {
     if (Config.ConfigModel.IsFuncOpen("查日常"))
     {
         WeiBoContentItem item = new WeiBoContentItem();
         if (nowModel.What == "查日常")
         {
             if (lastestItem != null)
             {
                 item = lastestItem.Time.Date == DateTime.Now.Date ? lastestItem : WeiboTool.GetWeiboByUid("1761587065", "1076031761587065", "#剑网3江湖百晓生#").OrderByDescending(p => p.Time).FirstOrDefault(); //WeiboTool.GetWeiBoTopicContentV1("剑网3江湖百晓生", "剑网3官方微博").FirstOrDefault();
             }
             else
             {
                 item = WeiboTool.GetWeiboByUid("1761587065", "1076031761587065", "#剑网3江湖百晓生#").OrderByDescending(p => p.Time).FirstOrDefault();//WeiboTool.GetWeiBoTopicContentV1("剑网3江湖百晓生", "剑网3官方微博").OrderByDescending(p => p.Time).FirstOrDefault();
             }
             if (item == null)
             {
                 _mahuaApi.SendGroupMessage(msg.FromGroup, "[日常]QAQ查询失败,请联系管理员");
             }
             else
             {
                 if (nowModel.Who == "文")
                 {
                     _mahuaApi.SendGroupMessage(msg.FromGroup).Text("[日常]来自 " + item.Author + ":").Newline().Text(item.ContentStr).Newline().Text(@"本信息由新浪微博-剑网3江湖百晓生-超话提供").Done();
                 }
                 else
                 {
                     _mahuaApi.SendGroupMessage(msg.FromGroup).Text(CQCode.SendLink("查日常-" + item.Time.ToShortDateString(), item.Pic, item.ContentStr.Replace("#剑网3江湖百晓生#", "").Trim(), item.Pic)).Done();
                 }
             }
         }
     }
     successor.ProcessRequset(msg, nowModel);
 }
예제 #6
0
        private void PlayerJoinGame(PlayGround game, GroupMessageReceivedContext context)
        {
            var result = game.PlayerJoinGame(context.FromQq);

            switch (result)
            {
            case PlayerJoinStat.GameFull:
                _mahuaApi.SendGroupMessage(context.FromGroup, "游戏已满,请等待游戏结束");
                return;

            case PlayerJoinStat.HaveJoined:
                _mahuaApi.SendGroupMessage(context.FromGroup, "你已经加入过了");
                return;

            case PlayerJoinStat.Success:
                if (game.GameFull)
                {
                    _mahuaApi.SendGroupMessage(context.FromGroup, $"白方:{CqCode.At(context.FromQq)}成功加入!");
                    game.StartGame();
                    PrintStartMessage(context.FromGroup, game);
                }
                else
                {
                    _mahuaApi.SendGroupMessage(context.FromGroup, $"黑方:{CqCode.At(context.FromQq)}成功加入!");
                }
                return;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
        public void ProcessGroupMessage(GroupMessageReceivedContext context)
        {
            string ec, et;

            ec = IniReadValue("com", "esiserenity", "C:\\ERC.ini");
            et = IniReadValue("com", "esitranquility", "C:\\ERC.ini");
            Jitas     J    = new Jitas();
            character C    = new character();
            string    res  = "null";
            string    com  = context.Message.Substring(0, 1);
            string    coml = "";

            if (context.Message.Length > 3)
            {
                coml = context.Message.Substring(0, 3);
            }
            else
            {
                coml = context.Message.Substring(0, 1);
            }
            if (context.Message == "帮助")
            {
                _mahuaApi.SendGroupMessage(context.FromGroup)
                .Text("EVE查询机器人使用说明")
                .Face("12").Newline()
                .Text("====物品查价功能").Face("151").Newline()
                .Text("|\t'" + ec + "'+精确名称(晨曦中文)\n|").Newline()
                .Text("|\t'" + et + "'+精确名称(宁静英文)\n|").Newline()
                .Face("54").Text("就是这样喵~").Face("54")
                .Done();
            }
            else if (com == ec)
            {
                string ser = context.Message.Replace(ec, "");
                res = J.esipriceget(ser);
                _mahuaApi.SendGroupMessage(context.FromGroup)
                .Text(ser + "晨曦查询结果:")
                .Newline()
                .Text(res)
                .Done();
            }
            else if (com == et)
            {
                string ser1 = context.Message.Replace(et, "");
                res = J.esipricegettq(ser1);
                _mahuaApi.SendGroupMessage(context.FromGroup)
                .Text(ser1 + "宁静查询结果:")
                .Newline()
                .Text(res)
                .Done();
            }
            else if (context.Message == "更新日志")
            {
                _mahuaApi.SendGroupMessage(context.FromGroup)
                .Newline()
                .Text("当前版本Public1.0\r\n开源1.0版本,仅提供最基础的吉他市场查询功能。\r\n开发者邮箱:[email protected]\r\n感谢大家的选择和使用!\r\n获取更多功能联系开发者")
                .Done();
            }
        }
예제 #8
0
 public override void ProcessRequset(GroupMessageReceivedContext msg, AnalysisMsg nowModel)
 {
     if (Config.ConfigModel.IsFuncOpen("菜单"))
     {
         if (msg.Message.Trim() == "菜单")
         {
             _mahuaApi.SendGroupMessage(msg.FromGroup).Text(Config.ConfigModel.MenuStr).Done();
             _mahuaApi.SendGroupMessage(msg.FromGroup).Text(CQCode.SendLink("小T完全手册", CQCode.GetQQHead(_mahuaApi.GetLoginQq()), "小T操作手册:最新最全的小T使用攻略", "https://traceless.site/index.php/archives/62/")).Done();
             return;
         }
     }
     successor.ProcessRequset(msg, nowModel);
 }
예제 #9
0
 public void SendMessage()
 {
     if (_liveRoom.IsOnLive())
     {
         _mahuaApi.SendGroupMessage("610394020", "群主正在女装,前往观望?https://live.bilibili.com/7834872");
     }
 }
예제 #10
0
 public override void ProcessRequset(GroupMessageReceivedContext msg, AnalysisMsg nowModel)
 {
     if (Config.ConfigModel.IsFuncOpen("签到"))
     {
         if (msg.Message == "签到")
         {
             var    signEnt = DALSign.GetSign(msg.FromQq);
             bool   signed  = false;
             string content = $"给小可爱10个赞!\r\n麻花疼:每天每Q最多点500赞~先到先得!";
             if (signEnt != null)
             {
                 signed = (signEnt.LastSign.Date == DateTime.Now.Date);
                 if (signed)
                 {
                     content = $"您于{signEnt.LastSign.ToShortTimeString()}在{(signEnt.SignGid == msg.FromGroup ? "本群" : "隔壁群")}签过到了!\r\n没有多的赞惹TuT";
                 }
             }
             if (!signed)
             {
                 SendLike(msg.FromQq);
                 DALSign.SetSign(msg.FromQq, msg.FromGroup);
             }
             _mahuaApi.SendGroupMessage(msg.FromGroup).
             Text(CQCode.SendLink(signed ? "您签过到了!" : "签到成功!", CQCode.GetQQHead(msg.FromQq), content))
             .Done();
             return;
         }
     }
     successor.ProcessRequset(msg, nowModel);
 }
예제 #11
0
        public void SendMeesage(string message)
        {
            //调用发送群消息的方法
            string NowStamp = DateTime.UtcNow.ToLongTimeString();

            _mahuaApi.SendGroupMessage("826427383", NowStamp + "\n" + message);
        }
예제 #12
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);
                    }
                }
            };
        }
        private static void PrintStartMessage(string group, PlayGround game, IMahuaApi mahuaApi)
        {
            var message = new StringBuilder("开始游戏!\n");

            message.AppendLine("---------------------------------");
            message.AppendLine("命令列表: (您随时都可以使用/help查看命令)");
            message.AppendLine("   落子: x坐标y坐标(先后顺序不固定,0a和a0效果等同)");
            message.AppendLine("   退出: /ge");
            message.AppendLine("   投降: /gf");
            message.AppendLine("   投票结束: /ve");
            message.AppendLine("   查看Gomoku Credit: /gc");
            message.AppendLine("---------------------------------");

            switch (game.Role)
            {
            case Role.Black:
                message.Append($"黑方:{CqCode.At(game.BlackPlayer)}先手!请{CqCode.At(game.BlackPlayer)}走子!");
                break;

            case Role.White:
                message.Append($"白方:{CqCode.At(game.WhitePlayer)}先手!请{CqCode.At(game.WhitePlayer)}走子!");
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }

            mahuaApi.SendGroupMessage(group)
            .Text(message.ToString())
            .Newline()
            .Text(CqCode.Image($"{game.GameId}\\ChessBoard_{game.Steps}.jpg"))
            .Done();
        }
 public void ProcessGroupMessage(GroupMessageReceivedContext context)
 {
     if (context.Message == "/help")
     {
         _mahuaApi.SendGroupMessage(context.FromGroup, Docs.GetDocsString());
     }
 }
 public void ProcessGroupMessage(GroupMessageReceivedContext context)
 {
     if (context.Message == "/gc")
     {
         _mahuaApi.SendGroupMessage(context.FromGroup, GomokuCredit.GomokuPlayersCredits.Any(p => p.Player == context.FromQq) ? $"您的Gomoku Credit当前为: {GomokuCredit.GomokuPlayersCredits.First(p => p.Player == context.FromQq).Credit}" : "哎呀,您还没有玩过五子棋,输入/gj来一盘吧?");
     }
 }
예제 #16
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 ProcessGroupMessage(GroupMessageReceivedContext context)
 {
     if (context.Message.StartsWith("/image") && context.FromQq == Configuration.Me)
     {
         var image = context.Message.Substring(7);
         _mahuaApi.SendGroupMessage(context.FromGroup, CqCode.Image(image));
     }
 }
예제 #18
0
        public void ProcessGroupMemberIncreased(GroupMemberIncreasedContext context)
        {
            //
            string joinedQQ    = context.JoinedQq;
            string sendMessage = string.Format("[CQ:at,qq={0}]\n欢迎您加入技术交流群,我是AlphaRebot智能机器人,艾特我回复“指令”两个字可以为您提供i春秋知识库哦。", joinedQQ);

            _mahuaApi.SendGroupMessage(context.FromGroup, sendMessage);
        }
예제 #19
0
 public void SendMessage()
 {
     // 如果直播间状态为正在直播,则发送消息
     if (_liveRoom.IsOnLive())
     {
         _mahuaApi.SendGroupMessage("675236681", "面包正在女装直播,前往观望?https://live.bilibili.com/1162");
     }
 }
예제 #20
0
 private void sendGroupMessage(DouyuData data, string group)
 {
     using (IRobotSession robotSession = MahuaRobotManager.Instance.CreateSession())
     {
         IMahuaApi api = robotSession.MahuaApi;
         api.SendGroupMessage(group, getOnlineMessage(data));
         return;
     }
 }
예제 #21
0
 public void ProcessGroupMemberIncreased(GroupMemberIncreasedContext context)
 {
     _mahuaApi.SendGroupMessage(context.FromGroup)
     .At(context.JoinedQq)
     .Text("欢迎").At(context.JoinedQq).Text("加入本群,引荐人").At(context.InvitatorOrAdmin).Text(",发送帮助获取机器人使用说明")
     .Newline()
     .Text("感谢大家的喜爱与支持!")
     .Done();
 }
 public void ProcessGroupMemberChanged(GroupMemberChangedContext context)
 {
     if (context.GroupMemberChangedType.ToString() == "Increased") //进群
     {
         _mahuaApi.SendGroupMessage(context.FromGroup, "欢迎" + Tools.At(context.JoinedOrLeftQq) + "进群!请仔细阅读群公告哦~");
     }
     else if (context.GroupMemberChangedType.ToString() == "Decreased")//退群
     {
         if (context.FromGroup == "241464054")
         {
             string player = XmlSolve.xml_get("bind_qq", context.JoinedOrLeftQq);
             if (player != "")
             {
                 _mahuaApi.SendGroupMessage("567145439", "检测到玩家" + player + "已退群,请管理进入游戏,执行\r\n/code " +
                                            MinecraftSolve.DelNewCode(player) + "\r\n命令来删除该玩家的白名单");
                 XmlSolve.del("bind_qq_wait", context.JoinedOrLeftQq);
                 XmlSolve.del("bind_qq", context.JoinedOrLeftQq);
             }
         }
     }
 }
예제 #23
0
 public override void ProcessRequset(GroupMessageReceivedContext msg, AnalysisMsg nowModel)
 {
     if (Config.ConfigModel.IsFuncOpen("Roll点"))
     {
         if (nowModel.What.ToLower() == "/roll")
         {
             _mahuaApi.SendGroupMessage(msg.FromGroup).At(msg.FromQq).Text($"Roll了 {ToolClass.RandomGet(0,100)} 点").Done();
             return;
         }
     }
     successor.ProcessRequset(msg, nowModel);
 }
 public void ProcessGroupMessage(GroupMessageReceivedContext context)
 {
     for (int i = 0; i < ConfigCache.configInfos.Count; i++)
     {
         ConfigInfo config = ConfigCache.configInfos[i];
         if (config.groupId.Equals(context.FromGroup) && context.SendTime <= config.endTime && context.SendTime >= config.startTime)
         {
             if (TypeCode.String == context.Message.GetTypeCode())
             {
                 if (context.Message != null && context.Message.Length >= config.msgLen)
                 {
                     _mahuaApi.SendGroupMessage(context.FromGroup, config.replyContent);
                 }
             }
             else
             {
                 _mahuaApi.SendGroupMessage(context.FromGroup, config.replyContent);
             }
         }
     }
 }
예제 #25
0
        public void ProcessGroupMessage(GroupMessageReceivedContext context)
        {
            //[看币价 btc]
            var re_coinmarketcap = _iMessageHanderService.CheckKeyWordAsync(context);

            if (!string.IsNullOrEmpty(re_coinmarketcap))
            {
                _mahuaApi.SendGroupMessage(context.FromGroup, re_coinmarketcap);
            }

            // 不要忘记在MahuaModule中注册
        }
예제 #26
0
        public void SendNews(string msg)
        {
            if (sendCount != 0)
            {
                foreach (var group in ConfigManager.pushNewsConfig.PushGroupList)
                {
                    _mahuaApi.SendGroupMessage(group, msg);
                }
            }

            sendCount++;
        }
        /// <summary>
        /// 群消息转载
        /// </summary>
        /// <param name="context"></param>
        /// <param name="loginQq"></param>
        /// <returns></returns>
        private async Task GroupMsgCopy(GroupMessageReceivedContext context, string loginQq)
        {
            // 存在群消息转载
            var list = await GroupMsgCopyService.GetList(loginQq, context.FromGroup);

            foreach (var item in list)
            {
                _mahuaApi.SendGroupMessage(item.TargetGroup)
                .Text($"[来自{item.FromGroup}的群消息]:{context.Message}")
                .Done();
            }
        }
        public void ProcessGroupMessage(GroupMessageReceivedContext context)
        {
            if (context.FromQq == "80000000" || context.FromQq == "1000000" || context.FromQq == "1811436283")
            {
                return;
            }
            string replay = MessageSolve.GetReplay(context.FromQq, context.Message, _mahuaApi, context.FromGroup);

            if (replay != "")
            {
                _mahuaApi.SendGroupMessage(context.FromGroup, replay);
            }
        }
예제 #29
0
 public override void ProcessRequset(GroupMessageReceivedContext msg, AnalysisMsg nowModel)
 {
     if (Config.ConfigModel.IsFuncOpen("查日常"))
     {
         WeiBoContentItem item = new WeiBoContentItem();
         if (nowModel.What == "查日常")
         {
             if (lastestItem != null)
             {
                 item = (lastestItem.Time.Date == DateTime.Now.Date) ? lastestItem : WeiboTool.GetWeiboByUid("1761587065", "1076031761587065", "#剑网3江湖百晓生#").OrderByDescending(p => p.Time).FirstOrDefault();
             }
             else
             {
                 item = WeiboTool.GetWeiboByUid("1761587065", "1076031761587065", "#剑网3江湖百晓生#").OrderByDescending(p => p.Time).FirstOrDefault();
             }
             lastestItem = item;
             if (nowModel.OriginStr.Contains("文") && item != null)
             {
                 _mahuaApi.SendGroupMessage(msg.FromGroup).Text("[日常]来自 " + item.Author + ":").Newline().Text(item.ContentStr).Newline().Text($"图片-{item.Pic}").Newline().Text(@"本信息由新浪微博-剑网3江湖百晓生-超话提供").Done();
             }
             else if (item != null)
             {
                 _mahuaApi.SendGroupMessage(msg.FromGroup).Text(CQCode.SendLink("查日常-" + item.Time.ToShortDateString(), item.Pic, item.ContentStr.Replace("#剑网3江湖百晓生#", "").Trim(), item.Pic)).Done();
             }
             if (item == null)
             {
                 if (Config.DefaltItem != null)
                 {
                     _mahuaApi.SendGroupMessage(msg.FromGroup).Text("[日常]QAQ官微又偷懒了,为您提供" + Config.DefaltItem.Time.ToShortDateString() + " 来自 " + Config.DefaltItem.Author + ":").Newline().Text(Config.DefaltItem.ContentStr).Newline().Text(@"本信息由官博偷懒没发日常倾情触发,更新请通过建议提交日常信息给我~").Done();
                 }
                 else
                 {
                     _mahuaApi.SendGroupMessage(msg.FromGroup, "[日常]QAQ查询失败,请联系管理员");
                 }
             }
         }
     }
     successor.ProcessRequset(msg, nowModel);
 }
예제 #30
0
        public void ProcessGroupMemberDecreased(GroupMemberDecreasedContext context)
        {
            var isAdminOpt = string.IsNullOrWhiteSpace(context.FromQq)?string.Empty: "[管理员操作]";

            _mahuaApi.SendGroupMessage(context.FromGroup)
            .Text($"一位小伙伴悄然离去~{context.ToQq} {isAdminOpt}")
            .Done();

            // todo 填充处理逻辑
            //throw new NotImplementedException();

            // 不要忘记在MahuaModule中注册
        }