Ejemplo n.º 1
0
        public static async Task SendPlainText(this MiraiHttpSession session, IGroupMessageEventArgs e, string text)
        {
            var builder = new MessageBuilder();

            builder.AddAtMessage(e.Sender.Id);
            builder.AddPlainMessage(" ");
            builder.AddPlainMessage(text);

            await session.SendGroupMessageAsync(e.Sender.Group.Id, builder);
        }
Ejemplo n.º 2
0
        public async Task <bool> GroupMessage3(MiraiHttpSession session, IGroupMessageEventArgs e) // 法3: 使用 IMessageBuilder
        {
            IMessageBuilder builder = new MessageBuilder();

            builder.AddPlainMessage($"收到了来自{e.Sender.Name}[{e.Sender.Id}]{{{e.Sender.Permission}}}的群消息:{string.Join(null, (IEnumerable<IMessageBase>)e.Chain)}");
            //                                 / 发送者群名片 /  / 发送者QQ号 /   /   发送者在群内权限   /                                                       / 消息链 /
            // builder.AddPlainMessage("QAQ").AddPlainMessage("QwQ")/* .AddAtMessage(123456) etc... */;
            // 你甚至可以一开始 new MessageBuilder() 的时候就开始 Chaining
            await session.SendGroupMessageAsync(e.Sender.Group.Id, builder /*, plain2, /* etc... */); // 向消息来源群异步发送由以上chain表示的消息

            return(false);                                                                            // 不阻断消息传递。如需阻断请返回true
        }
        public async Task <bool> FriendMessage3(MiraiHttpSession session, IFriendMessageEventArgs e) // 法3: 使用 params IMessageBase[]
        {
            IMessageBuilder builder = new MessageBuilder();

            builder.AddPlainMessage($"收到了来自{e.Sender.Name}({e.Sender.Remark})[{e.Sender.Id}]的私聊消息:{string.Join(null, (IEnumerable<IMessageBase>)e.Chain)}");
            //                                 /   好友昵称  /  /    好友备注    /  /  好友QQ号  /                                                        / 消息链 /
            // builder.AddPlainMessage("QAQ").AddPlainMessage("QwQ")/* .AddAtMessage(123456) etc... */;
            // 你甚至可以一开始 new MessageBuilder() 的时候就开始 Chaining
            await session.SendFriendMessageAsync(e.Sender.Id, builder /*, plain2, /* etc... */); // 向消息来源群异步发送由以上chain表示的消息

            return(false);                                                                       // 不阻断消息传递。如需阻断请返回true
        }