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); }