Bot Function - Muki-nb/mqbot GitHub Wiki
仍在搭建中~
监听事件。
Name | Type | Description | Example |
---|---|---|---|
eventName |
String | 事件名 | 常用事件 |
callback |
Function | 回调函数 | (data)=>{/*do something*/} |
bot.on("message",(data)=>{
//do something...
});
停止监听事件。
Name | Type | Description | Example |
---|---|---|---|
eventName |
String | 事件名 | 常用事件 |
bot.off("message");
发送群消息。
Name | Type | Description | Default |
---|---|---|---|
group_id |
Number | 群号 | |
message |
String | 发送的消息 | |
auto_escape |
Boolean | 是否以纯文本发送(不解析CQ码) | false |
bot.sendGroupMsg(123456789, "hello world!");
该方法将异步返回一个data
,类型为Object
。包含所发送消息的message_id
。
bot.sendGroupMsg(123456789, "hello world!").then(data => {
let message_id = data.message_id;
//do something...
});
发送私聊消息。
Name | Type | Description | Default |
---|---|---|---|
user_id |
Number | 用户qq号 | |
message |
String | 发送的消息 | |
auto_escape |
Boolean | 是否以纯文本发送(不解析CQ码) | false |
bot.sendPrivateMsg(123456789, "hello world!");
该方法将异步返回一个data
,类型为Object
。包含所发送消息的message_id
。
bot.sendPrivateMsg(123456789, "hello world!").then(data => {
let message_id = data.message_id;
//do something...
});
监听message事件时,使用该方法可以直接对接收到消息的所在群/用户进行回复。
Name | Type | Description | Default |
---|---|---|---|
data |
Number | 监听的数据 | |
message |
String | 发送的消息 | |
auto_escape |
Boolean | 是否以纯文本发送(不解析CQ码) | false |
bot.on("message",(data)=>{
bot.reply(data,"hello world!");
});
该方法将异步返回一个data
,类型为Object
。包含所发送消息的message_id
。
bot.on("message",(data)=>{
bot.reply(data,"hello world!").then(data => {
let message_id = data.message_id;
//do something...
});
});
撤回已发送的消息。
Name | Type | Description |
---|---|---|
message_id |
Number | 所需撤回消息的message_id
|
bot.deleteMsg(message_id);
获得好友列表。
该方法将异步返回一个data
,类型为Array
。
其中data
的每个元素为好友信息,类型为Object
,具体如下。
Name | Type | Description |
---|---|---|
user_id |
Number | 好友的QQ号 |
nickname |
String | 好友的昵称 |
remark |
String | 好友的备注名 |
bot.getFriendList().then(data => {
console.log(data);
/* Output:
[
{
"user_id":123456789,
"nickname":"昵称",
"remark":"备注"
},
...
]
*/
});
获得群组列表。
该方法将异步返回一个data
,类型为Array
。
其中data
的每个元素为群组信息,类型为Object
,具体如下。
Name | Type | Description |
---|---|---|
group_id |
Number | 群号 |
group_name |
String | 群名 |
group_memo |
String | 群备注 |
group_create_time |
Number | 创建时间 |
group_level |
Number | 群等级 |
member_count |
Number | 群人数 |
max_member_count |
Number | 最大人数 |
bot.getGroupList().then(data => {
console.log(data);
/* Output:
[
{
"group_id":123456789,
"group_name":"群名",
"group_memo":"群备注",
"group_create_time":123456789,
"group_level":0,
"member_count":1234,
"max_member_count":2000
},
...
]
*/
});
获得群成员信息。
Name | Type | Description |
---|---|---|
group_id |
Number | 群号 |
user_id |
Number | 所获取成员的qq号 |
该方法将异步返回一个data
,类型为Object
,具体如下。
Name | Type | Description |
---|---|---|
group_id |
Number | 群号 |
user_id |
Number | 所获取成员的qq号 |
nickname |
String | 所获取成员的昵称 |
card |
String | 所获取成员的群名片 |
sex |
String | 所获取成员的性别"male" 、"female" 或 "unknown"
|
age |
Number | 所获取成员的年龄 |
area |
String | 地区 |
join_time |
Number | 加群时间戳 |
last_sent_time |
Number | 最后发言时间戳 |
level |
String | 成员等级 |
role |
String | 角色, owner 或 admin 或 member |
unfriendly |
Boolean | 是否不良记录成员 |
title |
String | 专属头衔 |
title_expire_time |
Number | 专属头衔过期时间戳 |
card_changeable |
Boolean | 是否允许修改群名片 |
shut_up_timestamp |
Number | 禁言到期时间 |
bot.getGroupMemberInfo(123456789,111222333).then(data => {
console.log(data);
/* Output:
{
//群成员信息
}
*/
});
获得群成员信息的列表。
Name | Type | Description |
---|---|---|
group_id |
Number | 群号 |
该方法将异步返回一个data
,类型为Array
。
其中每个元素为群成员信息,类型为Object
,与上者 获取群成员信息 基本相同,但area、title等在获取列表时无法获得, 具体应以单独的成员信息为准。
bot.getGroupMemberList(123456789).then(data => {
console.log(data);
/* Output:
[
{
//群成员信息
},
...
]
*/
});
注意,对于部分群组的管理员功能,需要有对应权限才可操作。
设置群组管理员。
Name | Type | Description | Default |
---|---|---|---|
group_id |
Number | 群号 | |
user_id |
Number | 需要设置的用户qq号 | |
enable |
Boolean | 是否设为管理员false 表示取消管理员权限 |
true |
bot.setGroupAdmin(123456789,111222333); //设为管理员
设置群名片。
Name | Type | Description | Default |
---|---|---|---|
group_id |
Number | 群号 | |
user_id |
Number | 需要设置的用户qq号 | |
card |
String | 群名片 | "" |
bot.setGroupCard(123456789,111222333,"test"); //设置群名片为 test
bot.setGroupCard(123456789,111222333); //清空群名片
设置群名片。
Name | Type | Description |
---|---|---|
group_id |
Number | 群号 |
user_id |
Number | 需要设置的用户qq号 |
special_title |
String | 群头衔 |
bot.setGroupSpecialTitle(123456789,111222333,"大佬"); //设置群头衔为 大佬
注意,对于部分群组的管理员功能,需要有对应权限才可操作。
处理好友添加的通知。
Name | Type | Description | Default |
---|---|---|---|
flag |
String | 好友请求标识。详见事件request.friend
|
|
approve |
Boolean | 是否添加 | true |
remark |
String | 备注,添加时可用 | "" |
//自动同意添加好友请求
bot.on("request.friend",data => {
bot.setFriendAddRequest(data.flag);
});
处理群聊申请的通知。
Name | Type | Description | Default |
---|---|---|---|
flag |
String | 群聊申请请求标识。详见事件request.group.add 或request.group.invite
|
|
sub_type |
String | 子类型,add 或invite 具体可根据 request.group 中的data.sub_type 决定 |
|
approve |
Boolean | 是否同意 | true |
reason |
String | 拒绝原因,拒绝时可用 | "" |
//自动同意群聊申请/邀请
bot.on("request.group",data => {
bot.setGroupAddRequest(data.flag,data.sub_type);
});
禁言群成员。
Name | Type | Description |
---|---|---|
group_id |
Number | 群号 |
user_id |
Number | 需要禁言的群成员qq号 |
duration |
Number | 时长,单位为秒 |
bot.banGroupUser(123456789,111222333,30*60); //禁言30分钟
设置全员禁言。
Name | Type | Description | Default |
---|---|---|---|
group_id |
Number | 群号 | |
enable |
Boolean | 是否开启全员禁言 | true |
bot.banGroup(123456789); //开启全员禁言
bot.banGroup(123456789, false); //关闭全员禁言
移除群成员。
Name | Type | Description | Default |
---|---|---|---|
group_id |
Number | 群号 | |
user_id |
Number | 需要踢出群聊的成员的qq号 | |
reject_add_request |
Boolean | 是否不再接受群申请 | false |
bot.kickGroupUser(123456789,111222333);
退出群聊。
Name | Type | Description |
---|---|---|
group_id |
Number | 群号 |
bot.leaveGroup(123456789);