public void ReceiveGroupMessage(object sender, CqGroupMessageEventArgs e)
 {
     //if (e.FromQQ.ToString() == "373884384")
     //{
     //    Common.CqApi.SendGroupMessage(e.FromGroup, e.Message);
     //}
 }
Exemple #2
0
 public void ReceiveGroupMessage(object sender, CqGroupMessageEventArgs message)
 {
     if (IsCommand(message.Message))
     {
         Values.GetCommandHandler().Execute(message);
     }
 }
        public override void Request(object sender, CqGroupMessageEventArgs e, string groupPath)
        {
            string userName = GetUserName(e.FromQQ.ToString(), groupPath);

            if (userName == "")
            {
                return;
            }

            User user = GetUser(e.FromQQ.ToString(), e, groupPath);

            string[] arr = e.Message.Split(' ');

            if (arr.Length > 1)
            {
                if (Int32.TryParse(arr[1], out int num))
                {
                    ShowPage(user, e, groupPath, KnapsackIni, num);

                    return;
                }
            }

            ShowPage(user, e, groupPath, KnapsackIni);

            return;
        }
Exemple #4
0
        private void Show(string shopName, CqGroupMessageEventArgs e)
        {
            List <string> items = iniTool.IniReadSectionKey(devPath, shopIni, shopName);

            if (items.Count == 0)
            {
                Common.CqApi.SendGroupMessage(e.FromGroup, "该位置没有商品");

                return;
            }

            string shopItems = "[" + shopName + "]" + Environment.NewLine;

            foreach (string item in items)
            {
                string name = iniTool.IniReadValue(devPath, shopIni, shopName, item);

                string[] arrItem = name.Split('*');

                shopItems += item + ":" + arrItem[0] + "--" + arrItem[1] + "金币" + Environment.NewLine;
            }

            shopItems += "输入:购买 物品编号";

            Common.CqApi.SendGroupMessage(e.FromGroup, shopItems);

            return;
        }
Exemple #5
0
        //发放奖励
        private void Reward(CqGroupMessageEventArgs e, string groupPath)
        {
            string res = "[排位奖励]" + Environment.NewLine;

            for (int i = 1; i <= 10; i++)
            {
                string name = iniTool.IniReadValue(groupPath, challengeInfoIni, "排名", i.ToString());

                if (!name.Equals("无"))
                {
                    string[] arr = name.Split('|');

                    string   rewards = iniTool.IniReadValue(devPath, challengeIni, "奖励", i.ToString());
                    string[] reward  = rewards.Split('|');

                    foreach (string rs in reward)
                    {
                        string[] r = rs.Split('*');
                        SetKnapsackItemNum(r[0], int.Parse(r[1]), groupPath, arr[1]);
                    }
                    continue;
                }
            }

            iniTool.DeleteAllSection(groupPath, challengeInfoIni);

            NewRank(e, groupPath);

            return;
        }
Exemple #6
0
        private void setOnHook(int onHookType, User user, CqGroupMessageEventArgs e, string groupPath)
        {
            Vip vip = GetVipInfo(e, groupPath);

            if (vip.OnHookTime != "")
            {
                Common.CqApi.SendGroupMessage(e.FromGroup, "您已经处于挂机中,挂机时间:" + vip.OnHookTime);
                return;
            }


            DateTime nowTime = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
            DateTime endTime = Convert.ToDateTime(vip.endTime);

            TimeSpan timeSpan = endTime.Subtract(nowTime);

            int day = timeSpan.Days + 1;

            if (day < 7)
            {
                Common.CqApi.SendGroupMessage(e.FromGroup, "[" + user.Name + "] 您的会员即将到期,到期之后将不能享有会员服务,请及时购买会员!");
            }

            string type = onHookType == 2 ? "金币" : "经验";

            vip.OnHookTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
            vip.OnHookType = type;

            SetVipInfo(vip, e, groupPath);

            Common.CqApi.SendGroupMessage(e.FromGroup, "挂机成功,时间:" + vip.OnHookTime);
            return;
        }
