Beispiel #1
0
        public async ValueTask GroupMessageParse(object sender, GroupMessageEventArgs groupMessage)
        {
            config = new(groupMessage.LoginUid);
            //读取配置文件
            if (!config.LoadUserConfig(out UserConfig userConfig))
            {
                await groupMessage.Reply("读取配置文件(User)时发生错误\r\n请检查配置文件然后重启");

                ConsoleLog.Error("Qiushui机器人管理", "无法读取用户配置文件");
                return;
            }
            if (!IsListenGroup(groupMessage.SourceGroup.Id, userConfig))
            {
                return;
            }

            await IsAI(groupMessage, userConfig);
            await Reread(groupMessage, userConfig);
            await TriggerCute(groupMessage, userConfig);
            await TriggerSpecial(groupMessage, userConfig);
            await SpeakerStorage(groupMessage);

            //聊天关键词
            if (CommandHelper.GetKeywordType(groupMessage.Message.RawText, out KeywordCommand keywordCommand))
            {
                ConsoleLog.Info("关键词触发", $"触发关键词[{keywordCommand.GetDescription()}]");
                switch (keywordCommand)
                {
                case KeywordCommand.Hso:
                    if (userConfig.ModuleSwitch.Hso)
                    {
                        await _moduleInterface.HsoHandle(sender, groupMessage);
                    }
                    break;

                default:
                    if (userConfig.ModuleSwitch.LianBot)
                    {
                        await _moduleInterface.LianHandle(sender, groupMessage, keywordCommand);
                    }
                    break;
                }
            }
        }