将运势保存在磁盘中 重启不会重置

This commit is contained in:
milimoe 2024-07-13 14:45:08 +08:00
parent 0bcd4a7283
commit bdfde4b250
Signed by: milimoe
GPG Key ID: 05D280912DA6C69E
5 changed files with 36 additions and 5 deletions

Binary file not shown.

View File

@ -282,6 +282,7 @@ namespace Milimoe.RainBOT.ListeningTask
} }
content.message.Add(new ImageMessage(img)); content.message.Add(new ImageMessage(img));
await Bot.SendGroupMessage(e.group_id, "我的运势配图", content); await Bot.SendGroupMessage(e.group_id, "我的运势配图", content);
Daily.SaveDaily();
} }
}); });
return; return;
@ -296,6 +297,7 @@ namespace Milimoe.RainBOT.ListeningTask
content.message.Add(new AtMessage(e.user_id)); content.message.Add(new AtMessage(e.user_id));
content.message.Add(new TextMessage("你的今日运势已重置。")); content.message.Add(new TextMessage("你的今日运势已重置。"));
await Bot.SendGroupMessage(e.group_id, "重置运势", content); await Bot.SendGroupMessage(e.group_id, "重置运势", content);
Daily.SaveDaily();
}); });
return; return;
} }
@ -313,6 +315,7 @@ namespace Milimoe.RainBOT.ListeningTask
{ {
string text = Daily.DailyContent[new Random().Next(Daily.DailyContent.Count)]; string text = Daily.DailyContent[new Random().Next(Daily.DailyContent.Count)];
Daily.UserDailys.Add(GeneralSettings.BotQQ, text); Daily.UserDailys.Add(GeneralSettings.BotQQ, text);
Daily.SaveDaily();
} }
if (Daily.UserDailys.TryGetValue(qq, out string? daily) && daily != null) if (Daily.UserDailys.TryGetValue(qq, out string? daily) && daily != null)
{ {
@ -341,6 +344,7 @@ namespace Milimoe.RainBOT.ListeningTask
{ {
Daily.UserDailys.Remove(GeneralSettings.BotQQ); Daily.UserDailys.Remove(GeneralSettings.BotQQ);
await Bot.SendGroupMessage(e.group_id, "重置运势", "已重置" + Bot.GetMemberNickName(e.group_id, qq) + "" + qq + ")的今日运势。"); await Bot.SendGroupMessage(e.group_id, "重置运势", "已重置" + Bot.GetMemberNickName(e.group_id, qq) + "" + qq + ")的今日运势。");
Daily.SaveDaily();
} }
} }
}); });

View File

@ -138,6 +138,7 @@ try
Daily.ClearDailys = false; Daily.ClearDailys = false;
// 清空运势 // 清空运势
Daily.UserDailys.Clear(); Daily.UserDailys.Clear();
Daily.SaveDaily();
Console.ForegroundColor = ConsoleColor.Magenta; Console.ForegroundColor = ConsoleColor.Magenta;
Console.WriteLine("已重置所有人的今日运势。"); Console.WriteLine("已重置所有人的今日运势。");
Console.ForegroundColor = ConsoleColor.Gray; Console.ForegroundColor = ConsoleColor.Gray;

View File

@ -12,14 +12,40 @@ namespace Milimoe.RainBOT.Settings
public static List<string> DailyContent { get; set; } = []; public static List<string> DailyContent { get; set; } = [];
public static PluginConfig Configs { get; set; } = new("rainbot", "userdaliys");
public static void InitDaily() public static void InitDaily()
{ {
PluginConfig configs = new("rainbot", "daily"); PluginConfig config_dailycontent = new("rainbot", "daily");
configs.Load(); config_dailycontent.Load();
if (configs.TryGetValue("DailyContent", out object? value) && value != null) if (config_dailycontent.TryGetValue("DailyContent", out object? value) && value != null)
{ {
DailyContent = (List<string>)value; DailyContent = (List<string>)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();
}
} }
} }
} }

View File

@ -3,8 +3,8 @@
public class OSMCore public class OSMCore
{ {
public const string version = "v1.0"; public const string version = "v1.0";
public const string version2 = "Patch8"; public const string version2 = "Patch9 Test";
public const string time = "July 11th, 2024"; 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"; public static string Info => $"OSM Core {version} {version2}\r\nAuthor: Milimoe\r\nBuilt on {time}\r\nSee: https://github.com/milimoe";
} }