Exemple #7
0
        private static int EventGroupMsg(int subType, int msgId, long fromGroup, long fromQQ, string fromAnonymous, IntPtr msg, int font)
        {
            CqGroupMessageEventArgs args = new CqGroupMessageEventArgs();

            args.MsgId         = msgId;
            args.FromGroup     = fromGroup;
            args.FromQQ        = fromQQ;
            args.Message       = NativeConvert.ToPtrString(msg, Encoding.GetEncoding("GB18030"));
            args.FromAnonymous = null;
            args.Handler       = false;


            if (fromQQ == 80000000 && !string.IsNullOrEmpty(fromAnonymous))
            {
                args.FromAnonymous = Common.CqApi.GetAnonymous(fromAnonymous);                  //获取匿名成员信息
            }

            if (subType == 1)               // 群消息
            {
                ReceiveGroupMessage(null, args);
            }
            else                            // 其它类型
            {
                Common.CqApi.AddLoger(LogerLevel.Info, "Native提示", "EventGroupMsg 方法发现新的消息类型");
            }

            return((int)(args.Handler ? MessageHanding.Intercept : MessageHanding.Ignored));            //如果处理过就截断消息
        }
Exemple #8
0
        // 批量删除背包里的物品
        protected bool DeleteKnapsackItems(User user, CqGroupMessageEventArgs e, string groupPath, string[] allItems, string unDeleteitemName = null)
        {
            // 删除任务物品
            foreach (string allitem in allItems)
            {
                string[] aitems = allitem.Split('*');

                if (unDeleteitemName != null)
                {
                    string[] unAitem = unDeleteitemName.Split('*');

                    if (aitems[0].Equals(unAitem[0]))
                    {
                        continue;
                    }
                }

                int myItemNum = GetKnapsackItemNum(aitems[0], groupPath, e.FromQQ.ToString());

                if (!DeleteKnapsackItemNum(aitems[0], myItemNum, int.Parse(aitems[1]), groupPath, e.FromQQ.ToString()))
                {
                    return(false);
                }
                ;
            }

            return(true);
        }
Exemple #9
0
        // 复活
        private void Revive(User user, string groupPath, CqGroupMessageEventArgs e)
        {
            int myCoin = GetKnapsackItemNum("金币", groupPath, e.FromQQ.ToString());

            int cost = iniTool.ReadInt(devPath, reviveIni, user.Fame, "金币", 1000);

            if (myCoin < cost)
            {
                Common.CqApi.SendGroupMessage(e.FromGroup, "对不起,您的金币不足:" + cost.ToString());
                return;
            }

            if (DeleteKnapsackItemNum("金币", myCoin, cost, groupPath, e.FromQQ.ToString()))
            {
                string pos = iniTool.IniReadValue(devPath, reviveIni, user.Fame, "位置");

                if (pos != "")
                {
                    user.Pos = pos;
                    iniTool.IniWriteValue(groupPath, userInfoIni, e.FromQQ.ToString(), "当前位置", user.Pos);
                }

                user.HP = user.MaxHP;
                iniTool.IniWriteValue(groupPath, userInfoIni, e.FromQQ.ToString(), "血量", user.HP.ToString());

                Common.CqApi.SendGroupMessage(e.FromGroup, user.Name + "成功复活, -" + cost + "金币, 当前位置:" + user.Pos);
                return;
            }
        }
Exemple #10
0
 public void 回复群友话语(CqGroupMessageEventArgs e)
 {
     if (JsonData.ContainsKey(e.Message))
     {
         Common.CqApi.SendGroupMessage(e.FromGroup, JsonData[e.Message].ToString());
     }
 }
