Skip to content
This repository was archived by the owner on Mar 29, 2024. It is now read-only.

AP. 1 (1) 信息快速编写功能类和常用代码.

DavidMeow edited this page Jan 13, 2023 · 1 revision

(MessageUtil / 引用位置:MeowMiraiLib.Msg.Type)
以下实例中, c均为一个实例化的对象


1. MGetPlainString 获取消息中的所有字符集合

c.OnFriendMessageReceive += (s, e) =>
{
    if(s.id != qqid) //过滤自己发出的信息
    {
        var str = e.MGetPlainString();
        Console.WriteLine(str);
    }
};

2. MGetPlainString 获取消息中的所有字符集合并且使用(splitor参数)分割

c.OnFriendMessageReceive += (s, e) =>
{
    if(s.id != qqid) //过滤自己发出的信息
    {
        var str = e.MGetPlainStringSplit(); //默认使用空格分隔
        //var str = e.MGetPlainStringSplit(","); //使用逗号分割
        Console.WriteLine(str);
    }
};

3. MGetEachImageUrl 获取消息中的所有图片集合的Url

c.OnFriendMessageReceive += (s, e) =>
{
    if(s.id != qqid) //过滤自己发出的信息
    {
        var sx = e.MGetEachImageUrl();
        Console.WriteLine(sx[1].url);
    }
};

4. SendToFriend 信息类前置发送好友信息

new Message[] { new Plain("...") }.SendToFriend(qqnumber,c);

5. SendToGroup 信息类前置发送群信息

new Message[] { new Plain("...") }.SendToGroup(qqgroupnumber,c);

6. SendToTemp 信息类前置发送临时信息

new Message[] { new Plain("...") }.SendToTemp(qqnumber,qqgroupnumber,c);

7. SendMessage 对于 GenericModel 的群发信息逻辑

注:您也可以使用foreach对每个/好友/群员发送

var msg = new Message[] { new Plain("...") };//要发送的信息

var fl = new FriendList().Send(c);//获取好友列表

fl[0].SendMessage(msg,c);//朝好友列表的1号好友发送信息(原生写法)
(fl[0], msg).SendMessage(c); //朝好友列表的1号好友发送信息(简单写法)

foreach(var i in fl) //朝好友列表的所有好友发送信息(原生写法)
{
    i.SendMessage(msg,c);
}

var gl = new GroupList().Send(c);//获取群列表
var gml = gl[0].GetMemberList(c);//获取群1的群员列表

gml[0].SendMessage(msg,c);//朝群1的1号群员发送msg信息(原生写法)
(gml[0], msg).SendMessage(c);//朝群1的1号群员发送msg信息(简单写法)

foreach(var i in gml) //朝群1的所有群员发送信息(原生写法)
{
    i.SendMessage(msg,c);
}

foreach(var i in gl) //朝所有群发送群信息(原生写法)
{
    i.SendMessage(msg,c);
}