示例#1
0
 public void AddOnAction(CoolqEvent coolqEvent)
 {
     foreach (var addon in AddOnList)
     {
         addon.Action(this, coolqEvent);
     }
 }
示例#2
0
文件: Help.cs 项目: billxc/smartBot
        public void Action(Bot bot, CoolqEvent message)
        {
            Logger.Debug($"{bot.QQ} receives {message.post_type}");
            if (message is CoolqMessage coolqMessage)
            {
                Logger.Debug($"{bot.QQ} receives message from {coolqMessage.user_id}");
                if (!rx.IsMatch(coolqMessage.message))
                {
                    return;
                }
                var reply = string.Join("\n", bot.AddOnList
                                        .Select(addon => addon.Info())
                                        .Where(s => !string.IsNullOrEmpty(s)));
                if (string.IsNullOrEmpty(reply))
                {
                    return;
                }
                switch (coolqMessage.message_type)
                {
                case "group":
                    bot.SendGroupMsg(coolqMessage.group_id, reply, false);
                    break;

                case "private":
                    bot.SendPrivateMsg(coolqMessage.user_id, reply, false);
                    break;

                case "discuss":
                    bot.SendPrivateMsg(coolqMessage.discuss_id, reply, false);
                    break;
                }
            }
        }
示例#3
0
        public void Action(Bot bot, CoolqEvent message)
        {
            Logger.Debug($"{bot.QQ} receives {message.post_type}");
            if (message is CoolqMessage coolqMessage)
            {
                Logger.Debug($"{bot.QQ} receives message from {coolqMessage.user_id}");
                var reply = onMessage(coolqMessage.message);
                if (string.IsNullOrEmpty(reply))
                {
                    return;
                }
                switch (coolqMessage.message_type)
                {
                case "group":
                    bot.SendGroupMsg(coolqMessage.group_id, reply, false);
                    break;

                case "private":
                    bot.SendPrivateMsg(coolqMessage.user_id, reply, false);
                    break;

                case "discuss":
                    bot.SendPrivateMsg(coolqMessage.discuss_id, reply, false);
                    break;
                }
            }
        }