Exemple #11
0
        // 显示分页结果
        protected void ShowPage(User user, CqGroupMessageEventArgs e, string groupPath, string iniName, int page = 1)
        {
            List <string> items = iniTool.IniReadSectionKey(groupPath, iniName, e.FromQQ.ToString());

            int nowPage = (int)Math.Ceiling(Convert.ToDouble(items.Count) / Convert.ToDouble(pageSize));

            page -= 1;

            if (nowPage < page + 1)
            {
                Common.CqApi.SendGroupMessage(e.FromGroup, "[" + user.Name + "的" + iniName.Substring(0, 2) + "] :" + "第" + (page + 1).ToString() + "页 没有任何物品");
                return;
            }

            int startPage = page * pageSize;

            string res = "[" + user.Name + "的" + iniName.Substring(0, 2) + "] 共" + nowPage + "页 当前页数:" + (page + 1).ToString() + Environment.NewLine;

            for (int i = startPage; i < items.Count; i++)
            {
                if (i - startPage > 9)
                {
                    break;
                }
                string itemNum = iniTool.IniReadValue(groupPath, iniName, e.FromQQ.ToString(), items[i]);

                res += items[i] + ":" + itemNum + Environment.NewLine;
            }

            Common.CqApi.SendGroupMessage(e.FromGroup, SubRN(res));
            return;
        }
        // 下架物品
        private void UnItem(string groupPath, string itemNo, CqGroupMessageEventArgs e)
        {
            BusinessItem businessItem = GetBusinessItem(groupPath, itemNo);

            if (businessItem.ItemName == "")
            {
                Common.CqApi.SendGroupMessage(e.FromGroup, "没有改编号的物品");

                return;
            }

            if (e.FromQQ.ToString() != businessItem.UserId)
            {
                Common.CqApi.SendGroupMessage(e.FromGroup, "该物品不属于您");

                return;
            }

            SetKnapsackItemNum(businessItem.ItemName, businessItem.Num, groupPath, e.FromQQ.ToString());

            iniTool.DeleteSectionKey(groupPath, businessIni, "商品", businessItem.No);

            UpdateItem(groupPath);

            Common.CqApi.SendGroupMessage(e.FromGroup, "成功下架商品:" + businessItem.ItemName);

            return;
        }
Exemple #13
0
        public void THBSearch(CqGroupMessageEventArgs e, string arg)
        {
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
            using (WebClient client = new WebClient())
            {
                XmlDocument document = new XmlDocument();
                XmlReader   reader   = XmlReader.Create(client.OpenRead(THB_SEARCH_CMD + arg));
                document.Load(reader);

                var body    = document.LastChild;
                var query   = body.ChildNodes.Item(0);
                var section = body.ChildNodes.Item(1);

                string result = "搜索 " + query.InnerText + " 的结果如下!\n";
                foreach (XmlNode item in section.ChildNodes)
                {
                    var    text = item.ChildNodes.Item(0).InnerText;
                    var    url  = item.ChildNodes.Item(1).InnerText;
                    string desc = "无";
                    if (item.ChildNodes.Count > 2)
                    {
                        desc = item.ChildNodes.Item(2).InnerText;
                    }
                    result += (
                        "----------------" + "\n" +
                        "● " + text + " (" + url + ")" + "\n" +
                        "简介:" + desc + "\n"
                        );
                }

                Common.CqApi.SendGroupMessage(e.FromGroup, result);
            }
        }
Exemple #14
0
        // 获取已经接受的任务
        private void NowMission(User user, CqGroupMessageEventArgs e, string groupPath)
        {
            string missions = "[" + user.Name + "] 您当前的任务如下:" + Environment.NewLine;

            List <string> items = iniTool.IniReadSectionKey(groupPath, missionHistoryIni, e.FromQQ.ToString());

            if (items.Count == 0)
            {
                Common.CqApi.SendGroupMessage(e.FromGroup, user.Name + " 您当前并未接受任务!");
                return;
            }

            foreach (string item in items)
            {
                string res = iniTool.IniReadValue(groupPath, missionHistoryIni, e.FromQQ.ToString(), item);

                if (res == "已完成")
                {
                    string toName = iniTool.IniReadValue(devPath, missionIni, item, "属于");

                    // 删除任务
                    if (!user.Fame.Equals(toName))
                    {
                        iniTool.DeleteSectionKey(groupPath, missionHistoryIni, e.FromQQ.ToString(), item);
                        continue;
                    }
                }

                missions += item + ": " + res + Environment.NewLine;
            }

            missions += "输入: 提交任务 任务名称";

            Common.CqApi.SendGroupMessage(e.FromGroup, missions);
        }
        // 显示合成
        private void ShowSynthesis(User user, CqGroupMessageEventArgs e, string groupPath)
        {
            List <string> items = iniTool.IniReadSectionKey(devPath, synthesisIni, user.Pos);

            if (items.Count == 0)
            {
                Common.CqApi.SendGroupMessage(e.FromGroup, "[" + user.Name + "] 该位置没有商品");
                return;
            }

            string synthesisItems = "[" + user.Pos + "]" + Environment.NewLine;

            foreach (string item in items)
            {
                string name = iniTool.IniReadValue(devPath, synthesisIni, user.Pos, item);

                Synthesis synthesis = GetSynthesis(name, e, groupPath);

                synthesisItems += item + ":" + name + " 所需材料(" + synthesis.Material.Replace("|", ",") + ")" + Environment.NewLine;
                synthesisItems += "成功率:" + synthesis.SuccessRate + Environment.NewLine + "失败保留:" + synthesis.Retain + Environment.NewLine;
            }

            synthesisItems += "输入:合成 编号";

            Common.CqApi.SendGroupMessage(e.FromGroup, synthesisItems);

            return;
        }
