public static int Event_eventGroupMsg(int subType, int msgId, long fromGroup, long fromQQ, string fromAnonymous, IntPtr msg, int font) { if (Event_eventGroupMsgHandler != null) { CQGroupMessageEventArgs args = new CQGroupMessageEventArgs(AppData.CQApi, AppData.CQLog, 2, 2, "群消息处理", "_eventGroupMsg", 30000, subType, msgId, fromGroup, fromQQ, fromAnonymous, msg.ToString(CQApi.DefaultEncoding), false); Event_eventGroupMsgHandler(typeof(CQEventExport), args); return((int)(args.Handler ? CQMessageHandler.Intercept : CQMessageHandler.Ignore)); } return(0); }
/// <summary> /// 赠送 /// </summary> /// <param name="e"></param> public static void GiveHandle(CQGroupMessageEventArgs e) { //解析参数 CQCode cqat = e.FromQQ.CQCode_At(); var qq = e.FromQQ.Id; //获取个人信息 if (!Game.Players.ContainsKey(qq)) { FixStroy.WarnNoCreateUser(e); return; } var p = Game.Players[qq]; p.SetEIn(e); if (p.LevelNum < 7) { p.SendMes("境界达到寻灵境才可以赠送东西给伴侣物品"); return; } if (e.Message.Text == "赠送") { //展示信息 p.SendMes("使用‘赠送#物品名’来把自己背包中的一个道具,赠送给自己的伴侣"); return; } if (e.Message.Text.Contains("赠送#")) { //展示信息 var name = e.Message.Text.Split('#')[1]; if (!p.Package.Contain(name)) { p.SendMes("请不要送出你没有的物品"); return; } if (p.StatusInt.Get("双修分") < 50) { p.SendMes("清热分还不到50,还不能赠送物品~请再接再厉"); return; } p.Package.LoseOne(name); var p2 = Game.Players[long.Parse(p.StatusStr.Get("双修对象"))]; //获得 p2.Package.AddOne(name); p.SendMes($"你失去了{name},对方获得了{name}"); } return; }
public static void processGroupMessage(CQGroupMessageEventArgs context) { foreach (MessageProcess messageObserver in list) { messageObserver.processGroupMsg(context); if (context.Handler) { return; } } }
public void GroupMessage(object sender, CQGroupMessageEventArgs e) { var config = WhatDidToday.Config; var commandUrge = config.GroupCommandUrge.Replace("%Name%", config.CreatorName); var qq = config.CreatorQQ; if (e.Message.OriginalMessage == commandUrge) { AppData.CQApi.SendPrivateMessage(qq, config.PrivateUrge.Replace("%Name%", config.CreatorName)); } }
void ReadConfig(CQGroupMessageEventArgs e) { string path = $@"{cq.CQApi.AppDirectory}Config.ini"; order_KC1 = INIhelper.IniRead("Order", "KC1", "#扩充单抽", path); order_KC10 = INIhelper.IniRead("Order", "KC10", "#扩充十连", path); order_JZ1 = INIhelper.IniRead("Order", "JZ1", "#精准单抽", path); order_JZ10 = INIhelper.IniRead("Order", "JZ10", "#精准十连", path); order_register = INIhelper.IniRead("Order", "Register", "#抽卡注册", path); order_sign = INIhelper.IniRead("Order", "Sign", "#打扫甲板", path); order_signreset = INIhelper.IniRead("Order", "SignReset", "#甲板积灰", path); order_querydiamond = INIhelper.IniRead("Order", "QueryDiamond", "#我的水晶", path); order_help = INIhelper.IniRead("Order", "Help", "#抽卡帮助", path); order_getpool = INIhelper.IniRead("Order", "GetPool", "#获取池子", path); KC1 = INIhelper.IniRead("Answer", "KC1", "少女祈祷中……", path); KC10 = INIhelper.IniRead("Answer", "KC10", "少女祈祷中……", path); JZ1 = INIhelper.IniRead("Answer", "JZ1", "少女祈祷中……", path); JZ10 = INIhelper.IniRead("Answer", "JZ10", "少女祈祷中……", path); register = INIhelper.IniRead("Answer", "Register", "<@>欢迎上舰,这是你的初始资源(<#>)水晶", path); mutiRegister = INIhelper.IniRead("Answer", "MutiRegister", "重复注册是不行的哦", path); sign1 = INIhelper.IniRead("Answer", "Sign1", "大姐你回来了,天气这么好一起多逛逛吧", path); sign2 = INIhelper.IniRead("Answer", "Sign2", "<@>这是你今天清扫甲板的报酬,拿好(<#>水晶)", path); mutiSign = INIhelper.IniRead("Answer", "MutiSign", "今天的甲板挺亮的,擦一遍就行了", path); noReg = INIhelper.IniRead("Answer", "NoReg", "<@>不是清洁工吧?来输入#抽卡注册 来上舰", path); lowDiamond = INIhelper.IniRead("Answer", "LowDiamond", "<@>水晶不足,无法进行抽卡,你还剩余<#>水晶", path); queryDiamond = INIhelper.IniRead("Answer", "QueryDiamond", "<@>你手头还有<#>水晶", path); IniObject iObject = IniObject.Load(path, Encoding.Default); // 从指定的文件中读取 Ini 配置项, 参数1: 文件路径, 参数2: 编码格式 [默认: ANSI] try { IniValue value1 = iObject["Answer"]["Help"]; help = value1.ToString().Replace("\\", @"\"); } catch { help = ""; } if (help == "") { help = "水银抽卡人 给你抽卡的自信(~ ̄▽ ̄)~ \n合成图片以及发送图片需要一些时间,请耐心等待\n单抽是没有保底的\n#抽卡注册\n#我的水晶\n#打扫甲板(签到)\n#甲板积灰(重置签到,管理员限定)\n\n#精准单抽\n#扩充单抽\n#精准十连\n#扩充十连"; } reset1 = INIhelper.IniRead("Answer", "Reset1", "贝贝龙来甲板找女王♂van,把甲板弄脏了,大家又得打扫一遍", path); reset2 = INIhelper.IniRead("Answer", "Reset2", "草履虫非要给鸭子做饭,厨房爆炸了,黑紫色的东西撒了一甲板,把甲板弄脏了,大家又得打扫一遍", path); reset3 = INIhelper.IniRead("Answer", "Reset3", "你和女武神们被从深渊扔了回来,来自深渊的炉灰把甲板弄脏了,大家又得打扫一遍", path); reset4 = INIhelper.IniRead("Answer", "Reset4", "由于神秘东方村庄的诅咒,你抽卡的泪水把甲板弄脏了,大家又得打扫一遍", path); reset5 = INIhelper.IniRead("Answer", "Reset5", "理律疯狂在甲板上逮虾户,把甲板弄脏了,大家又得打扫一遍", path); reset6 = INIhelper.IniRead("Answer", "Reset6", "希儿到处找不到鸭子,里人格暴走,把甲板弄脏了,大家又得打扫一遍", path); registermin = Convert.ToInt32(INIhelper.IniRead("GetDiamond", "RegisterMin", "0", path)); registermax = Convert.ToInt32(INIhelper.IniRead("GetDiamond", "RegisterMax", "14000", path)); signmin = Convert.ToInt32(INIhelper.IniRead("GetDiamond", "SignMin", "0", path)); signmax = Convert.ToInt32(INIhelper.IniRead("GetDiamond", "SignMax", "14000", path)); }
private static string DBPath; //数据库路径 #endregion #region 构造函数 /// <summary> /// 在接受到群消息时使用 /// </summary> /// <param name="sender">sender object</param> /// <param name="eventArgs">CQAppEnableEventArgs类</param> /// <param name="time">触发时间</param> public GuildManagerDBHelper(object sender, CQGroupMessageEventArgs eventArgs) { this.QQID = eventArgs.FromQQ.Id; this.GroupId = eventArgs.FromGroup.Id; this.Sender = sender; this.EventArgs = eventArgs; GuildId = new string[] //公会信息 { GroupId.ToString(), //公会所在群号 }; DBPath = SugarUtils.GetDBPath(eventArgs.CQApi.GetLoginQQ().Id.ToString()); }
/// <summary> /// Type=2 群消息<para/> /// 处理收到的群消息 /// </summary> /// <param name="sender">事件的触发对象</param> /// <param name="e">事件的附加参数</param> public void GroupMessage(object sender, CQGroupMessageEventArgs e) { // 本子程序会在酷Q【线程】中被调用,请注意使用对象等需要初始化(CoInitialize,CoUninitialize)。 // 这里处理消息 if (e.IsFromAnonymous) { e.Handler = false; return; } MessageProcessInterface.processGroupMessage(e); }
public string Handler(CQGroupMessageEventArgs e, Base_SQLHelper.SQLHelperData b) { if (e.FromGroup.SetGroupMemberBanSpeak(e.FromQQ, TimeSpan.FromHours(2))) { if (SQL.UserExists(b, e.FromQQ)) { SQL.AddFavorEveryChat(b, e.FromQQ); } return(CQApi.CQCode_Image("sm/cai.jpg").ToString()); } return("臣妾做不到啊"); }
public static void MenuHandle(CQGroupMessageEventArgs e) { //解析参数 CQCode cqat = e.FromQQ.CQCode_At(); //展示信息 e.FromGroup.SendGroupMessage(cqat, " ", Face.RandomFace(), @" 签到 挑战@一个玩家 查看 查看#物品名 装备栏 看大佬 使用#物品名 购买#物品名 商店 双修@一个玩家"); }
public string Handler(CQGroupMessageEventArgs e, Base_SQLHelper.SQLHelperData b) { if (e.FromGroup.SetGroupMemberBanSpeak(e.FromQQ, TimeSpan.FromHours(8))) { if (SQL.UserExists(b, e.FromQQ)) { SQL.AddFavorEveryChat(b, e.FromQQ); } return("有个好梦~"); } return("臣妾做不到啊"); }
public static void RobustHandle(CQGroupMessageEventArgs e) { //解析参数 var qq = e.FromQQ.Id; var codes = e.Message.CQCodes; //无此人,直接返回 if (!Game.Players.ContainsKey(qq)) { return; } var p = Game.Players[qq]; p.SetEIn(e); //无此道具,提示返回 if (!p.Package.Contain("神偷手套")) { p.SendMes("你没有神偷手套,无法偷取"); return; } //异常处理 if (codes.Count != 1) { p.SendMes("请选择唯一一个角色"); return; } //获取被偷玩家 long qq2 = long.Parse(codes[0].Items["qq"]); //如果这名玩家是自己 if (p.QQ == qq2) { p.SendMes("请不要偷取自己"); return; } if (!Game.Players.ContainsKey(qq2)) { FixStroy.WarnNoUser(e); return; } var p2 = Game.Players[qq2]; int num = p2.StatusInt.Get("修为增加数值"); p.XW += num; p2.XW -= num; p.SendMes($"你成功从对方处偷取了修为{num}点"); p.Package.LoseOne("神偷手套"); }
/// <summary> /// 收到群消息 /// </summary> /// <param name="sender">事件来源</param> /// <param name="e">事件参数</param> public void GroupMessage(object sender, CQGroupMessageEventArgs e) { #region ---AV号与BV号的转换--- if (e.Message.Text.Contains("bilibili.com/video/BV")) { { try { string bv_replace = "/BV(.){9,10}"; string bv = System.Text.RegularExpressions.Regex.Match(e.Message.Text, bv_replace).ToString(); bv = bv.Replace("/", ""); WebClient wb = new WebClient(); byte[] DownloadData = wb.DownloadData("http://api.bilibili.com/x/web-interface/archive/stat?bvid=" + bv); string EncodeStr = System.Text.Encoding.UTF8.GetString(DownloadData); JavaScriptSerializer js = new JavaScriptSerializer(); bilibiliClass.Rootobject root = js.Deserialize <bilibiliClass.Rootobject>(EncodeStr); e.CQApi.SendGroupMessage(e.FromGroup, CQApi.CQCode_At(e.FromQQ), "AV号:av" + root.data.aid + "\nBV号:" + root.data.bvid + "\n播放量:" + root.data.view + "\n收藏量:" + root.data.favorite); } catch { e.CQApi.SendGroupMessage(e.FromGroup, CQApi.CQCode_At(e.FromQQ) + "哦豁,出错了。"); e.Handler = false; return; } } } if (e.Message.Text.Contains("bilibili.com/video/av")) { { try { string av_replace = "/av(.){1,10}"; string av = System.Text.RegularExpressions.Regex.Match(e.Message.Text, av_replace).ToString(); av = av.Replace("/av", ""); WebClient wb = new WebClient(); byte[] DownloadData = wb.DownloadData("http://api.bilibili.com/x/web-interface/archive/stat?aid=" + av); string EncodeStr = System.Text.Encoding.UTF8.GetString(DownloadData); JavaScriptSerializer js = new JavaScriptSerializer(); bilibiliClass.Rootobject root1 = js.Deserialize <bilibiliClass.Rootobject>(EncodeStr); e.CQApi.SendGroupMessage(e.FromGroup, CQApi.CQCode_At(e.FromQQ), "AV号:av" + root1.data.aid + "\nBV号:" + root1.data.bvid + "\n播放量:" + root1.data.view + "\n收藏量:" + root1.data.favorite); } catch { e.CQApi.SendGroupMessage(e.FromGroup, CQApi.CQCode_At(e.FromQQ) + "哦豁,出错了。"); e.Handler = false; return; } } } #endregion }
/// <summary> /// 收到群消息 /// </summary> /// <param name="sender">事件来源</param> /// <param name="e">事件参数</param> public void GroupMessage(object sender, CQGroupMessageEventArgs e) { // 获取 At 某人对象 if (e.FromGroup.Id == 451362594) { CQCode cqat = e.FromQQ.CQCode_At(); // 往来源群发送一条群消息, 下列对象会合并成一个字符串发送 e.FromGroup.SendGroupMessage(cqat, " 您发送了一条消息: ", e.Message); // 设置该属性, 表示阻塞本条消息, 该属性会在方法结束后传递给酷Q e.Handler = true; } }
public static void MineHandle(CQGroupMessageEventArgs e) { e.FromGroup.SendGroupMessage($"你说了’{cookies.ThatWords.word}’,踩到地雷了!'负伤'加入物品栏!"); //如果他没创建游戏,也没关系 try { Game.Players[e.FromQQ.Id].Package.AddOne("负伤"); } catch { e.FromGroup.SendGroupMessage("你还未开始游戏,物品栏未创建,输入‘签到’来开始"); } cookies.ThatWords.Reset(); }
public void GroupMessage(object sender, CQGroupMessageEventArgs e) { Chat chat = Chat.Of(e.FromGroup.Id); string msg = e.Message.Text; if (msg.StartsWith(Global.Prefix)) { chat.AddMessage(e.Message.Text, e.FromQQ.Id, Chat.Message.Command); QQGroupMemberType memberType = e.FromGroup.GetGroupMemberInfo(e.FromQQ).MemberType; DMEnv env = new DMEnv( e.FromQQ.Id, e.FromGroup.Id, memberType == QQGroupMemberType.Manage || memberType == QQGroupMemberType.Creator ); if (Global.DoAt) { env.Append(CQApi.CQCode_At(e.FromQQ)); } if (Global.Reply(msg, env)) { string reply = env.ToString().Trim(); chat.SendMessage(reply, Chat.Message.Reply); e.CQLog.Info("ArkhamDiceMaid", "响应成功"); } else { e.CQLog.Info("ArkhamDiceMaid", "响应失败"); } } else { List <CQCode> codes = e.Message.CQCodes; if (codes?.Count > 0) { long qq = e.FromQQ.Id; foreach (CQCode code in codes) { switch (code.Function) { case CQFunction.Image: chat.AddMessage(e.CQApi.ReceiveImage(code), qq, Chat.Message.Image); break; } } } else { chat.AddMessage(e.Message.Text, e.FromQQ.Id); } } }
public string Handler(CQGroupMessageEventArgs e, Base_SQLHelper.SQLHelperData b) { if (!SQL.HasTable(b)) { return(""); } if (SQL.UserExists(b, e.FromQQ)) { SQL.AddFavorEveryChat(b, e.FromQQ); String _reply = SQL.GetFavor(b, e.FromQQ).ToString(); return("好感度" + _reply); } return("不认识的孩子呢"); }
public string Handler(CQGroupMessageEventArgs e, Base_SQLHelper.SQLHelperData b) { if (!SQL.UserExists(b, e.FromQQ)) { return("不认识的孩子呢"); } SQL.AddFavorEveryChat(b, e.FromQQ); TimeSpan t = DateTime.Now.TimeOfDay; if (SQL.RenewSign(b, e.FromQQ)) { if (t < LateNight) { return("记得保温杯多泡枸杞\n签到成功,获得水晶" + SQL.DailySignWithCashUpdate(b, e.FromQQ).ToString()); } else if (t < Overnight) { return("在?才八点\n签到成功,获得水晶" + SQL.DailySignWithCashUpdate(b, e.FromQQ).ToString()); } else if (t < EarlyMorning) { return("今天好像很早desu,补作业?\n签到成功,获得水晶" + SQL.DailySignWithCashUpdate(b, e.FromQQ).ToString()); } else if (t < Morning) { return("早上好~\n签到成功,获得水晶" + SQL.DailySignWithCashUpdate(b, e.FromQQ).ToString()); } else if (t < Forenoon) { return("上午好!\n签到成功,获得水晶" + SQL.DailySignWithCashUpdate(b, e.FromQQ).ToString()); } else if (t < Noon) { return("做懒狗舒服吗?\n签到成功,获得水晶" + SQL.DailySignWithCashUpdate(b, e.FromQQ).ToString()); } else if (t < Afternoon) { return("午安~\n签到成功,获得水晶" + SQL.DailySignWithCashUpdate(b, e.FromQQ).ToString()); } else if (t < Night) { return("是展现真正技术的时候了!\n签到成功,获得水晶" + SQL.DailySignWithCashUpdate(b, e.FromQQ).ToString()); } else { return("[CQ:image,file=rand/5.jpg]\n签到成功,获得水晶" + SQL.DailySignWithCashUpdate(b, e.FromQQ).ToString()); } } return("签过到了"); }
//奖励#邪气石@角色 public static void SendHandle(CQGroupMessageEventArgs e) { //解析参数 var qq = e.FromQQ.Id; var codes = e.Message.CQCodes; //获取个人信息 if (!Game.Players.ContainsKey(qq)) { FixStroy.WarnNoCreateUser(e); return; } var p = Game.Players[qq]; p.SetEIn(e); //如果不是我 long a = 1160564525; if (p.QQ != a) { p.SendMes("你并无此权限"); return; } if (e.Message.Text == "奖励#临别赠言") { e.FromGroup.SendGroupMessage(CQApi.CQCode_AtAll(), "感谢大家这么多天的陪伴,现在,我要休息一会儿了;世界很大,我们有缘再会~"); e.FromGroup.SendGroupMessage("大家最后的数据,会通过私发消息的方式发给大家,再见!"); foreach (var p0 in Game.Players.Values) { try { //文档位置 e.CQApi.SendPrivateMessage(p0.QQ, "百科全书地址:https://zgarry.github.io/SimpleXiuXian/_site/story/index.html"); //因一些原因 e.CQApi.SendPrivateMessage(p0.QQ, @"这是一封告别信。因为QQ考虑到机器人常用来做一些灰产,封停了所有机器人。我们的机器人,面粉团,也不例外。2020.8.7日上午8: 00,我们将正式关闭面粉团。我们坚信,未来的世界会产生更多连接,生活更加美好!面粉团,再见!"); //展示信息 string template = @$ "{p0.Level.Slogan} 境界: {p0.Level.LevelName} LV.{p0.LevelNum} 修为: {p0.XW} 金币: {p0.Gold} 三相: 体质{p0.Basic} | 疯狂{p0.Crazy} | 幸运{p0.Lucky}
public void request(CQGroupMessageEventArgs e, string mark, string description) { int fi = req.FindIndex(m => m.groupid == e.FromGroup.Id && m.mark == mark); if (fi != -1) { e.FromGroup.SendGroupMessage("该请求已被申请,使用'.ac " + fi + "'同意申请。"); return; } req.Add(new Request { groupid = e.FromGroup.Id, mark = mark, signs = "" }); e.FromGroup.SendGroupMessage("黑嘴想要" + mark + "\n" + description + "\n\n如果同意,请三名管理员/群主发送'.ac " + (req.Count - 1) + "'同意申请。"); }
public void GroupMessage(object sender, CQGroupMessageEventArgs e) { if (e.SubType == Sdk.Cqp.Enum.CQGroupMessageType.Group) { LuaEnv.LuaStates.Run(e.FromGroup.Id, "GroupMessage", new { group = e.FromGroup.Id, qq = e.FromQQ.Id, msg = e.Message.Text, id = e.Message.Id, fromAnonymous = e.IsFromAnonymous, ReceivedMessage = new Sdk.Cqp.Model.ReceivedMessage(Common.AppData.CQApi, e.FromGroup.Id, e.FromQQ.Id, e.Message.Id, e.Message.Text) }); } }
static void Intize(object e) { if (e.GetType().Name == "CQGroupMessageEventArgs") { CQGroupMessageEventArgs cq = (CQGroupMessageEventArgs)e; User.groupid = cq.FromGroup.Id; User.qqid = cq.FromQQ.Id; } else { CQPrivateMessageEventArgs cq = (CQPrivateMessageEventArgs)e; User.groupid = -1; User.qqid = cq.FromQQ.Id; } }
public void TestRouter() { Flag = 0; CommandRouter Router = new CommandRouter(); Router.Add(EventType.GM, MatchType.Contains, "test", typeof(TestCommand)); object sender = new object(); CQGroupMessageEventArgs e = null; Router.Handle(sender, e); Assert.AreEqual(1, Flag); }
public string Handler(CQGroupMessageEventArgs e, Base_SQLHelper.SQLHelperData b) { WebClient _Dl = new WebClient(); String Filename = "rand/" + new Random().Next(10000, 99999).ToString() + ".jpg"; try { _Dl.DownloadFile("http://ssr0.cn:8000/ACG", "data/image/" + Filename); return(CQApi.CQCode_Image(Filename).ToString()); } catch { return("下载出错力"); } }
public String Handler(CQGroupMessageEventArgs e, Base_SQLHelper.SQLHelperData b) { if (!SQL.HasTable(b)) { SQL.NewGroupTable(b); } if (!SQL.UserExists(b, e.FromQQ)) { if (SQL.AddUser(b, e.FromQQ)) { return("注册成功"); } return("注册失败"); } return("已经注册了"); }
public static void GameHandle(CQGroupMessageEventArgs e) { if (cookies.ThatWords.Running) { e.FromGroup.SendGroupMessage("上一个游戏还在进行,设置地雷的人为", CQApi.CQCode_At(cookies.ThatWords.qq)); } else { e.FromGroup.SendGroupMessage(@"游戏:蜘蛛地雷 1. 发起者私聊面粉团,设置一个词语,作为地雷 2. 后续说出这个词语的玩家,将踩雷"); //设置当前玩家 cookies.ThatWords.qq = e.FromQQ.Id; e.FromQQ.SendPrivateMessage("嘿~小家伙,请说出你要设置的词语(2-4个字)"); } }
public static string GetWeekRank(CQGroupMessageEventArgs e) { try { var cn = SqliteHelper.GetConnection(); var sb = GetWeekRankText(cn, e); SqliteHelper.CloseConnection(cn); return(sb.ToString()); } catch (Exception exc) { string str = "获取出错,错误信息见日志"; CQSave.CQLog.Info("抽卡周榜", $"获取出错,错误信息:{exc.Message} 在 {exc.StackTrace}"); return(str); } }
public bool Judge(string destStr) => destStr.StartsWith(GetOrderStr()); //这里判断是否能触发指令 public FunctionResult Progress(CQGroupMessageEventArgs e) //群聊处理 { FunctionResult result = new FunctionResult { Result = true, SendFlag = true, }; SendText sendText = new SendText { SendID = e.FromGroup, }; sendText.MsgToSend.Add("这里输入需要发送的文本"); result.SendObject.Add(sendText); return(result); }
public bool processGroupMessage(CQGroupMessageEventArgs e) { for (int i = 0; i < Options.Count; ++i) { Option option = Options[i]; if (e.Message.Text.Contains(option.word)) { if (NeedIntercept("Group", e.FromGroup.Id, option.word, option.count, option.time)) { ApiModel.CQLog.Debug("指令拦截", "[" + option.word + "]调用次数已达上限,请稍后再试。"); return(true); } } } return(false); }
public FunctionResult Progress(CQGroupMessageEventArgs e) { FunctionResult result = new FunctionResult() { Result = true, SendFlag = true, }; //检查额度限制 if (QuotaHelper.QuotaCheck(e.FromGroup, e.FromQQ) is false) { return(result); } PublicVariables.ReadOrderandAnswer(); SendText sendText = new SendText(); sendText.SendID = e.FromGroup; result.SendObject.Add(sendText); if (e.Message.Text.Trim().Length == GetOrderStr().Length) { sendText.MsgToSend.Add("指令无效,请在指令后添加pid"); return(result); } if (!int.TryParse(e.Message.Text.Substring(GetOrderStr().Length).Replace(" ", ""), out int pid)) { sendText.MsgToSend.Add("指令无效,检查是否为纯数字"); return(result); } result.SendFlag = false; e.FromGroup.SendGroupMessage($"正在查询pid={pid}的插画信息,请等待……"); IllustInfo illustInfo = PixivAPI.GetIllustInfo(pid); e.FromGroup.SendGroupMessage(illustInfo.IllustText); var message = e.FromGroup.SendGroupMessage(illustInfo.IllustCQCode); if (illustInfo.R18_Flag) { IniConfig ini = MainSave.ConfigMain; Task task = new Task(() => { Thread.Sleep(ini.Object["R18"]["RevokeTime"] * 1000); e.CQApi.RemoveMessage(message.Id); }); task.Start(); } return(result); }
public FunctionResult Progress(CQGroupMessageEventArgs e) { FunctionResult result = new FunctionResult { Result = true, SendFlag = true, }; SendText sendText = new SendText { SendID = e.FromGroup, }; //检查额度限制 if (QuotaHelper.QuotaCheck(e.FromGroup, e.FromQQ) is false) { return(result); } try { int yandeID = Convert.ToInt32(e.Message.Text.Split(' ')[1]); var t = GetYandePic(yandeID); Directory.CreateDirectory(Path.Combine(MainSave.ImageDirectory, "YandeRePic")); e.FromGroup.SendGroupMessage(t.ToString()); using (HttpWebClient http = new HttpWebClient() { TimeOut = 10000, Encoding = Encoding.UTF8, Proxy = MainSave.Proxy, AllowAutoRedirect = true, }) { string fileName = Path.Combine(MainSave.ImageDirectory, "YandeRePic", $"{t.ID}.jpg"); if (File.Exists(fileName) is false) { http.DownloadFile(t.PicLargeURL, fileName); } } sendText.MsgToSend.Add(CQApi.CQCode_Image(Path.Combine("YandeRePic", $"{t.ID}.jpg")).ToSendString()); } catch (Exception exc) { e.CQLog.Info("YandeReID解析出错", $"错误信息: {exc.Message} 错误位置: {exc.StackTrace}"); sendText.MsgToSend.Add("解析出错,查看日志获取详细信息"); } result.SendObject.Add(sendText); return(result); }