diff --git a/dll/OneBot-HTTPClient.dll b/dll/OneBot-HTTPClient.dll index 5b92fce..4eff007 100644 Binary files a/dll/OneBot-HTTPClient.dll and b/dll/OneBot-HTTPClient.dll differ diff --git a/src/ListeningTask/GroupMessageTask.cs b/src/ListeningTask/GroupMessageTask.cs index 5b105cf..9d3ff37 100644 --- a/src/ListeningTask/GroupMessageTask.cs +++ b/src/ListeningTask/GroupMessageTask.cs @@ -282,6 +282,7 @@ namespace Milimoe.RainBOT.ListeningTask } content.message.Add(new ImageMessage(img)); await Bot.SendGroupMessage(e.group_id, "我的运势配图", content); + Daily.SaveDaily(); } }); return; @@ -296,6 +297,7 @@ namespace Milimoe.RainBOT.ListeningTask content.message.Add(new AtMessage(e.user_id)); content.message.Add(new TextMessage("你的今日运势已重置。")); await Bot.SendGroupMessage(e.group_id, "重置运势", content); + Daily.SaveDaily(); }); return; } @@ -313,6 +315,7 @@ namespace Milimoe.RainBOT.ListeningTask { 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) { @@ -341,6 +344,7 @@ namespace Milimoe.RainBOT.ListeningTask { Daily.UserDailys.Remove(GeneralSettings.BotQQ); await Bot.SendGroupMessage(e.group_id, "重置运势", "已重置" + Bot.GetMemberNickName(e.group_id, qq) + "(" + qq + ")的今日运势。"); + Daily.SaveDaily(); } } }); diff --git a/src/Main.cs b/src/Main.cs index 37b60de..708ff64 100644 --- a/src/Main.cs +++ b/src/Main.cs @@ -138,6 +138,7 @@ try Daily.ClearDailys = false; // 清空运势 Daily.UserDailys.Clear(); + Daily.SaveDaily(); Console.ForegroundColor = ConsoleColor.Magenta; Console.WriteLine("已重置所有人的今日运势。"); Console.ForegroundColor = ConsoleColor.Gray; diff --git a/src/Settings/Daily.cs b/src/Settings/Daily.cs index b92569f..81d7622 100644 --- a/src/Settings/Daily.cs +++ b/src/Settings/Daily.cs @@ -12,14 +12,40 @@ namespace Milimoe.RainBOT.Settings public static List DailyContent { get; set; } = []; + public static PluginConfig Configs { get; set; } = new("rainbot", "userdaliys"); + public static void InitDaily() { - PluginConfig configs = new("rainbot", "daily"); - configs.Load(); - if (configs.TryGetValue("DailyContent", out object? value) && value != null) + PluginConfig config_dailycontent = new("rainbot", "daily"); + config_dailycontent.Load(); + if (config_dailycontent.TryGetValue("DailyContent", out object? value) && value != null) { DailyContent = (List)value; } + PluginConfig config_userdaliys = new("rainbot", "userdaliys"); + config_userdaliys.Load(); + foreach (string str in config_userdaliys.Keys) + { + if (long.TryParse(str, out long qq) && config_userdaliys.TryGetValue(str, out object? value2) && value2 != null && !UserDailys.ContainsKey(qq)) + { + UserDailys.Add(qq, value2.ToString() ?? ""); + if (UserDailys[qq] == "") UserDailys.Remove(qq); + } + } + SaveDaily(); + } + + public static void SaveDaily() + { + lock (Configs) + { + Configs.Clear(); + foreach (long qq in UserDailys.Keys) + { + Configs.Add(qq.ToString(), UserDailys[qq]); + } + Configs.Save(); + } } } } diff --git a/src/Settings/OSMCore.cs b/src/Settings/OSMCore.cs index 5c7797a..57babc9 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 = "Patch8"; - public const string time = "July 11th, 2024"; + public const string version2 = "Patch9 Test"; + public const string time = "July 12th, 2024"; public static string Info => $"OSM Core {version} {version2}\r\nAuthor: Milimoe\r\nBuilt on {time}\r\nSee: https://github.com/milimoe"; }