Exemple #16
0
        public override void Request(object sender, CqGroupMessageEventArgs e, string groupPath)
        {
            string userName = GetUserName(e.FromQQ.ToString(), groupPath);

            if (userName == "")
            {
                return;
            }

            string[] arr = e.Message.Split(' ');

            if (arr.Length > 1)
            {
                if (Int32.TryParse(arr[1], out int num))
                {
                    Attack(groupPath, e, num);
                }

                return;
            }

            Attack(groupPath, e);

            return;
        }
        public override void Request(object sender, CqGroupMessageEventArgs e, string groupPath)
        {
            string userName = iniTool.IniReadValue(groupPath, userInfoIni, e.FromQQ.ToString(), "角色名");

            if (userName == "")
            {
                return;
            }

            string[] arr = e.Message.Split(' ');

            User user1 = GetUser(e.FromQQ.ToString(), e, groupPath);

            if (arr[0] == "血量" || arr[0] == "生命")
            {
                Common.CqApi.SendGroupMessage(e.FromGroup, "[" + user1.Name + "]" + Environment.NewLine + "血量:" + user1.HP.ToString() + Environment.NewLine + "蓝量:" + user1.MP.ToString());
                return;
            }

            if (arr[0] == "改名")
            {
                if (arr.Length > 1)
                {
                    int myItem = GetKnapsackItemNum("改名卡", groupPath, e.FromQQ.ToString());

                    if (myItem == 0)
                    {
                        Common.CqApi.SendGroupMessage(e.FromGroup, "您没有改名卡");
                        return;
                    }

                    iniTool.IniWriteValue(groupPath, userInfoIni, e.FromQQ.ToString(), "角色名", arr[1]);

                    DeleteKnapsackItemNum("改名卡", myItem, 1, groupPath, e.FromQQ.ToString());

                    Common.CqApi.SendGroupMessage(e.FromGroup, "改名成功:" + arr[1]);
                    return;
                }

                Common.CqApi.SendGroupMessage(e.FromGroup, "请输入您要修改的名称");
                return;
            }

            string userInfo = "";

            foreach (string user in GameConfig.userInfo)
            {
                if (user == "最大血量" || user == "最大蓝量")
                {
                    continue;
                }
                userInfo += user + ":" + iniTool.IniReadValue(groupPath, userInfoIni, e.FromQQ.ToString(), user) + Environment.NewLine;
            }

            userInfo = SubRN(userInfo);

            Common.CqApi.SendGroupMessage(e.FromGroup, userInfo);
            return;
        }
Exemple #18
0
 public void ReceiveGroupMessage(object sender, CqGroupMessageEventArgs e)
 {
     //if (e.FromQQ.ToString() == "373884384")
     //{
     //    var msg = GHttpHelper.Http.Get("https://chp.shadiao.app/api.php");
     //    Common.CqApi.SendGroupMessage(e.FromGroup, $"当前群号:[{e.FromGroup}],骚话:{msg}");
     //}
 }
        // 增加经验
        public void IncreaseEXP(User user, Enemy enemy, string groupPath, CqGroupMessageEventArgs e)
        {
            user.Exp += enemy.Exp;

            iniTool.WriteInt(groupPath, userInfoIni, e.FromQQ.ToString(), "经验", user.Exp);

            eventManage.OnIsUplevel(user, groupPath, e);
        }
Exemple #20
0
        public void Execute(CqGroupMessageEventArgs message)
        {
            Player sender = Player.Parse(message.FromQQ);

            sender.SetCurrentGroup(message.FromGroup);

            Values.GetEventHandler().PlayerCommand(sender, SplitArgs(message.Message));
        }
