using System.Text.RegularExpressions;
using Lagrange.Core.Message;
using Lagrange.Core.Message.Entity;
using RoBot.Core.Helper;
using RoBot.Start.Global;
using Lagrange.Core.Common.Interface.Api;
using RoBot.Start.LogConfig;
namespace RoBot.Start.Cmd
{
///
/// 猜成语
///
public class ChineseIdiomsCmd
{
public static async Task Execute(MessageChain chain)
{
try
{
var textEntities = chain.Where(o => o is TextEntity).ToList();
TextEntity input = textEntities.Cast().ToList().FirstOrDefault(o => o.Text.Contains("要道友看表情猜成语"));
if (input is not null)
{
string pattern = @"题目:(.+)";
Match match = Regex.Match(input.Text, pattern);
if (match.Success)
{
string emojiString = match.Groups[1].Value.Trim();
Dictionary dict = AppConfigHelper.GetSection>("猜成语");
if (dict?.Count > 0 && dict.TryGetValue(emojiString, out string val))
{
var systemConfig = GlobalConfig.ConfigSetting;
var bot = GlobalConfig.BotContext;
var groupMessageChain = MessageBuilder.Group((uint)systemConfig.GroupQQ).Forward(chain).Text(val);
await bot.SendMessage(groupMessageChain.Build());
}
}
}
}
catch (Exception ex)
{
Logs.Write($@"{DateTime.Now:yyyy-MM-dd HH:mm:ss} 猜成语 发生异常,异常信息:{ex.Message},异常堆栈:{ex.StackTrace}", true);
}
return await Task.FromResult(true);
}
}
}