From 6fd8bd636fe4cb2901b1edd33feb2450acc62461 Mon Sep 17 00:00:00 2001 From: milimoe Date: Mon, 12 Aug 2024 01:02:19 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=82=E9=85=8D=E6=9C=80=E6=96=B0dll?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dll/OneBot-HTTPClient.dll | Bin 76800 -> 79872 bytes src/ListeningTask/FriendMessageTask.cs | 43 ++- src/ListeningTask/GroupBanTask.cs | 2 +- src/ListeningTask/GroupMessageTask.cs | 471 +++++++++++-------------- src/Main.cs | 1 - src/Settings/OSMCore.cs | 4 +- 6 files changed, 232 insertions(+), 289 deletions(-) diff --git a/dll/OneBot-HTTPClient.dll b/dll/OneBot-HTTPClient.dll index 4eff007f35ec6464d18b6765caee71c08ac69e51..991a0adbb918909ee56e903d2bc9d8c50097abc2 100644 GIT binary patch literal 79872 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�l%;!WN>!CxuR)uoATt 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 ListeningTask_handler(FriendMessageEvent e) { - quick_reply = null; + FriendMsgEventQuickReply? quick_reply = null; + try { Sender sender = e.sender; - if (e.user_id == 0 || e.sender.user_id == 0) return; + if (e.user_id == 0 || e.sender.user_id == 0) return quick_reply; Console.WriteLine($"{DateTime.Now:yyyy/MM/dd HH:mm:ss} P/{e.user_id}{(e.detail.Trim() == "" ? "" : " -> " + e.detail)}"); if (GeneralSettings.IsDebug) @@ -34,11 +34,11 @@ namespace Milimoe.RainBOT.ListeningTask if (e.user_id != GeneralSettings.Master && e.CheckThrow(10, out dice)) { Bot.ColorfulCheckPass(sender, "反驳是", dice, 40); - _ = Bot.SendFriendMessage(e.user_id, "随机反驳是", "是你的头"); + await Bot.SendFriendMessage(e.user_id, "随机反驳是", "是你的头"); } else if (e.user_id == GeneralSettings.Master) { - _ = Bot.SendFriendMessage(e.user_id, "随机反驳是", "是你的头"); + await Bot.SendFriendMessage(e.user_id, "随机反驳是", "是你的头"); } } @@ -46,29 +46,26 @@ namespace Milimoe.RainBOT.ListeningTask if (e.detail.Length >= 4 && e.detail[..4] == ".osm") { MasterCommand.Execute(e.detail, e.user_id, false, e.user_id, false); - return; + return quick_reply; } if (GeneralSettings.IsMute && e.detail == "忏悔") { - TaskUtility.NewTask(async () => + if (!await Bot.CheckBlackList(false, e.user_id, e.user_id)) return quick_reply; + string msg = ""; + foreach (long group_id in Bot.Groups.Select(g => g.group_id)) { - if (!await Bot.CheckBlackList(false, e.user_id, e.user_id)) return; - string msg = ""; - foreach (long group_id in Bot.Groups.Select(g => g.group_id)) + if (Bot.BotIsAdmin(group_id) && MuteRecall.Muted[group_id].TryGetValue(e.user_id, out long operator_id) && operator_id == Bot.BotQQ) { - if (Bot.BotIsAdmin(group_id) && MuteRecall.Muted[group_id].TryGetValue(e.user_id, out long operator_id) && operator_id == Bot.BotQQ) - { - MuteRecall.Muted[group_id].Remove(e.user_id); - await Bot.SendMessage(SupportedAPI.set_group_ban, group_id, "忏悔", new SetGroupBanContent(group_id, e.user_id, 0), true); - if (msg != "") msg += "\r\n"; - msg += $"[{group_id}] 忏悔成功!!希望你保持纯真,保持野性的美。"; - } + MuteRecall.Muted[group_id].Remove(e.user_id); + await Bot.SendMessage(SupportedAPI.set_group_ban, group_id, "忏悔", new SetGroupBanContent(group_id, e.user_id, 0), true); + if (msg != "") msg += "\r\n"; + msg += $"[{group_id}] 忏悔成功!!希望你保持纯真,保持野性的美。"; } - if (msg == "") msg = "你无需忏悔。请注意:我不能帮你解除由管理员手动操作的禁言。"; - await Bot.SendFriendMessage(e.user_id, "忏悔", msg); - }); - return; + } + if (msg == "") msg = "你无需忏悔。请注意:我不能帮你解除由管理员手动操作的禁言。"; + await Bot.SendFriendMessage(e.user_id, "忏悔", msg); + return quick_reply; } } catch (Exception ex) @@ -77,6 +74,8 @@ namespace Milimoe.RainBOT.ListeningTask Console.WriteLine(ex); Console.ForegroundColor = ConsoleColor.Gray; } + + return quick_reply; } } } \ No newline at end of file diff --git a/src/ListeningTask/GroupBanTask.cs b/src/ListeningTask/GroupBanTask.cs index 13ad829..609f9df 100644 --- a/src/ListeningTask/GroupBanTask.cs +++ b/src/ListeningTask/GroupBanTask.cs @@ -8,7 +8,7 @@ namespace Milimoe.RainBOT.ListeningTask { public class GroupBanTask { - public static async void ListeningTask_handler(GroupBanEvent e) + public static async Task ListeningTask_handler(GroupBanEvent e) { try { diff --git a/src/ListeningTask/GroupMessageTask.cs b/src/ListeningTask/GroupMessageTask.cs index f140149..86bf4ae 100644 --- a/src/ListeningTask/GroupMessageTask.cs +++ b/src/ListeningTask/GroupMessageTask.cs @@ -1,5 +1,4 @@ using Milimoe.OneBot.Framework; -using Milimoe.OneBot.Framework.Utility; using Milimoe.OneBot.Model.Content; using Milimoe.OneBot.Model.Event; using Milimoe.OneBot.Model.Message; @@ -16,13 +15,14 @@ namespace Milimoe.RainBOT.ListeningTask private readonly static string[] EEWords = ["ee", "鹅鹅", "呃呃", "谔谔", "饿饿"]; private readonly static string[] MuteCommands = ["禁言", "解禁"]; - public static void ListeningTask_handler(GroupMessageEvent e, out GroupMsgEventQuickReply? quick_reply) + public static async Task ListeningTask_handler(GroupMessageEvent e) { - quick_reply = null; + GroupMsgEventQuickReply? quick_reply = null; + try { Sender sender = e.sender; - if (e.user_id == 0 || e.sender.user_id == 0) return; + if (e.user_id == 0 || e.sender.user_id == 0) return quick_reply; Console.WriteLine($"{DateTime.Now:yyyy/MM/dd HH:mm:ss} G/{e.group_id}{(e.detail.Trim() == "" ? "" : " -> " + e.detail)} by {sender.user_id}({(sender.card != "" ? sender.card : sender.nickname)})"); if (GeneralSettings.IsDebug) @@ -38,30 +38,27 @@ namespace Milimoe.RainBOT.ListeningTask // OSM指令 if (e.detail.Length >= 4 && e.detail[..4] == ".osm") { - TaskUtility.NewTask(async () => - { - if (!await Bot.CheckBlackList(true, e.user_id, e.group_id)) return; - MasterCommand.Execute(e.detail, e.user_id, onOSMCore, e.group_id, true); - return; - }); + if (!await Bot.CheckBlackList(true, e.user_id, e.group_id)) return quick_reply; + MasterCommand.Execute(e.detail, e.user_id, onOSMCore, e.group_id, true); + return quick_reply; } if (e.detail.Length >= 5 && (e.detail[..5] == "禁言所有人" || e.detail[..5] == "解禁所有人") && (e.user_id == GeneralSettings.Master || GeneralSettings.UnMuteAccessGroup.Union(GeneralSettings.MuteAccessGroup).Contains(e.user_id)) && Bot.GroupMembers.TryGetValue(e.group_id, out List? members) && members != null) { - TaskUtility.NewTask(async () => await Bot.Mute(e.user_id, e.group_id, e.detail, members.Where(m => m.user_id != GeneralSettings.Master).Select(m => m.user_id))); - return; + await Bot.Mute(e.user_id, e.group_id, e.detail, members.Where(m => m.user_id != GeneralSettings.Master).Select(m => m.user_id)); + return quick_reply; } if (e.detail != "禁言抽奖" && e.detail.Length >= 2 && MuteCommands.Any(e.detail[..2].Contains)) { - TaskUtility.NewTask(async () => await Bot.Mute(e.user_id, e.group_id, e.detail)); - return; + await Bot.Mute(e.user_id, e.group_id, e.detail); + return quick_reply; } if (e.detail.Length >= 4 && e.detail[..4] == "跨群禁言") { - TaskUtility.NewTask(async () => await Bot.MuteGroup(e.user_id, e.group_id, e.detail)); - return; + await Bot.MuteGroup(e.user_id, e.group_id, e.detail); + return quick_reply; } // 撤回消息 @@ -70,326 +67,272 @@ namespace Milimoe.RainBOT.ListeningTask ReplyMessage reply = (ReplyMessage)e.message.Where(m => m.type == "reply").First(); if (int.TryParse(reply.data.id, out int id)) { - TaskUtility.NewTask(async () => await Bot.SendMessage(SupportedAPI.delete_msg, e.group_id, "撤回", new DeleteMsgContent(id), true)); - TaskUtility.NewTask(async () => await Bot.SendMessage(SupportedAPI.delete_msg, e.group_id, "撤回", new DeleteMsgContent(e.real_id), true)); - return; + await Bot.SendMessage(SupportedAPI.delete_msg, e.group_id, "撤回", new DeleteMsgContent(id), true); + await Bot.SendMessage(SupportedAPI.delete_msg, e.group_id, "撤回", new DeleteMsgContent(e.real_id), true); + return quick_reply; } } if (!GeneralSettings.IsRun) { - return; + return quick_reply; } // 12点大挑战 if (e.detail == "加入12点" || e.detail == "加入12点大挑战") { - TaskUtility.NewTask(async () => + if (!await Bot.CheckBlackList(true, e.user_id, e.group_id)) return quick_reply; + if (GeneralSettings.Challenge12ClockGroup.Contains(e.user_id)) { - if (!await Bot.CheckBlackList(true, e.user_id, e.group_id)) return; - if (GeneralSettings.Challenge12ClockGroup.Contains(e.user_id)) - { - await Bot.SendGroupMessage(e.group_id, "12点大挑战", "请勿重复加入。"); - } - else - { - GeneralSettings.Challenge12ClockGroup.Add(e.user_id); - await Bot.SendGroupMessage(e.group_id, "12点大挑战", "你已成功加入~\r\n发送【退出12点】退出挑战。"); - GeneralSettings.SaveConfig(); - } - return; - }); + await Bot.SendGroupMessage(e.group_id, "12点大挑战", "请勿重复加入。"); + } + else + { + GeneralSettings.Challenge12ClockGroup.Add(e.user_id); + await Bot.SendGroupMessage(e.group_id, "12点大挑战", "你已成功加入~\r\n发送【退出12点】退出挑战。"); + GeneralSettings.SaveConfig(); + } + return quick_reply; } else if ((e.detail == "退出12点" || e.detail == "退出12点大挑战") && GeneralSettings.Challenge12ClockGroup.Contains(e.user_id)) { - TaskUtility.NewTask(async () => - { - if (!await Bot.CheckBlackList(true, e.user_id, e.group_id)) return; - GeneralSettings.Challenge12ClockGroup.Remove(e.user_id); - await Bot.SendGroupMessage(e.group_id, "12点大挑战", "你已成功退出~\r\n发送【加入12点】即可再次参加。"); - GeneralSettings.SaveConfig(); - return; - }); + if (!await Bot.CheckBlackList(true, e.user_id, e.group_id)) return quick_reply; + GeneralSettings.Challenge12ClockGroup.Remove(e.user_id); + await Bot.SendGroupMessage(e.group_id, "12点大挑战", "你已成功退出~\r\n发送【加入12点】即可再次参加。"); + GeneralSettings.SaveConfig(); + return quick_reply; } else if (e.detail == "12点大挑战") { - TaskUtility.NewTask(async () => - { - if (!await Bot.CheckBlackList(true, e.user_id, e.group_id)) return; - _ = Bot.SendGroupMessage(e.group_id, "12点大挑战", "欢迎加入12点大挑战。参加本挑战后,你将在每晚的12点获得8小时禁言和优质的睡眠,确保第二天的精神饱满!\r\n发送【加入12点】即可参加。"); - return; - }); + if (!await Bot.CheckBlackList(true, e.user_id, e.group_id)) return quick_reply; + await Bot.SendGroupMessage(e.group_id, "12点大挑战", "欢迎加入12点大挑战。参加本挑战后,你将在每晚的12点获得8小时禁言和优质的睡眠,确保第二天的精神饱满!\r\n发送【加入12点】即可参加。"); + return quick_reply; } // 发图API if (e.detail == "来图") { - TaskUtility.NewTask(async () => - { - if (!await Bot.CheckBlackList(true, e.user_id, e.group_id)) return; - GroupMessageContent content = new(e.group_id); - content.message.Add(new ImageMessage("https://iw233.cn/api.php?sort=cdntop")); - await Bot.SendGroupMessage(e.group_id, "Image", content); - return; - }); + if (!await Bot.CheckBlackList(true, e.user_id, e.group_id)) return quick_reply; + GroupMessageContent content = new(e.group_id); + content.message.Add(new ImageMessage("https://iw233.cn/api.php?sort=random")); + await Bot.SendGroupMessage(e.group_id, "Image", content); + return quick_reply; } if (e.detail.Contains("白毛")) { - TaskUtility.NewTask(async () => - { - if (!await Bot.CheckBlackList(true, e.user_id, e.group_id)) return; - GroupMessageContent content = new(e.group_id); - content.message.Add(new ImageMessage("https://iw233.cn/api.php?sort=yin")); - await Bot.SendGroupMessage(e.group_id, "Image", content); - return; - }); + if (!await Bot.CheckBlackList(true, e.user_id, e.group_id)) return quick_reply; + GroupMessageContent content = new(e.group_id); + content.message.Add(new ImageMessage("https://iw233.cn/api.php?sort=yin")); + await Bot.SendGroupMessage(e.group_id, "Image", content); + return quick_reply; } if (e.detail == "猫耳") { - TaskUtility.NewTask(async () => - { - if (!await Bot.CheckBlackList(true, e.user_id, e.group_id)) return; - GroupMessageContent content = new(e.group_id); - content.message.Add(new ImageMessage("https://iw233.cn/api.php?sort=cat")); - await Bot.SendGroupMessage(e.group_id, "Image", content); - return; - }); + if (!await Bot.CheckBlackList(true, e.user_id, e.group_id)) return quick_reply; + GroupMessageContent content = new(e.group_id); + content.message.Add(new ImageMessage("https://iw233.cn/api.php?sort=cat")); + await Bot.SendGroupMessage(e.group_id, "Image", content); + return quick_reply; } if (e.detail == "壁纸") { - TaskUtility.NewTask(async () => - { - if (!await Bot.CheckBlackList(true, e.user_id, e.group_id)) return; - GroupMessageContent content = new(e.group_id); - content.message.Add(new ImageMessage("https://iw233.cn/api.php?sort=pc")); - await Bot.SendGroupMessage(e.group_id, "Image", content); - return; - }); + if (!await Bot.CheckBlackList(true, e.user_id, e.group_id)) return quick_reply; + GroupMessageContent content = new(e.group_id); + content.message.Add(new ImageMessage("https://iw233.cn/api.php?sort=pc")); + await Bot.SendGroupMessage(e.group_id, "Image", content); + return quick_reply; } if (e.detail == "新闻") { - TaskUtility.NewTask(async () => - { - if (!await Bot.CheckBlackList(true, e.user_id, e.group_id)) return; - GroupMessageContent content = new(e.group_id); - content.message.Add(new ImageMessage("https://api.03c3.cn/api/zb")); - await Bot.SendGroupMessage(e.group_id, "Image", content); - return; - }); + if (!await Bot.CheckBlackList(true, e.user_id, e.group_id)) return quick_reply; + GroupMessageContent content = new(e.group_id); + content.message.Add(new ImageMessage("https://api.03c3.cn/api/zb")); + await Bot.SendGroupMessage(e.group_id, "Image", content); + return quick_reply; } if (e.detail == "买家秀") { - TaskUtility.NewTask(async () => - { - if (!await Bot.CheckBlackList(true, e.user_id, e.group_id)) return; - GroupMessageContent content = new(e.group_id); - content.message.Add(new ImageMessage("https://api.03c3.cn/api/taobaoBuyerShow")); - await Bot.SendGroupMessage(e.group_id, "Image", content); - return; - }); + if (!await Bot.CheckBlackList(true, e.user_id, e.group_id)) return quick_reply; + GroupMessageContent content = new(e.group_id); + content.message.Add(new ImageMessage("https://api.03c3.cn/api/taobaoBuyerShow")); + await Bot.SendGroupMessage(e.group_id, "Image", content); + return quick_reply; } if (e.detail.Contains("来龙")) { - TaskUtility.NewTask(async () => - { - if (!await Bot.CheckBlackList(true, e.user_id, e.group_id)) return; - GroupMessageContent content = new(e.group_id); - content.message.Add(new ImageMessage("file:///" + AppDomain.CurrentDomain.BaseDirectory.ToString() + @"img\long\long (" + (new Random().Next(1540) + 1) + ").jpg")); - await Bot.SendGroupMessage(e.group_id, "Image", content); - return; - }); + if (!await Bot.CheckBlackList(true, e.user_id, e.group_id)) return quick_reply; + GroupMessageContent content = new(e.group_id); + content.message.Add(new ImageMessage("file:///" + AppDomain.CurrentDomain.BaseDirectory.ToString() + @"img\long\long (" + (new Random().Next(1540) + 1) + ").jpg")); + await Bot.SendGroupMessage(e.group_id, "Image", content); + return quick_reply; } if (e.detail == "一眼丁真" || e.detail == "一眼顶针") { - TaskUtility.NewTask(async () => - { - if (!await Bot.CheckBlackList(true, e.user_id, e.group_id)) return; - GroupMessageContent content = new(e.group_id); - content.message.Add(new ImageMessage("file:///" + AppDomain.CurrentDomain.BaseDirectory.ToString() + @"img\dingzhen\dz" + (new Random().Next(82) + 1) + ".jpg")); - await Bot.SendGroupMessage(e.group_id, "Image", content); - return; - }); + if (!await Bot.CheckBlackList(true, e.user_id, e.group_id)) return quick_reply; + GroupMessageContent content = new(e.group_id); + content.message.Add(new ImageMessage("file:///" + AppDomain.CurrentDomain.BaseDirectory.ToString() + @"img\dingzhen\dz" + (new Random().Next(82) + 1) + ".jpg")); + await Bot.SendGroupMessage(e.group_id, "Image", content); + return quick_reply; } if (EEWords.Any(e.detail.Contains) && e.CheckThrow(20, out _)) { GroupMessageContent content = new(e.group_id); content.message.Add(new ImageMessage("file:///" + AppDomain.CurrentDomain.BaseDirectory.ToString() + @"img\ee.png")); - _ = Bot.SendGroupMessage(e.group_id, "Image", content); - return; + await Bot.SendGroupMessage(e.group_id, "Image", content); + return quick_reply; } // 发音频API var match_music = Music.MusicList.Keys.Where(s => e.detail.Contains(s, StringComparison.CurrentCultureIgnoreCase)); if (match_music.Any()) { - TaskUtility.NewTask(async () => - { - if (!await Bot.CheckBlackList(true, e.user_id, e.group_id)) return; - GroupMessageContent content = new(e.group_id); - content.message.Add(new RecordMessage(Music.MusicList[match_music.First()])); - await Bot.SendGroupMessage(e.group_id, "Record", content); - }); - return; + if (!await Bot.CheckBlackList(true, e.user_id, e.group_id)) return quick_reply; + GroupMessageContent content = new(e.group_id); + content.message.Add(new RecordMessage(Music.MusicList[match_music.First()])); + await Bot.SendGroupMessage(e.group_id, "Record", content); + return quick_reply; } // 我的运势 if (e.detail == "我的运势") { - TaskUtility.NewTask(async () => + if (!await Bot.CheckBlackList(true, e.user_id, e.group_id)) return quick_reply; + GroupMessageContent content = new(e.group_id); + content.message.Add(new AtMessage(e.user_id)); + if (Daily.UserDailys.TryGetValue(e.user_id, out string? value) && value != null && value.Trim() != "") { - if (!await Bot.CheckBlackList(true, e.user_id, e.group_id)) return; - GroupMessageContent content = new(e.group_id); - content.message.Add(new AtMessage(e.user_id)); - if (Daily.UserDailys.TryGetValue(e.user_id, out string? value) && value != null && value.Trim() != "") + content.message.Add(new TextMessage("你已看过你的今日运势:\r\n")); + content.message.Add(new TextMessage(value)); + await Bot.SendGroupMessage(e.group_id, "我的运势", content); + } + else + { + int seq = new Random().Next(Daily.DailyContent.Count); + string text = Daily.DailyContent[seq]; + Daily.UserDailys.Add(e.user_id, text); + content.message.Add(new TextMessage("你的今日运势是:\r\n" + text)); + await Bot.SendGroupMessage(e.group_id, "我的运势", content); + // 配图 + content = new(e.group_id); + string img = "file:///" + AppDomain.CurrentDomain.BaseDirectory.ToString() + @"img\zi\"; + if (seq >= 0 && seq <= 5) { - content.message.Add(new TextMessage("你已看过你的今日运势:\r\n")); - content.message.Add(new TextMessage(value)); - await Bot.SendGroupMessage(e.group_id, "我的运势", content); + img += "dj" + (new Random().Next(3) + 1) + ".png"; } - else + else if (seq >= 6 && seq <= 10) { - int seq = new Random().Next(Daily.DailyContent.Count); - string text = Daily.DailyContent[seq]; - Daily.UserDailys.Add(e.user_id, text); - content.message.Add(new TextMessage("你的今日运势是:\r\n" + text)); - await Bot.SendGroupMessage(e.group_id, "我的运势", content); - // 配图 - content = new(e.group_id); - string img = "file:///" + AppDomain.CurrentDomain.BaseDirectory.ToString() + @"img\zi\"; - if (seq >= 0 && seq <= 5) - { - img += "dj" + (new Random().Next(3) + 1) + ".png"; - } - else if (seq >= 6 && seq <= 10) - { - img += "zj" + (new Random().Next(2) + 1) + ".png"; - } - else if (seq >= 11 && seq <= 15) - { - img += "j" + (new Random().Next(4) + 1) + ".png"; - } - else if (seq >= 16 && seq <= 22) - { - img += "mj" + (new Random().Next(2) + 1) + ".png"; - } - else if (seq >= 23 && seq <= 25) - { - img += "dx" + (new Random().Next(2) + 1) + ".png"; - } - else if (seq >= 26 && seq <= 29) - { - img += "x" + (new Random().Next(2) + 1) + ".png"; - } - content.message.Add(new ImageMessage(img)); - await Bot.SendGroupMessage(e.group_id, "我的运势配图", content); - Daily.SaveDaily(); + img += "zj" + (new Random().Next(2) + 1) + ".png"; } - }); - return; + else if (seq >= 11 && seq <= 15) + { + img += "j" + (new Random().Next(4) + 1) + ".png"; + } + else if (seq >= 16 && seq <= 22) + { + img += "mj" + (new Random().Next(2) + 1) + ".png"; + } + else if (seq >= 23 && seq <= 25) + { + img += "dx" + (new Random().Next(2) + 1) + ".png"; + } + else if (seq >= 26 && seq <= 29) + { + img += "x" + (new Random().Next(2) + 1) + ".png"; + } + content.message.Add(new ImageMessage(img)); + await Bot.SendGroupMessage(e.group_id, "我的运势配图", content); + Daily.SaveDaily(); + } + return quick_reply; } if (e.detail == "重置运势" && Daily.UserDailys.ContainsKey(e.user_id)) { - TaskUtility.NewTask(async () => - { - if (!await Bot.CheckBlackList(true, e.user_id, e.group_id)) return; - Daily.UserDailys.Remove(e.user_id); - GroupMessageContent content = new(e.group_id); - content.message.Add(new AtMessage(e.user_id)); - content.message.Add(new TextMessage("你的今日运势已重置。")); - await Bot.SendGroupMessage(e.group_id, "重置运势", content); - Daily.SaveDaily(); - }); - return; + if (!await Bot.CheckBlackList(true, e.user_id, e.group_id)) return quick_reply; + Daily.UserDailys.Remove(e.user_id); + GroupMessageContent content = new(e.group_id); + content.message.Add(new AtMessage(e.user_id)); + content.message.Add(new TextMessage("你的今日运势已重置。")); + await Bot.SendGroupMessage(e.group_id, "重置运势", content); + Daily.SaveDaily(); + return quick_reply; } if (e.detail.Length > 4 && e.detail[..2] == "查看" && (e.detail[^2..] == "运势")) { - TaskUtility.NewTask(async () => + if (!await Bot.CheckBlackList(true, e.user_id, e.group_id)) return quick_reply; + string[] strs = e.detail.Replace("查看", "").Replace("运势", "").Trim().Split(' '); + foreach (string str_qq in strs) { - if (!await Bot.CheckBlackList(true, e.user_id, e.group_id)) return; - string[] strs = e.detail.Replace("查看", "").Replace("运势", "").Trim().Split(' '); - foreach (string str_qq in strs) + if (long.TryParse(str_qq.Trim().Replace("@", ""), out long qq)) { - if (long.TryParse(str_qq.Trim().Replace("@", ""), out long qq)) + if (qq == GeneralSettings.BotQQ && !Daily.UserDailys.ContainsKey(qq)) { - if (qq == GeneralSettings.BotQQ && !Daily.UserDailys.ContainsKey(qq)) - { - string text = Daily.DailyContent[new Random().Next(Daily.DailyContent.Count)]; - Daily.UserDailys.Add(GeneralSettings.BotQQ, text); - Daily.SaveDaily(); - } - if (Daily.UserDailys.TryGetValue(qq, out string? daily) && daily != null) - { - GroupMessageContent content = new(e.group_id); - content.message.Add(new TextMessage(Bot.GetMemberNickName(e.group_id, qq) + "(" + qq + ")的今日运势是:\r\n" + daily)); - await Bot.SendGroupMessage(e.group_id, "查看运势", content); - } - else - { - await Bot.SendGroupMessage(e.group_id, "查看运势", "TA今天还没有抽取运势哦,快去提醒TA!"); - } + string text = Daily.DailyContent[new Random().Next(Daily.DailyContent.Count)]; + Daily.UserDailys.Add(GeneralSettings.BotQQ, text); + Daily.SaveDaily(); + } + if (Daily.UserDailys.TryGetValue(qq, out string? daily) && daily != null) + { + GroupMessageContent content = new(e.group_id); + content.message.Add(new TextMessage(Bot.GetMemberNickName(e.group_id, qq) + "(" + qq + ")的今日运势是:\r\n" + daily)); + await Bot.SendGroupMessage(e.group_id, "查看运势", content); + } + else + { + await Bot.SendGroupMessage(e.group_id, "查看运势", "TA今天还没有抽取运势哦,快去提醒TA!"); } } - }); - return; + } + return quick_reply; } if (e.user_id == GeneralSettings.Master && e.detail.Length > 4 && e.detail[..2] == "重置" && (e.detail[^2..] == "运势")) { - TaskUtility.NewTask(async () => + if (!await Bot.CheckBlackList(true, e.user_id, e.group_id)) return quick_reply; + string[] strs = e.detail.Replace("重置", "").Replace("运势", "").Trim().Split(' '); + foreach (string str_qq in strs) { - if (!await Bot.CheckBlackList(true, e.user_id, e.group_id)) return; - string[] strs = e.detail.Replace("重置", "").Replace("运势", "").Trim().Split(' '); - foreach (string str_qq in strs) + if (long.TryParse(str_qq.Trim().Replace("@", ""), out long qq)) { - if (long.TryParse(str_qq.Trim().Replace("@", ""), out long qq)) - { - Daily.UserDailys.Remove(GeneralSettings.BotQQ); - await Bot.SendGroupMessage(e.group_id, "重置运势", "已重置" + Bot.GetMemberNickName(e.group_id, qq) + "(" + qq + ")的今日运势。"); - Daily.SaveDaily(); - } + Daily.UserDailys.Remove(GeneralSettings.BotQQ); + await Bot.SendGroupMessage(e.group_id, "重置运势", "已重置" + Bot.GetMemberNickName(e.group_id, qq) + "(" + qq + ")的今日运势。"); + Daily.SaveDaily(); } - }); - return; + } + return quick_reply; } // 下面是开启了OSM Core的群组才能使用的功能 - if (!onOSMCore) return; + if (!onOSMCore) return quick_reply; // 禁言抽奖 if (GeneralSettings.IsMute && e.detail == "禁言抽奖" && !MuteRecall.WillMute.ContainsKey(e.user_id)) { - TaskUtility.NewTask(async () => + if (!await Bot.CheckBlackList(true, e.user_id, e.group_id) || !Bot.BotIsAdmin(e.group_id)) return quick_reply; + if (e.user_id != GeneralSettings.Master) { - if (!await Bot.CheckBlackList(true, e.user_id, e.group_id) || !Bot.BotIsAdmin(e.group_id)) return; - if (e.user_id != GeneralSettings.Master) - { - await Bot.SendGroupMessage(e.group_id, "禁言抽奖", "2秒后开奖~\r\n如需要忏悔,请在开奖后3秒内发送忏悔,开奖前发送无效。"); - await Task.Delay(2000); - if (!MuteRecall.WillMute.ContainsKey(e.user_id)) MuteRecall.WillMute.Add(e.user_id, e.user_id); - long mute_time = GeneralSettings.MuteTime[0] + new Random().NextInt64(GeneralSettings.MuteTime[1] - GeneralSettings.MuteTime[0]); - await Bot.SendGroupMessage(e.group_id, "禁言抽奖", "开奖啦!禁言时长:" + (mute_time / 60) + "分钟" + (mute_time % 60) + "秒。\r\n" + "你现在有3秒时间发送忏悔拒绝领奖!"); - await Task.Delay(3200); - await Bot.SendMessage(SupportedAPI.set_group_ban, e.group_id, "禁言抽奖", new SetGroupBanContent(e.group_id, e.user_id, mute_time), true); - MuteRecall.WillMute.Remove(e.user_id); - } - else - { - _ = Bot.SendGroupMessage(e.group_id, "禁言抽奖", "我不能禁言主人!"); - } - }); - return; + await Bot.SendGroupMessage(e.group_id, "禁言抽奖", "2秒后开奖~\r\n如需要忏悔,请在开奖后3秒内发送忏悔,开奖前发送无效。"); + await Task.Delay(2000); + if (!MuteRecall.WillMute.ContainsKey(e.user_id)) MuteRecall.WillMute.Add(e.user_id, e.user_id); + long mute_time = GeneralSettings.MuteTime[0] + new Random().NextInt64(GeneralSettings.MuteTime[1] - GeneralSettings.MuteTime[0]); + await Bot.SendGroupMessage(e.group_id, "禁言抽奖", "开奖啦!禁言时长:" + (mute_time / 60) + "分钟" + (mute_time % 60) + "秒。\r\n" + "你现在有3秒时间发送忏悔拒绝领奖!"); + await Task.Delay(3200); + await Bot.SendMessage(SupportedAPI.set_group_ban, e.group_id, "禁言抽奖", new SetGroupBanContent(e.group_id, e.user_id, mute_time), true); + MuteRecall.WillMute.Remove(e.user_id); + } + else + { + await Bot.SendGroupMessage(e.group_id, "禁言抽奖", "我不能禁言主人!"); + } + return quick_reply; } // 忏悔 else if (GeneralSettings.IsMute && e.detail == "忏悔" && MuteRecall.WillMute.ContainsKey(e.user_id)) { - TaskUtility.NewTask(async () => - { - if (!await Bot.CheckBlackList(true, e.user_id, e.group_id) || !Bot.BotIsAdmin(e.group_id)) return; - await Task.Delay(3800); - MuteRecall.WillMute.Remove(e.user_id); - await Bot.SendMessage(SupportedAPI.set_group_ban, e.group_id, "忏悔", new SetGroupBanContent(e.group_id, e.user_id, 0), true); - await Bot.SendGroupMessage(e.group_id, "忏悔", "忏悔成功!!希望你保持纯真,保持野性的美。"); - }); - return; + if (!await Bot.CheckBlackList(true, e.user_id, e.group_id) || !Bot.BotIsAdmin(e.group_id)) return quick_reply; + await Task.Delay(3800); + MuteRecall.WillMute.Remove(e.user_id); + await Bot.SendMessage(SupportedAPI.set_group_ban, e.group_id, "忏悔", new SetGroupBanContent(e.group_id, e.user_id, 0), true); + await Bot.SendGroupMessage(e.group_id, "忏悔", "忏悔成功!!希望你保持纯真,保持野性的美。"); + return quick_reply; } // 随机反驳是 @@ -398,11 +341,11 @@ namespace Milimoe.RainBOT.ListeningTask if (e.user_id != GeneralSettings.Master && e.CheckThrow(40, out dice)) { Bot.ColorfulCheckPass(sender, "反驳是", dice, 40); - _ = Bot.SendGroupMessage(e.group_id, "随机反驳是", "是你的头"); + await Bot.SendGroupMessage(e.group_id, "随机反驳是", "是你的头"); } else if (e.user_id == GeneralSettings.Master) { - _ = Bot.SendGroupMessage(e.group_id, "随机反驳是", "是你的头"); + await Bot.SendGroupMessage(e.group_id, "随机反驳是", "是你的头"); } } @@ -466,7 +409,7 @@ namespace Milimoe.RainBOT.ListeningTask } if (content.message.Count > 0) { - _ = Bot.SendGroupMessage(e.group_id, "随机反驳不", content); + await Bot.SendGroupMessage(e.group_id, "随机反驳不", content); } } else if (SayNo.TriggerBeforeNo.Any(e.detail.Contains) && GeneralSettings.IsSayNo && e.CheckThrow(GeneralSettings.PSayNo, out dice)) @@ -519,7 +462,7 @@ namespace Milimoe.RainBOT.ListeningTask } if (content.message.Count > 0) { - _ = Bot.SendGroupMessage(e.group_id, "随机反驳不", content); + await Bot.SendGroupMessage(e.group_id, "随机反驳不", content); } } else if (e.detail.Contains("可以") && !e.detail.Contains('不') && e.CheckThrow(GeneralSettings.PSayNo, out dice)) @@ -527,11 +470,11 @@ namespace Milimoe.RainBOT.ListeningTask Bot.ColorfulCheckPass(sender, "随机反驳不", dice, GeneralSettings.PSayNo); if (dice < (GeneralSettings.PSayNo / 2)) { - _ = Bot.SendGroupMessage(e.group_id, "随机反驳不", "可以"); + await Bot.SendGroupMessage(e.group_id, "随机反驳不", "可以"); } else { - _ = Bot.SendGroupMessage(e.group_id, "随机反驳不", "不可以"); + await Bot.SendGroupMessage(e.group_id, "随机反驳不", "不可以"); } } else if (e.detail.Contains('能') && !e.detail.Contains('不') && !SayNo.IgnoreTriggerBeforeCan.Any(e.detail.Contains) && e.CheckThrow(GeneralSettings.PSayNo, out dice)) @@ -539,11 +482,11 @@ namespace Milimoe.RainBOT.ListeningTask Bot.ColorfulCheckPass(sender, "随机反驳不", dice, GeneralSettings.PSayNo); if (dice < (GeneralSettings.PSayNo / 2)) { - _ = Bot.SendGroupMessage(e.group_id, "随机反驳不", "能"); + await Bot.SendGroupMessage(e.group_id, "随机反驳不", "能"); } else { - _ = Bot.SendGroupMessage(e.group_id, "随机反驳不", "不能"); + await Bot.SendGroupMessage(e.group_id, "随机反驳不", "不能"); } } else if (e.detail.Contains("可能") && !e.detail.Contains('不') && e.CheckThrow(GeneralSettings.PSayNo, out dice)) @@ -551,22 +494,22 @@ namespace Milimoe.RainBOT.ListeningTask Bot.ColorfulCheckPass(sender, "随机反驳不", dice, GeneralSettings.PSayNo); if (dice < (GeneralSettings.PSayNo / 2)) { - _ = Bot.SendGroupMessage(e.group_id, "随机反驳不", "可能"); + await Bot.SendGroupMessage(e.group_id, "随机反驳不", "可能"); } else { - _ = Bot.SendGroupMessage(e.group_id, "随机反驳不", "不可能"); + await Bot.SendGroupMessage(e.group_id, "随机反驳不", "不可能"); } } else if (e.detail.Contains('要') && !e.detail.Contains('不') && e.CheckThrow(GeneralSettings.PSayNo, out dice)) { Bot.ColorfulCheckPass(sender, "随机反驳不", dice, GeneralSettings.PSayNo); - _ = Bot.SendGroupMessage(e.group_id, "随机反驳不", SayNo.SayWantWords[new Random().Next(SayNo.SayWantWords.Count)]); + await Bot.SendGroupMessage(e.group_id, "随机反驳不", SayNo.SayWantWords[new Random().Next(SayNo.SayWantWords.Count)]); } else if (e.detail.Contains('想') && !e.detail.Contains('不') && e.CheckThrow(GeneralSettings.PSayNo, out dice)) { Bot.ColorfulCheckPass(sender, "随机反驳不", dice, GeneralSettings.PSayNo); - _ = Bot.SendGroupMessage(e.group_id, "随机反驳不", SayNo.SayThinkWords[new Random().Next(SayNo.SayThinkWords.Count)]); + await Bot.SendGroupMessage(e.group_id, "随机反驳不", SayNo.SayThinkWords[new Random().Next(SayNo.SayThinkWords.Count)]); } // 反向艾特 @@ -581,10 +524,10 @@ namespace Milimoe.RainBOT.ListeningTask at.data.qq = e.user_id.ToString(); GroupMessageContent content = new(e.group_id); content.message.AddRange(e.message); - _ = Bot.SendGroupMessage(e.group_id, "反向艾特", content); + await Bot.SendGroupMessage(e.group_id, "反向艾特", content); } } - return; + return quick_reply; } // 随机OSM @@ -599,8 +542,8 @@ namespace Milimoe.RainBOT.ListeningTask _ => "file:///" + AppDomain.CurrentDomain.BaseDirectory.ToString() + @"img\osm.jpg", }; content.message.Add(new ImageMessage(img)); - _ = Bot.SendGroupMessage(e.group_id, "Image", content); - return; + await Bot.SendGroupMessage(e.group_id, "Image", content); + return quick_reply; } // 随机复读 @@ -611,8 +554,8 @@ namespace Milimoe.RainBOT.ListeningTask Bot.ColorfulCheckPass(sender, "随机复读", dice, GeneralSettings.PRepeat, delay); GroupMessageContent content = new(e.group_id); content.message.AddRange(e.message); - _ = Bot.SendGroupMessage(e.group_id, "随机复读", content, delay * 1000); - return; + await Bot.SendGroupMessage(e.group_id, "随机复读", content, delay * 1000); + return quick_reply; } // 随机叫哥 @@ -627,8 +570,8 @@ namespace Milimoe.RainBOT.ListeningTask GroupMessageContent content = new(e.group_id); content.message.Add(new AtMessage(e.user_id)); content.message.Add(new TextMessage(string.Concat(name.AsSpan(pos, name.Length > 1 ? 2 : name.Length), "哥"))); - _ = Bot.SendGroupMessage(e.group_id, "随机叫哥", content, delay * 1000); - return; + await Bot.SendGroupMessage(e.group_id, "随机叫哥", content, delay * 1000); + return quick_reply; } } } @@ -638,6 +581,8 @@ namespace Milimoe.RainBOT.ListeningTask Console.WriteLine(ex); Console.ForegroundColor = ConsoleColor.Gray; } + + return quick_reply; } } } \ No newline at end of file diff --git a/src/Main.cs b/src/Main.cs index 708ff64..5176dc4 100644 --- a/src/Main.cs +++ b/src/Main.cs @@ -1,5 +1,4 @@ using Milimoe.OneBot.Framework; -using Milimoe.OneBot.Framework.Interface; using Milimoe.OneBot.Model.Content; using Milimoe.OneBot.Model.Message; using Milimoe.OneBot.Model.Other; diff --git a/src/Settings/OSMCore.cs b/src/Settings/OSMCore.cs index 57babc9..ca04eae 100644 --- a/src/Settings/OSMCore.cs +++ b/src/Settings/OSMCore.cs @@ -3,8 +3,8 @@ public class OSMCore { public const string version = "v1.0"; - public const string version2 = "Patch9 Test"; - public const string time = "July 12th, 2024"; + public const string version2 = "Patch9"; + public const string time = "Aug. 12th 2024"; public static string Info => $"OSM Core {version} {version2}\r\nAuthor: Milimoe\r\nBuilt on {time}\r\nSee: https://github.com/milimoe"; }