Exemple #21
0
        private void Challenge(CqGroupMessageEventArgs e, User user, string groupPath)
        {
            int userNum = iniTool.ReadInt(groupPath, challengeInfoIni, e.FromQQ.ToString(), "名次", 0);

            if (userNum == 1)
            {
                Common.CqApi.SendGroupMessage(e.FromGroup, "您已到达了巅峰!");
                return;
            }

            string pkTime = iniTool.IniReadValue(groupPath, challengeInfoIni, e.FromQQ.ToString(), "挑战时间");

            if (pkTime != "")
            {
                string isCd = IsCD(pkTime);

                if (isCd != "")
                {
                    Common.CqApi.SendGroupMessage(e.FromGroup, "挑战冷却时间(秒):" + isCd);
                    return;
                }
            }

            int myCoin = GetKnapsackItemNum("金币", groupPath, e.FromQQ.ToString());

            if (myCoin < 500)
            {
                Common.CqApi.SendGroupMessage(e.FromGroup, "[" + user.Name + "] 您的金币数量不足:500");
                return;
            }

            DeleteKnapsackItemNum("金币", myCoin, 500, groupPath, e.FromQQ.ToString());

            iniTool.IniWriteValue(groupPath, challengeInfoIni, e.FromQQ.ToString(), "挑战时间", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));

            if (userNum == 0)
            {
                for (int i = 1; i <= 10; i++)
                {
                    string name = iniTool.IniReadValue(groupPath, challengeInfoIni, "排名", i.ToString());
                    if (name.Equals("无"))
                    {
                        iniTool.IniWriteValue(groupPath, challengeInfoIni, "排名", i.ToString(), user.Name + "|" + e.FromQQ.ToString());
                        iniTool.IniWriteValue(groupPath, challengeInfoIni, e.FromQQ.ToString(), "名次", i.ToString());
                        Common.CqApi.SendGroupMessage(e.FromGroup, "[" + user.Name + "] 挑战成功! 当前排名:" + i.ToString());
                        return;
                    }
                }

                PK(e, groupPath, user, userNum, 10);
                return;
            }

            PK(e, groupPath, user, userNum, userNum - 1);
            return;
        }
Exemple #22
0
        private void showProtect(User user, CqGroupMessageEventArgs e)
        {
            string res = "您当前的保护为:" + user.Protect + Environment.NewLine;

            res += "输入:保护 50";

            Common.CqApi.SendGroupMessage(e.FromGroup, res);

            return;
        }
Exemple #23
0
        // 存储物品
        private void SetWarehouse(User user, CqGroupMessageEventArgs e, string groupPath, string itemName, int nowItemNum, int useNum = 1)
        {
            int myItem = iniTool.ReadInt(groupPath, warehouseIni, e.FromQQ.ToString(), itemName, 0);

            iniTool.WriteInt(groupPath, warehouseIni, e.FromQQ.ToString(), itemName, useNum + myItem);

            DeleteKnapsackItemNum(itemName, nowItemNum, useNum, groupPath, e.FromQQ.ToString());

            Common.CqApi.SendGroupMessage(e.FromGroup, "[" + user.Name + "] :" + "成功存入 " + itemName + "*" + useNum.ToString());
        }
