From e4a77d5421f1d989cb56d7c6c76c31cc9ee1cf0f Mon Sep 17 00:00:00 2001 From: milimoe Date: Thu, 16 Jan 2025 20:39:32 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=8E=A8=E9=80=81=E6=9C=BA?= =?UTF-8?q?=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/ListeningTask/GroupMessageTask.cs | 8 ++++--- src/Settings/OshimaController.cs | 32 ++++++++++++++++----------- 2 files changed, 24 insertions(+), 16 deletions(-) diff --git a/src/ListeningTask/GroupMessageTask.cs b/src/ListeningTask/GroupMessageTask.cs index a56f6b6..c57e60c 100644 --- a/src/ListeningTask/GroupMessageTask.cs +++ b/src/ListeningTask/GroupMessageTask.cs @@ -109,11 +109,10 @@ namespace Milimoe.RainBOT.ListeningTask return quick_reply; } - if (e.detail == "圣人榜") + if (e.detail.Contains("圣人榜")) { if (!await Bot.CheckBlackList(true, e.user_id, e.group_id)) return quick_reply; _ = OshimaController.Instance.SCList(e.group_id); - return quick_reply; } if (e.detail == "查询服务器启动时间") @@ -632,6 +631,7 @@ namespace Milimoe.RainBOT.ListeningTask { GroupMessageContent content = new(e.group_id); content.message.Add(new AtMessage(e.user_id)); + int sc = 1; switch (Random.Shared.Next(4)) { case 0: @@ -642,14 +642,16 @@ namespace Milimoe.RainBOT.ListeningTask break; case 2: content.message.Add(new TextMessage(string.Concat(name.AsSpan(pos, name.Length > 0 ? 1 : name.Length), "圣"))); + sc = 3; break; case 3: default: content.message.Add(new TextMessage(string.Concat(name.AsSpan(pos, name.Length > 0 ? 1 : name.Length), "出"))); + sc = -1; break; } await Bot.SendGroupMessage(e.group_id, "随机叫哥", content, delay * 1000); - _ = OshimaController.Instance.SCAdd(e.user_id, e.group_id); + _ = OshimaController.Instance.SCAdd(e.user_id, e.group_id, sc); return quick_reply; } } diff --git a/src/Settings/OshimaController.cs b/src/Settings/OshimaController.cs index 9e2bdb4..ae62eeb 100644 --- a/src/Settings/OshimaController.cs +++ b/src/Settings/OshimaController.cs @@ -113,7 +113,9 @@ namespace Milimoe.RainBOT.Settings { if (HTTPClient != null) { - await HTTPClient.Send(SocketMessageType.AnonymousGameServer, ServerName); + Dictionary data = []; + data.Add("access_token", GeneralSettings.FunGameToken); + await HTTPClient.Send(SocketMessageType.AnonymousGameServer, ServerName, data); } } @@ -166,25 +168,29 @@ namespace Milimoe.RainBOT.Settings if (data.Count > 0) { long qq = NetworkUtility.JsonDeserializeFromDictionary(data, "qq"); + long groupid = NetworkUtility.JsonDeserializeFromDictionary(data, "groupid"); string msg = NetworkUtility.JsonDeserializeFromDictionary(data, "msg") ?? ""; if (msg != "") { - if (qq > 0) + if (qq > 0 && groupid > 0) { - foreach (Group g in Bot.Groups.Where(g => GeneralSettings.FunGameWebSocketGroup.Contains(g.group_id))) - { - Member m = Bot.GetMember(g.group_id, qq); - if (m.user_id == qq) - { - await Bot.SendGroupMessageAt(qq, g.group_id, "FunGame推送", msg); - break; - } - } + await Bot.SendGroupMessageAt(qq, groupid, "匿名服务器消息", msg); } else { - long groupid = NetworkUtility.JsonDeserializeFromDictionary(data, "groupid"); - if (groupid > 0 && Bot.Groups.Any(g => g.group_id == groupid)) + if (qq > 0) + { + foreach (Group g in Bot.Groups.Where(g => GeneralSettings.FunGameWebSocketGroup.Contains(g.group_id))) + { + Member m = Bot.GetMember(g.group_id, qq); + if (m.user_id == qq) + { + await Bot.SendGroupMessageAt(qq, g.group_id, "FunGame推送", msg); + break; + } + } + } + else if (groupid > 0 && Bot.Groups.Any(g => g.group_id == groupid)) { await Bot.SendGroupMessage(groupid, "匿名服务器消息", msg); }