public static void SendBotStatus(GroupID group) { var sb = new StringBuilder(); var q1 = Task.Run(() => WebHelper.TryGet("https://warframestat.us")); var q2 = Task.Run(() => WebHelper.TryGet("https://api.warframe.market/v1/items/valkyr_prime_set/orders?include=item")); // var q3 = Task.Run(() => WebHelper.TryGet("https://api.richasy.cn/wfa/rm/riven")); // var q4 = Task.Run(() => WebHelper.TryGet("https://10o.io/kuvalog.json")); Task.WaitAll(q1, q2 /*, q3, q4*/); var apistat = q1.Result; var wmstat = q2.Result; // var wfastat = q3.Result; // var kuvastat = q4.Result; if (apistat.IsOnline && wmstat.IsOnline /*&& wfastat.IsOnline && kuvastat.IsOnline*/) { sb.AppendLine("机器人状态: 一切正常"); } else { sb.AppendLine("机器人状态: 不正常"); } sb.AppendLine($"插件版本: *不知道*"); sb.AppendLine($" 任务API: {apistat.Latency}ms [{(apistat.IsOnline ? "在线" : "离线")}]"); sb.AppendLine($" WarframeMarket: {wmstat.Latency}ms [{(wmstat.IsOnline ? "在线" : "离线")}]"); // sb.AppendLine($" WFA紫卡市场: {wfastat.Latency}ms [{(wfastat.IsOnline ? "在线" : "离线")}]"); // sb.AppendLine($" 赤毒/仲裁API: {kuvastat.Latency}ms [{(kuvastat.IsOnline ? "在线" : "离线")}]"); var commit = CommitsGetter.Get("https://api.github.com/repos/TRKS-Team/WFBot/commits")?.Format() ?? "GitHub Commit 获取异常, 可能是请求次数过多, 如果你是机器人主人, 解决方案请查看 FAQ."; sb.AppendLine(commit); sb.ToString().Trim().AddPlatformInfo().SendToGroup(group); }
public static void SendGroup(GroupID g, string content) { var qq = g.ID; // 避免重复发送同一条消息 if (previousMessageDic.ContainsKey(qq) && content == previousMessageDic[qq]) { return; } previousMessageDic[qq] = content; ConnectorManager.Connector.SendGroupMessage(g, content); IncreaseCallCounts(g); //Thread.Sleep(1000); //我真的很生气 为什么傻逼tencent服务器就不能让我好好地发通知 NMSL }
public static void SendHelpdoc(GroupID group) { SendGroup(@group, @"欢迎查看机器人唯一指定帮助文档 宣传贴地址: https://warframe.love/thread-230.htm 在线最新文档: https://github.com/TRKS-Team/WFBot/blob/universal/README.md 项目地址: https://github.com/TRKS-Team/WFBot 赞助(乞讨)地址: https://afdian.net/@TheRealKamisama 您的赞助会成为我们维护本项目的动力. 本机器人为公益项目, 间断维护中. 如果你想给你的群也整个机器人, 请在上方项目地址了解"); if (File.Exists("data/image/帮助文档.png")) { SendGroup(@group, @"[CQ:image,file=\帮助文档.png]"); } else { SendGroup(@group, @"作者: TheRealKamisama 参数说明: <>为必填参数, []为选填参数, {}为附加选填参数, ()为补充说明 如果群里没有自动通知 请务必检查是否启用了通知功能 /遗物 <关键词> | 查询遗物的内容 /wiki [关键词] | 搜索 wiki 上的页面 /午夜电波 | 每日每周即将过期的挑战 /机器人状态 | 机器人目前的运行状态 /警报 | 所有警报 /入侵 | 所有入侵 /突击 | 所有突击 /活动 | 所有活动 /虚空商人 | 奸商的状态 /平原 | 地球&金星&火卫二平原的时间循环 /查询 <物品名称> {-qr} {-b} | 查询 WarframeMarket, 查询未开紫卡请输入: 手枪未开紫卡 /紫卡 <武器名称> | 紫卡市场 数据来自 WFA 紫卡市场 /地球赏金 [1-5]| 地球平原的全部/单一赏金任务 /金星赏金 [1-5]| 金星平原的全部/单一赏金任务 /裂隙 | 查询全部裂隙 /翻译 <关键词> |(eg. 致残突击 犀牛prime) 中 -> 英 / 英 -> 中 翻译 /小小黑 小小黑的信息 *私聊*管理命令: /添加群 ******* 群号 | 启用 [群号] 对应的群的通知功能 /删除群 ******* 群号 | 禁用 [群号] 对应的群的通知功能 没有启用通知的群不会收到机器人的任务提醒 "); } }
public static void SendGroup(GroupID g, string content) { if (MessengerHandlers.MessageAlternateHandler != null) { MessengerHandlers.MessageAlternateHandler(content); return; } var qq = g.ID; if (previousMessageDic.ContainsKey(qq) && content == previousMessageDic[qq]) { return; } previousMessageDic[qq] = content; ConnectorManager.Connector.SendGroupMessage(g, content); IncreaseCallCounts(g); //Thread.Sleep(1000); //我真的很生气 为什么傻逼tencent服务器就不能让我好好地发通知 NMSL }
/* 当麻理解不了下面的代码 */ // 现在可以了 public static void SendToGroup(this string content, GroupID qq) { SendGroup(qq, content); }