Exemple #24
0
        public void THBQuery(CqGroupMessageEventArgs e, string arg)
        {
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
            using (WebClient client = new WebClient())
            {
                XmlDocument document = new XmlDocument();
                XmlReader   reader   = XmlReader.Create(client.OpenRead(THB_QUERY_CMD + arg));
                document.Load(reader);

                var body  = document.LastChild;
                var api   = body.ChildNodes.Item(0);
                var pages = api.ChildNodes.Item(0);
                var page  = pages.ChildNodes.Item(0);

                string result =
                    "----------------" + "\n" +
                    "● " + page.Attributes.GetNamedItem("title").InnerText + "\n" +
                    "----------------" + "\n";
                if (page.ChildNodes.Count > 0)
                {
                    var extract = page.ChildNodes.Item(0);
                    var text    = extract.InnerText.Replace("\n\n", "\n");

                    result += (text + "\n");
                }
                else
                {
                    result += ("么有结果!" + "\n");
                }

                if (result.Length <= 128)
                {
                    Common.CqApi.SendGroupMessage(e.FromGroup, result);
                }
                else
                {
                    Common.CqApi.SendGroupMessage(e.FromGroup, result.Substring(0, 64) + " ... " + result.Substring(128, 64) + " ...");
                    try
                    {
                        var screenshotJob = ScreenshotJobBuilder.Create("https://thwiki.cc/" + arg)
                                            .SetBrowserSize(512, 2048).SetCaptureZone(new CroppedZone(0, 0, 512, 2048)).SetTrigger(new WindowLoadTrigger());
                        Image image = screenshotJob.Freeze();

                        var uuid = Guid.NewGuid().ToString("N");
                        image.Save("data/image/" + uuid + ".png");
                        string cqCode = Common.CqApi.CqCode_Image(uuid + ".png");
                        Common.CqApi.SendGroupMessage(e.FromGroup, cqCode);
                    }
                    catch (Exception ex)
                    {
                        Common.CqApi.SendGroupMessage(e.FromGroup, "图片抓取出错(((");
                    }
                }
            }
        }
Exemple #25
0
 public void ReceiveGroupMessage(object sender, CqGroupMessageEventArgs e)
 {
     tryInit();
     try
     {
         mmdk.dealGroupMsg(e.FromGroup, e.FromQQ, e.Message);
     }catch (Exception ex)
     {
         sendPrivate(mmdk.masterQQ, ex.Message + "\r\n" + ex.StackTrace);
     }
 }
Exemple #26
0
        public void MoveForEnemy(User user, Enemy enemy, string groupPath, CqGroupMessageEventArgs e)
        {
            if (enemy.Move != "")
            {
                user.Pos = enemy.Move;

                iniTool.IniWriteValue(groupPath, userInfoIni, e.FromQQ.ToString(), "当前位置", user.Pos);

                Common.CqApi.SendGroupMessage(e.FromGroup, "您已传送至:" + user.Pos);
            }
        }
Exemple #27
0
        // 设置Vip信息
        protected void SetVipInfo(Vip vip, CqGroupMessageEventArgs e, string groupPath)
        {
            string userId = e.FromQQ.ToString();

            iniTool.IniWriteValue(groupPath, vipInfoIni, userId, "等级", vip.Level.ToString());
            iniTool.IniWriteValue(groupPath, vipInfoIni, userId, "到期时间", vip.endTime);
            iniTool.IniWriteValue(groupPath, vipInfoIni, userId, "保护", vip.Protect.ToString());
            iniTool.IniWriteValue(groupPath, vipInfoIni, userId, "成功率", vip.SuccessRate.ToString());
            iniTool.IniWriteValue(groupPath, vipInfoIni, userId, "挂机时间", vip.OnHookTime);
            iniTool.IniWriteValue(groupPath, vipInfoIni, userId, "挂机类型", vip.OnHookType);
            iniTool.IniWriteValue(groupPath, vipInfoIni, userId, "次数", vip.Number.ToString());
        }
Exemple #28
0
        public override void Request(object sender, CqGroupMessageEventArgs e, string groupPath)
        {
            string[] arr = e.Message.Split(' ');

            if (arr.Length > 1)
            {
                string propItem = iniTool.IniReadValue(devPath, itemIni, arr[1], "效果");

                if (propItem != "")
                {
                    RecoveryItem recoveryItem = GetRecoveryItem(arr[1]);

                    string propItemInfo = "[" + arr[1] + "]" + Environment.NewLine;

                    foreach (string name in GameConfig.recoveryItem)
                    {
                        propItemInfo += name + "=" + iniTool.IniReadValue(devPath, itemIni, arr[1], name) + Environment.NewLine;
                    }

                    propItemInfo = SubRN(propItemInfo);

                    Common.CqApi.SendGroupMessage(e.FromGroup, propItemInfo);

                    return;
                }

                string equipItem = iniTool.IniReadValue(devPath, equipIni, arr[1], "装备方式");

                if (equipItem != "")
                {
                    Equip equip = GetEquip(arr[1]);

                    string equipInfo = "[" + arr[1] + "]" + Environment.NewLine;

                    foreach (string eq in GameConfig.equip)
                    {
                        equipInfo += eq + "=" + iniTool.IniReadValue(devPath, equipIni, arr[1], eq) + Environment.NewLine;
                    }

                    equipInfo = SubRN(equipInfo);

                    Common.CqApi.SendGroupMessage(e.FromGroup, equipInfo);

                    return;
                }

                Common.CqApi.SendGroupMessage(e.FromGroup, "不能查看:" + arr[1]);

                return;
            }
        }
