public void ProcessGroupMessage(GroupMessageReceivedContext context) { var content = context.Message; foreach (var item in RuntimeConfig.Config.GroupEvent) { if (item.Regex.IsMatch(content)) { if (context.FromQq == item.QQ) { _mahuaApi.SendGroupMessageExtension(context.FromGroup, item.DefaultReply); continue; } var request = new Model.GroupEventRequest { FromQq = context.FromQq, EventText = context.Message, EventType = item.EventType, Source = context.FromGroup, CreatedTime = DateTime.Now }; //疲劳值, 防止过多重复磕头刷屏. 只回复第一次有效数据 var kotowLog = _qqRobotService.GetEventLog(request).GetAwaiter().GetResult()?.Data; if (kotowLog != null) { continue; } kotowLog = _qqRobotService.CreateEventLog(request).GetAwaiter().GetResult()?.Data; if (!string.IsNullOrWhiteSpace(item.EventReply)) { var msg = item.EventReply .Replace("{Name}", _groupMemberInfosCache.GetGroupNike(context.FromGroup, context.FromQq)) .Replace("{IsContinuous}", (kotowLog.ContinuousCheckIn > 1 ? "连续" : "")) .Replace("{ContinuousNum}", kotowLog.ContinuousCheckIn.ToString()); _mahuaApi.SendGroupMessageExtension(context.FromGroup, msg); } } } }
public void ProcessGroupMessage(GroupMessageReceivedContext context) { // todo 填充处理逻辑 //throw new NotImplementedException(); if (context.Message.StartsWith("我要色图")) { if (context.Message.Equals("我要色图 状态")) { GetStatus(context); } else if (context.Message.Equals("我要色图 排名")) { GetRanking(context); } else if (context.Message.Equals("我要色图") || context.Message.StartsWith("我要色图 ")) { // 如果其他线程正在更新,先睡上10秒。 if (updateLock) { _mahuaApi.SendGroupMessage(context.FromGroup) .At(context.FromQq) .Text(" 老娘都说了还没更新完!花Q!花Q花Q!花~Q!") .Done(); Thread.Sleep(10000); } NeedPorn(context); } } // 不要忘记在MahuaModule中注册 }
/// <summary> /// 获取排名状态 /// </summary> /// <param name="context"></param> private void GetRanking(GroupMessageReceivedContext context) { _mahuaApi.SendGroupMessage(context.FromGroup) .At(context.FromQq) .Text($" 贵群当前最高分为{ranking.FirstOrDefault(kvp => kvp.Value == ranking.Values.Max()).Value},请继续努力哦!") .Done(); }
public void ProcessGroupMessage(GroupMessageReceivedContext context) { if (context.Message == "/help") { _mahuaApi.SendGroupMessage(context.FromGroup, Docs.GetDocsString()); } }
private async Task <string> UploadImageAsync(GroupMessageReceivedContext context) { var imagesFileNames = CQNumberHelper.GetImage(context.Message)?.ToList(); if (imagesFileNames == null) { return("没图片at我搞毛啊."); } List <(string name, byte[] bytes)> images = new List <(string name, byte[] bytes)>(); foreach (var fileName in imagesFileNames) { string imgUrl = await GetImageUrlAsync(fileName); if (string.IsNullOrEmpty(imgUrl)) { continue; } var imgBytes = await GetByteArrayAsync(imgUrl); if (imgBytes.Length == 0) { continue; } images.Add((fileName, imgBytes)); } var result = await _qqRobotService.UploadImage(images, context.FromQq); return($"{_groupMemberInfosCache.GetGroupNike(context.FromGroup, context.FromQq)}的图片:{result.Message}"); }
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(); } } }
public void ProcessGroupMessage(GroupMessageReceivedContext context) { // todo 填充处理逻辑 throw new NotImplementedException(); // 不要忘记在MahuaModule中注册 }
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); }
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来一盘吧?"); } }
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 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); }
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(); //} } }
public void ProcessGroupMessage(GroupMessageReceivedContext context) { if (HotUpdateInfo.PreviousVersion) { return; } if (GroupCallDic.ContainsKey(context.FromGroup)) { if (GroupCallDic[context.FromGroup] > Config.Instance.CallperMinute && Config.Instance.CallperMinute != 0) { return; } } else { GroupCallDic[context.FromGroup] = 0; } Task.Factory.StartNew(() => { var message = HttpUtility.HtmlDecode(context.Message)?.ToLower(); if (!message.StartsWith("/") && Config.Instance.IsSlashRequired) { return; } message = message.StartsWith("/") ? message.Substring(1) : message; var handler = new GroupMessageHandler(context.FromQq.ToHumanQQNumber(), context.FromGroup.ToGroupNumber(), message); var(matched, result) = handler.ProcessCommandInput(); }, TaskCreationOptions.LongRunning); }
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(); } }
/// <summary> /// 检查关键词 /// </summary> /// <param name="context"></param> /// <returns></returns> public string CheckKeyWordAsync(GroupMessageReceivedContext context) { //btc Regex regEnglish = new Regex("^[a-z]"); if (context.Message.Length < 5 && regEnglish.IsMatch(context.Message)) { string key = ConfigManager.CheckSymbol(context.Message); if (!string.IsNullOrEmpty(key)) { string re = _coinmarketcapService.GetTicker(context.Message).Result; return(re); } } //查币价 eos btc if (context.Message.Length > 4 && context.Message.Substring(0, 4).Equals("查币价 ")) { string key = context.Message.Remove(0, 4); string reOkex = _okexService.Ticker(key).Result; string reHuobi = _huobiService.Ticker(key).Result; string[] keys = context.Message.Split(' '); //eos string reCM = _coinmarketcapService.GetTicker(keys[1]).Result; return("【okex】" + reOkex + "\n【火币】" + reHuobi + "\n【cm】" + reCM); } //场外币价 if (context.Message.Equals("场外币价")) { string huobiOTC = _huobiService.LegalTender().Result; return(huobiOTC); } //币圈消息 if (context.Message.Equals("币圈消息")) { NewsResult[] re = _newsService.RequestBiQuanApi(); string reNews = re[0].From + re[0].Content; for (int i = 1; i < re.Length; i++) { reNews += "\n" + re[i].From + re[i].Content; } return(reNews); } //早报 if (context.Message.Equals("早报")) { string reNews = _pmtownService.GetMorningPapaer().Result; return(reNews); } return(null); }
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)); } }
public void ProcessGroupMessage(GroupMessageReceivedContext context) { var ats = CQNumberHelper.GetAtQQ(context.Message)?.ToList(); if (ats != null && ats.Contains(_mahuaApi.GetLoginQq()) && (context.Message.Contains("--help") || context.Message.Contains("-h"))) { _mahuaApi.SendGroupMessageExtension(context.FromGroup, RuntimeConfig.Config.HelpText); } }
public void ProcessGroupMessage(GroupMessageReceivedContext context) { var qq = context.FromQq; var group = context.FromGroup; var msg = context.Message; var handler = new GroupMessageProcessor(qq, @group); handler.ProcessCommandInput(group, msg); }
public void ProcessGroupMessage(GroupMessageReceivedContext context) { var deskid = context.FromGroup; var playerid = context.FromQq; var message = context.Message; var desk = Desk.GetOrCreateDesk(deskid); desk.ParseMessage(playerid, message); // 不要忘记在MahuaModule中注册 }
/// <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) { //[看币价 btc] var re_coinmarketcap = _iMessageHanderService.CheckKeyWordAsync(context); if (!string.IsNullOrEmpty(re_coinmarketcap)) { _mahuaApi.SendGroupMessage(context.FromGroup, re_coinmarketcap); } // 不要忘记在MahuaModule中注册 }
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); }
public void ProcessGroupMessage(GroupMessageReceivedContext context) { Task.Factory.StartNew(() => { var message = HttpUtility.HtmlDecode(context.Message)?.ToLower(); message = message.StartsWith("!") ? message.Substring(1) : message; var handler = new GroupMessageHandler(context.FromQq.ToHumanQQNumber(), context.FromGroup.ToGroupNumber(), message); var(matched, result) = handler.ProcessCommandInput(); }, TaskCreationOptions.LongRunning); }
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); }
/// <summary> /// 获取色图统计状态 /// </summary> /// <param name="context"></param> private void GetStatus(GroupMessageReceivedContext context) { if (status.ContainsKey(context.FromQq)) { if (DateTime.Now.Subtract(status[context.FromQq].dateTimeQueue.Peek()).TotalMinutes < (status[context.FromQq].buff ? 0.1 * cooldown : cooldown) && status[context.FromQq].dateTimeQueue.Count >= quotaInCooldown) { _mahuaApi.SendGroupMessage(context.FromGroup) .At(context.FromQq) .Text($" 你刚刚才要过色图哦,等{(status[context.FromQq].buff ? 0.1 * cooldown : cooldown) - DateTime.Now.Subtract(status[context.FromQq].dateTimeQueue.Peek()).Minutes}分钟再试试看吧!") .Newline() .Text($"你今天已经要过{status[context.FromQq].used}张色图了,当前平均分是{status[context.FromQq].averageScore}。") .Done(); } else { // 昨天得分最高的人可能还没有要过色图,但是因为Super AI Buff初始化的原因所以已经有这个Key了。 if (status[context.FromQq].used == 0) { _mahuaApi.SendGroupMessage(context.FromGroup) .At(context.FromQq) .Text(" 你今天还没有要过色图呢,快去要一份试试看吧!") .Done(); } else if (status[context.FromQq].used < (status[context.FromQq].buff ? 2 * quota : quota)) { _mahuaApi.SendGroupMessage(context.FromGroup) .At(context.FromQq) .Text($" 你现在就可以要色图哦!") .Newline() .Text($"你今天已经要过{status[context.FromQq].used}张色图了,当前平均分是{status[context.FromQq].averageScore}。") .Done(); } else { _mahuaApi.SendGroupMessage(context.FromGroup) .At(context.FromQq) .Text($" 讨厌,你今天已经超过限额啦,明天再来试试吧!") .Newline() .Text($"你今天已经要过{status[context.FromQq].used}张色图了,当前平均分是{status[context.FromQq].averageScore}。") .Done(); } } } else { _mahuaApi.SendGroupMessage(context.FromGroup) .At(context.FromQq) .Text(" 你今天还没有要过色图呢,快去要一份试试看吧!") .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); } }
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); }
public void ProcessGroupMessage(GroupMessageReceivedContext context) { //throw new NotImplementedException(); //复读计数器计数,连续两个消息内容相同,计数器+1并将发言的群成员加入复读机成员名单,反之重置计数器和名单 if (Newbe.Mahua.Plugins.RepeaterBreaker.MahuaEvents.Common.msg == context.Message) { Newbe.Mahua.Plugins.RepeaterBreaker.MahuaEvents.Common.repeatTime++; Newbe.Mahua.Plugins.RepeaterBreaker.MahuaEvents.Common.repeaterList.Add(context.FromQq); } else { Newbe.Mahua.Plugins.RepeaterBreaker.MahuaEvents.Common.msg = context.Message; Newbe.Mahua.Plugins.RepeaterBreaker.MahuaEvents.Common.repeaterList.Clear(); Newbe.Mahua.Plugins.RepeaterBreaker.MahuaEvents.Common.repeatTime = 0; } //复读事件触发,根据执行模式进行禁言操作 if (Newbe.Mahua.Plugins.RepeaterBreaker.MahuaEvents.Common.repeatTime == Newbe.Mahua.Plugins.RepeaterBreaker.MahuaEvents.Common.repeatExecuate) { //正常禁言:禁言最后一个发言的复读机 if (Newbe.Mahua.Plugins.RepeaterBreaker.MahuaEvents.Common.execuateMode == 0) { _mahuaApi.BanGroupMember(context.FromGroup, context.FromQq, TimeSpan.FromMinutes(Newbe.Mahua.Plugins.RepeaterBreaker.MahuaEvents.Common.execuateTime)); } //随机禁言:从复读机名单中随机选择一个禁言 if (Newbe.Mahua.Plugins.RepeaterBreaker.MahuaEvents.Common.execuateMode == 1) { Random ran = new Random(); int RandKey = ran.Next(0, Newbe.Mahua.Plugins.RepeaterBreaker.MahuaEvents.Common.repeaterList.Count() - 1); _mahuaApi.BanGroupMember(context.FromGroup, Newbe.Mahua.Plugins.RepeaterBreaker.MahuaEvents.Common.repeaterList[RandKey], TimeSpan.FromMinutes(Newbe.Mahua.Plugins.RepeaterBreaker.MahuaEvents.Common.execuateTime)); } //强力禁言:禁言在复读机名单中的额所有人 if (Newbe.Mahua.Plugins.RepeaterBreaker.MahuaEvents.Common.execuateMode == 2) { for (int k = 0; k <= Newbe.Mahua.Plugins.RepeaterBreaker.MahuaEvents.Common.repeaterList.Count; k++) { _mahuaApi.BanGroupMember(context.FromGroup, Newbe.Mahua.Plugins.RepeaterBreaker.MahuaEvents.Common.repeaterList[k], TimeSpan.FromMinutes(Newbe.Mahua.Plugins.RepeaterBreaker.MahuaEvents.Common.execuateTime)); } } //重置计数器和复读机名单 Newbe.Mahua.Plugins.RepeaterBreaker.MahuaEvents.Common.repeatTime = 0; Newbe.Mahua.Plugins.RepeaterBreaker.MahuaEvents.Common.repeaterList.Clear(); } // 不要忘记在MahuaModule中注册 }
public void ProcessGroupMessage(GroupMessageReceivedContext context) { var content = context.Message; var ats = CQNumberHelper.GetAtQQ(context.Message)?.ToList(); if (ats == null || !ats.Contains(_mahuaApi.GetLoginQq())) { return; } var m = regex_date.Match(content); if (!m.Success || m.Length == 0) { return; } DateTime date = DateTime.Now; string dateStr = m.Groups[1].Value; switch (dateStr) { case "今日": case "今天": date = DateTime.Today; break; case "昨日": case "昨天": date = DateTime.Today.AddDays(-1); break; default: date = new DateTime(date.Year, int.Parse(m.Groups[3].Value), int.Parse(m.Groups[4].Value)); break; } foreach (var item in RuntimeConfig.Config.GroupEventSerach) { if (!context.Message.Contains(item.Key)) { continue; } var logs = SearchEventLog(item, date, context.FromGroup); if (logs != null) { SendMessage(logs.Data?.Items, logs.Data?.Total ?? 0, item, date, context.FromGroup); } } }
public void ProcessGroupMessage(GroupMessageReceivedContext context) { // 只上报#开头的晚安式消息 string message = context.Message; message = message.Trim(); if (message.StartsWith("#")) { ulong from_qq = Convert.ToUInt64(context.FromQq); ulong from_group = Convert.ToUInt64(context.FromGroup); ulong add_time = Convert.ToUInt64(UnixTimestamp.GetTimeStampLong()); string nick_name = string.Empty; try { nick_name = _mahuaApi.GetGroupMemberInfo(context.FromGroup, context.FromQq).NickName; } catch { nick_name = from_qq.ToString(); } AutoGoodNightLogCache cache = new AutoGoodNightLogCache(); cache.Init(dbConnString); try { string localPath = AppDomain.CurrentDomain.BaseDirectory; localPath = Path.Combine(localPath, "data", "image"); // 图片酷Q码的转换 message = _replaceMsg(localPath, message); // Emojid酷Q码的转换,暂时调整到获取的时候在转换 // message = CqpEmoji.EmojiStringToNormalString(message); cache.InsertLog(from_qq, from_group, message, add_time, nick_name); } catch (Exception e) { ILog Logger = Newbe.Mahua.Logging.LogProvider.For <string>(); Logger.Debug(e.StackTrace); } } }