扩展 WudiLib CQ 码

如果您想发送的 CQ 码类型不存在于 WudiLib 中,您可以手动构建相应的消息段,也可以用原始消息的方式直接发送。本文以 XML 消息在新窗口打开为例。

手动构建相应的消息段

可以按照下面的方式构建 XML 消息。

SendingMessage CreateXmlMessage(string xmlData)
{
    // 构建 XML 消息段。
    var section = new Section("xml", ("data", xmlData));
    // 从消息段构建消息。
    return new SendingMessage(section);
}

其中构建消息段时,如果要传入参数,可以通过一个或多个元组的方式(就像例子里那样),也可以通过包含参数列表的字典传入。

若要构建包含多个消息段的消息,可以对每个消息段分别构建一条消息,然后用 + 操作符连接。

用原始消息字符串构建

var message = new RawMessage("[CQ:xml,data=<?xml ...]");

直接用字符串构建需要考虑转义问题,如果采用这种方式,请查阅 OneBot 文档字符串格式在新窗口打开章节。