Skip to content

message 工具类 ​

尽管在 client 工具类 中提供各种消息发送相关的 api。但考虑种类繁杂、响应 bot 配置项(例如 atUser)等方面,我们需要对发送消息方法进一步的封装。

message 工具类就是用于处理这种情况,它可以自行创建发送消息方法,又或是直接向 master 发送消息。

具体 api 调用可以翻阅 工具类 Message Api

创建发送消息方法 ​

工具类中提供了 createMessageSender() 方法用于创建自定义发送消息方法。

被创建的自定义发送消息方法支持发送任意类型消息(包括合并转发消息),并会同步响应 atUser 配置项设置。

方法一经创建,其发送的目标就已经被固定,无法改变。仅支持传入待发送内容与是否 at 群内目标(群聊限定,私聊时不起作用)。

指定用户的私聊 ​

示例:对 QQ 为 114514191 的用户,创建私聊发送消息方法

ts
import bot from "ROOT";
import { MessageType } from "@/modules/message";

const sendMessageFunc = bot.message.createMessageSender( MessageType.Private, 114514191 );
sendMessageFunc( "吃了吗您" );

指定群聊内发送普通消息 ​

示例:对群号内为 100000001 的群聊,创建普通消息发送方法:

ts
import bot from "ROOT";
import { MessageType } from "@/modules/message";

const sendMessageFunc = bot.message.createMessageSender( MessageType.Group, 100000001 );
sendMessageFunc( "吃了吗您" );

指定群聊内的指定用户 ​

示例:对群号为 100000001 群聊内的 QQ 为 114514191 用户,创建消息发送方法:

相比上方示例来说,只需填写第三个参数即可。

ts
import bot from "ROOT";
import { MessageType } from "@/modules/message";

const sendMessageFunc = bot.message.createMessageSender( MessageType.Group, 100000001, 114514191 );

被创建的消息方法调用时,默认情况下将会参照 config.atUser 配置项,来决定是否自动 at 群内目标用户。此行为可通过为生成的方法传入第二个参数来手动覆盖。

ts
// 此时不论 config.atUser 的值如何,均不会 at 群内目标用户,仅发送普通群聊消息
sendMessageFunc( "吃了吗您", false );

指定群聊内 at 全体成员 ​

示例:对群号为 100000001 的群聊,创建全体成员消息发送方法:

ts
import bot from "ROOT";
import { MessageType } from "@/modules/message";

const sendMessageFunc = bot.message.createMessageSender( MessageType.Group, 100000001, "all" );
sendMessageFunc( "吃了吗您" );

向 bot 主人发送消息 ​

通过 sendMaster() 方法可以快捷的向 bot 主人发送私聊消息。

ts
import bot from "ROOT";

bot.message.sendMaster( "程序出错啦" );

Released under the MIT License.