From 42d04ff79f23de30f38318df0df0e3cbd9dd0c7b Mon Sep 17 00:00:00 2001 From: LyMysterious Date: Mon, 30 Jun 2025 17:04:32 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E6=9F=A5=E4=B8=B9?= =?UTF-8?q?=E6=96=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- XiaoXiaoRoBot/Cmd/ImmortalElixirCmd.cs | 63 ++++++++++++++++++++++++++ XiaoXiaoRoBot/Program.cs | 3 ++ XiaoXiaoRoBot/appsettings.json | 28 +++++++++++- 3 files changed, 92 insertions(+), 2 deletions(-) create mode 100644 XiaoXiaoRoBot/Cmd/ImmortalElixirCmd.cs diff --git a/XiaoXiaoRoBot/Cmd/ImmortalElixirCmd.cs b/XiaoXiaoRoBot/Cmd/ImmortalElixirCmd.cs new file mode 100644 index 0000000..8f03b2a --- /dev/null +++ b/XiaoXiaoRoBot/Cmd/ImmortalElixirCmd.cs @@ -0,0 +1,63 @@ +using Lagrange.Core.Message; +using Lagrange.Core.Message.Entity; +using RoBot.Core.Helper; +using RoBot.Start.Global; +using RoBot.Start.LogConfig; +using RoBot.Start.Message; + +namespace RoBot.Start.Cmd +{ + /// + /// 查丹方 + /// + public class ImmortalElixirCmd + { + public static async Task Execute(MessageChain chain) + { + try + { + var systemConfig = GlobalConfig.ConfigSetting; + var bot = GlobalConfig.BotContext; + + if (chain.Count == 2 && + chain.FirstOrDefault(e => e is MentionEntity) is MentionEntity mention && + chain.FirstOrDefault(e => e is TextEntity) is TextEntity text) + { + // 判断是否@了机器人 + if (mention.Uin == systemConfig.BotQQ) + { + string inputText = text.Text?.Trim(); + + // 判断是否包含“查价格” + if (!string.IsNullOrEmpty(inputText) && inputText.Contains("查丹方")) + { + // 提取物品名称 + var goodsName = inputText + .Split(' ', StringSplitOptions.RemoveEmptyEntries) + .FirstOrDefault(word => word != "查丹方") + ?.Replace("查丹方", "")?.Trim(); + + if (!string.IsNullOrWhiteSpace(goodsName)) + { + Dictionary dict = AppConfigHelper.GetSection>("丹方"); + if (dict?.Count > 0) + { + dict.TryGetValue(goodsName, out string doc); + if (string.IsNullOrWhiteSpace(doc) is false) + { + await bot.SendMsg((uint)systemConfig.GroupQQ, doc); + } + } + } + } + } + } + } + catch (Exception ex) + { + Logs.Write($@"{DateTime.Now:yyyy-MM-dd HH:mm:ss} 查丹方命令 发生异常,异常信息:{ex.Message},异常堆栈:{ex.StackTrace}", true); + } + return await Task.FromResult(true); + } + } +} diff --git a/XiaoXiaoRoBot/Program.cs b/XiaoXiaoRoBot/Program.cs index fbae8c6..5405880 100644 --- a/XiaoXiaoRoBot/Program.cs +++ b/XiaoXiaoRoBot/Program.cs @@ -106,6 +106,9 @@ void HandleGroupMessage(MessageChain chain) // 妖塔猜成语 _ = ChineseIdiomsCmd.Execute(chain); + + // 查丹方 + _ = ImmortalElixirCmd.Execute(chain); } void Init() diff --git a/XiaoXiaoRoBot/appsettings.json b/XiaoXiaoRoBot/appsettings.json index eb963d9..818c269 100644 --- a/XiaoXiaoRoBot/appsettings.json +++ b/XiaoXiaoRoBot/appsettings.json @@ -2,6 +2,29 @@ "ConnectionStrings": { "Redis": "127.0.0.1:6379,defaultDatabase=0,max pool size=50,tryit=0" }, + "丹方": { + "灭神古丸": "配方主药三尾风叶1药引血菩提1辅药混元果1丹炉寒铁铸心炉\r\n配方主药冰灵焰草1药引诱妖草1辅药混元果1丹炉寒铁铸心炉", + "易筋丹": "配方主药三尾风叶1药引血菩提1辅药天剑笋1丹炉寒铁铸心炉\r\n配方主药冰灵焰草1药引诱妖草1辅药天剑笋1丹炉寒铁铸心炉", + "静禅魔丸": "配方主药八角玄冰草1药引芒焰果1辅药血玉竹1丹炉寒铁铸心炉\r\n配方主药奇茸通天菊1药引问道花1辅药血玉竹1丹炉寒铁铸心炉\r\n配方主药地心淬灵乳1药引宁心草1辅药血玉竹1丹炉寒铁铸心炉", + "化煞魔丸": "配方主药血莲精1药引血莲精1辅药石龙芮1丹炉寒铁铸心炉", + "养气丹": "配方主药血莲精1药引恒心草1辅药血莲精1丹炉寒铁铸心炉", + "素心真丸": "配方主药雪玉骨参1药引穿心莲1辅药伴妖草1丹炉寒铁铸心炉\r\n配方主药腐骨灵花1药引龙鳞果1辅药伴妖草1丹炉寒铁铸心炉", + "地仙玄丸": "配方主药檀芒九叶花1药引浩淼水藤1辅药狼桃1丹炉寒铁铸心炉\r\n配方主药坎水玄冰果1药引道蕴花1辅药狼桃1丹炉寒铁铸心炉", + "天尘丹": "配方主药地心淬灵乳1药引宁心草1辅药八角玄冰草1丹炉寒铁铸心炉", + "金仙造化丹": "配方主药离火梧桐芝7药引宁心草1辅药太乙碧莹花7丹炉寒铁铸心炉\r\n\r\n离火梧桐芝=尘磊岩麟果,药引=任意性平,太乙碧莹花=森檀木=炼心芝=重元换血草", + "创世丹": "配方主药离火梧桐芝5药引宁心草1辅药太乙碧莹花5丹炉寒铁铸心炉\r\n\r\n离火梧桐芝=尘磊岩麟果,药引=任意性平,太乙碧莹花=森檀木=炼心芝=重元换血草", + "太乙炼髓丹": "配方主药剑魄竹笋3药引鬼面花3辅药太乙碧莹花3丹炉寒铁铸心炉\r\n配方主药剑魄竹笋3药引炼心芝3辅药太乙碧莹花3丹炉寒铁铸心炉\r\n配方主药明心问道果3药引重元换血草3辅药太乙碧莹花3丹炉寒铁铸心炉\r\n配方主药明心问道果3药引梧桐木3辅药太乙碧莹花3丹炉寒铁铸心炉", + "混沌丹": "配方主药离火梧桐芝4药引宁心草1辅药太乙碧莹花4丹炉寒铁铸心炉", + "极品混沌丹": "配方主药离火梧桐芝5药引宁心草1辅药阴阳黄泉花9丹炉寒铁铸心炉\r\n\r\n离火梧桐芝=尘磊岩麟果,药引=任意性平,阴阳黄泉花=厉魂血珀", + "太上玄门丹": "配方主药剑魄竹笋1药引鬼面花1辅药太乙碧莹花1丹炉寒铁铸心炉\r\n配方主药剑魄竹笋1药引炼心芝1辅药太乙碧莹花1丹炉寒铁铸心炉\r\n配方主药明心问道果1药引重元换血草1辅药太乙碧莹花1丹炉寒铁铸心炉", + "金仙破厄丹": "配方主药剑魄竹笋2药引鬼面花2辅药太乙碧莹花2丹炉寒铁铸心炉\r\n配方主药剑魄竹笋2药引炼心芝2辅药太乙碧莹花2丹炉寒铁铸心炉", + "太清玉液丹": "配方主药尘磊岩麟果20药引宁心草1辅药地龙干20丹炉寒铁铸心炉\r\n配方主药剑魄竹笋20药引鬼面花20辅药地龙干20丹炉寒铁铸心炉\r\n配方主药剑魄竹笋20药引炼心芝20辅药地龙干20丹炉寒铁铸心炉\r\n配方主药明心问道果20药引重元换血草20辅药地龙干20丹炉寒铁铸心炉\r\n配方主药剑明心问道果20药引梧桐木20辅药地龙干20丹炉寒铁铸心炉\r\n\r\n辅药地龙干=龙须藤=鬼面花=梧桐木", + "菩提证道丹": "配方主药剑魄竹笋10药引鬼面花10辅药太乙碧莹花10丹炉寒铁铸心炉\r\n配方主药剑魄竹笋10药引炼心芝10辅药太乙碧莹花10丹炉寒铁铸心炉\r\n配方主药明心问道果10药引重元换血草10辅药太乙碧莹花10丹炉寒铁铸心炉\r\n配方主药明心问道果10药引梧桐木10辅药太乙碧莹花10丹炉寒铁铸心炉\r\n配方主药尘磊岩麟果10药引宁心草1辅药太乙碧莹花10丹炉寒铁铸心炉\r\n\r\n离火梧桐芝=尘磊岩麟果,药引=任意性平,太乙碧莹花=森檀木=炼心芝=重元换血草", + "大道归一丹": "配方主药剑魄竹笋8药引鬼面花8辅药太乙碧莹花8丹炉寒铁铸心炉\r\n配方主药剑魄竹笋8药引炼心芝8辅药太乙碧莹花8丹炉寒铁铸心炉\r\n配方主药明心问道果8药引重元换血草8辅药太乙碧莹花8丹炉寒铁铸心炉\r\n配方主药明心问道果8药引梧桐木8辅药太乙碧莹花8丹炉寒铁铸心炉\r\n\r\n辅药太乙碧莹花=森檀木=炼心芝=重元换血草", + "九天蕴仙丹": "配方主药剑魄竹笋6药引鬼面花6辅药太乙碧莹花6丹炉寒铁铸心炉\r\n配方主药剑魄竹笋6药引炼心芝6辅药太乙碧莹花6丹炉寒铁铸心炉\r\n配方主药明心问道果6药引重元换血草6辅药太乙碧莹花6丹炉寒铁铸心炉\r\n配方主药明心问道果6药引梧桐木6辅药太乙碧莹花6丹炉寒铁铸心炉\r\n\r\n辅药太乙碧莹花=森檀木=炼心芝=重元换血草", + "极品创世丹": "配方主药剑魄竹笋6药引鬼面花6辅药阴阳黄泉花11丹炉寒铁铸心炉\r\n配方主药剑魄竹笋6药引炼心芝6辅药阴阳黄泉花11丹炉寒铁铸心炉\r\n配方主药明心问道果6药引重元换血草6辅药阴阳黄泉花11丹炉寒铁铸心炉\r\n配方主药明心问道果6药引梧桐木6辅药阴阳黄泉花11丹炉寒铁铸心炉", + "渡劫仙丹": "配方主药离火梧桐芝9药引石龙芮4辅药森檀木9丹炉寒铁铸心炉" + }, "猜成语": { "🚶🐎👀🌸": "走马观花", "💧🏾🔥🥵": "水深火热", @@ -32,12 +55,13 @@ "😔🐟🍂🦢": "沉鱼落雁", "😄🍐🍱🔪": "笑里藏刀", "👗🐉💃✋": "群龙无首", - "⛰": "三五成群", "❤️💡👣📣": "心照不宣", "🌫️🍐👀🌷": "雾里看花", "⛰️🚪🌊": "山盟海誓", "🍅🌊📞👨": "四海为家", "🐓🐕🚁🌁": "鸡犬升天", - "🐺🚬4️⃣🛫": "狼烟四起" + "🐺🚬4️⃣🛫": "狼烟四起", + "🦱😵👀🌀": "头晕眼花", + "🎹🧒1⃣🈴": "情投意合" } } \ No newline at end of file