Exemple #29
0
        private void endOnHook(User user, CqGroupMessageEventArgs e, string groupPath)
        {
            Vip vip = GetVipInfo(e, groupPath);

            if (vip.OnHookTime == "")
            {
                Common.CqApi.SendGroupMessage(e.FromGroup, "您未处于挂机中");
                return;
            }

            DateTime startTime = Convert.ToDateTime(vip.OnHookTime);

            DateTime nowTime = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));

            if (!user.isVip)
            {
                nowTime = Convert.ToDateTime(vip.endTime);
            }

            TimeSpan timeSpan = nowTime.Subtract(startTime);

            int mTime = (int)Math.Round(timeSpan.TotalMinutes);

            if (vip.OnHookType == "金币")
            {
                int coin = iniTool.ReadInt(devPath, vipIni, "挂机", "金币", 5);

                SetKnapsackItemNum("金币", coin * mTime, groupPath, e.FromQQ.ToString());

                Common.CqApi.SendGroupMessage(e.FromGroup, "共挂机:" + mTime + "分钟, 获得金币:" + mTime * coin);
            }
            else
            {
                int exp = iniTool.ReadInt(devPath, vipIni, "挂机", "经验", 10);

                user.Exp += exp * mTime;

                iniTool.IniWriteValue(groupPath, userInfoIni, e.FromQQ.ToString(), "经验", user.Exp.ToString());

                Common.CqApi.SendGroupMessage(e.FromGroup, "共挂机:" + mTime + "分钟, 获得经验:" + mTime * exp);

                eventManage.OnIsUplevel(user, groupPath, e);
            }

            vip.OnHookTime = "";
            vip.OnHookType = "";

            SetVipInfo(vip, e, groupPath);

            return;
        }
Exemple #30
0
        /// <summary>
        /// qq点歌
        /// </summary>
        /// <param name="e"></param>
        private void ToSongsQQ(string msgs, CqGroupMessageEventArgs e)
        {
            try
            {
                int seeid = -1;
                if (msgs.Contains("。。"))
                {
                    var singer = msgs.Substring(msgs.IndexOf("。。") + 2);
                    var song   = msgs.Substring(0, msgs.IndexOf("。。"));
                    var list   = GetUrlAllSearch(song);
                    if (list == null)
                    {
                        Common.CqApi.SendGroupMessage(e.FromGroup, Common.CqApi.CqCode_At(e.FromQQ) + "未搜索到歌曲");
                        return;
                    }

                    var musi = list.Where(a => a.singers.Contains(singer)).FirstOrDefault();
                    if (musi == null)
                    {
                        Common.CqApi.SendGroupMessage(e.FromGroup, Common.CqApi.CqCode_At(e.FromQQ) + "未搜索到" + singer + "的《" + song + "》");
                        return;
                    }

                    var music = Common.CqApi.CqCode_Music(musi.songid);
                    seeid = Common.CqApi.SendGroupMessage(e.FromGroup, music);
                }
                else
                {
                    var list = GetUrlAllSearch(msgs);
                    if (list == null)
                    {
                        Common.CqApi.SendGroupMessage(e.FromGroup, Common.CqApi.CqCode_At(e.FromQQ) + "未搜索到歌曲");
                        return;
                    }

                    var music = Common.CqApi.CqCode_Music(list[0].songid);
                    seeid = Common.CqApi.SendGroupMessage(e.FromGroup, music);
                }
                if (seeid < 0)
                {
                    Common.CqApi.SendGroupMessage(e.FromGroup, Common.CqApi.CqCode_At(e.FromQQ) + "歌曲发送失败");
                }
            }
            catch (Exception ex)
            {
                Common.CqApi.SendGroupMessage(e.FromGroup, "未搜索到歌曲");
                return;

                throw ex;
            }
        }