Bot Function - Muki-nb/mqbot GitHub Wiki

仍在搭建中~

Bot Function

Basic

监听 bot.on(eventName,callback)

监听事件。

Name Type Description Example
eventName String 事件名 常用事件
callback Function 回调函数 (data)=>{/*do something*/}
bot.on("message",(data)=>{
    //do something...
});

停止监听 bot.off(eventName)

停止监听事件。

Name Type Description Example
eventName String 事件名 常用事件
bot.off("message");

Chat

发送群消息 bot.sendGroupMsg(group_id,message,auto_escape?)

发送群消息。

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...
});

发送私聊消息 bot.sendPrivateMsg(user_id,message,auto_escape?)

发送私聊消息。

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...
});

回复 bot.reply(data,message,auto_escape?)

监听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...
    });
});

撤回 bot.deleteMsg(message_id)

撤回已发送的消息。

Name Type Description
message_id Number 所需撤回消息的message_id
bot.deleteMsg(message_id);

Get

获得好友列表 bot.getFriendList()

获得好友列表。 该方法将异步返回一个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":"备注"
        },
        ...
    ]
    */
});

获得群组列表 bot.getGroupList()

获得群组列表。 该方法将异步返回一个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
        },
        ...
    ]
    */
});

获得群成员信息 bot.getGroupMemberInfo(group_id, user_id)

获得群成员信息。

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:
    {
        //群成员信息
    }
    */
});

获得群成员列表 bot.getGroupMemberList(group_id)

获得群成员信息的列表。

Name Type Description
group_id Number 群号

该方法将异步返回一个data,类型为Array。 其中每个元素为群成员信息,类型为Object,与上者 获取群成员信息 基本相同,但area、title等在获取列表时无法获得, 具体应以单独的成员信息为准。

bot.getGroupMemberList(123456789).then(data => {
    console.log(data);
    /* Output:
    [
        {
            //群成员信息
        },
        ...
    ]
    */
});

Set

注意,对于部分群组的管理员功能,需要有对应权限才可操作。

设置管理员 bot.setGroupAdmin(group_id,user_id,enable?)

设置群组管理员。

Name Type Description Default
group_id Number 群号
user_id Number 需要设置的用户qq号
enable Boolean 是否设为管理员
false表示取消管理员权限
true
bot.setGroupAdmin(123456789,111222333); //设为管理员

设置群名片 bot.setGroupCard(group_id,user_id,card?)

设置群名片。

Name Type Description Default
group_id Number 群号
user_id Number 需要设置的用户qq号
card String 群名片 ""
bot.setGroupCard(123456789,111222333,"test"); //设置群名片为 test

bot.setGroupCard(123456789,111222333); //清空群名片

设置群头衔 bot.setGroupSpecialTitle(group_id,user_id,special_title)

设置群名片。

Name Type Description
group_id Number 群号
user_id Number 需要设置的用户qq号
special_title String 群头衔
bot.setGroupSpecialTitle(123456789,111222333,"大佬"); //设置群头衔为 大佬

Operation

注意,对于部分群组的管理员功能,需要有对应权限才可操作。

处理好友添加 bot.setFriendAddRequest(flag,approve?,remark?)

处理好友添加的通知。

Name Type Description Default
flag String 好友请求标识。详见事件request.friend
approve Boolean 是否添加 true
remark String 备注,添加时可用 ""
//自动同意添加好友请求
bot.on("request.friend",data => {
    bot.setFriendAddRequest(data.flag);
});

处理群聊申请 bot.setGroupAddRequest(flag,sub_type,approve?,reason?)

处理群聊申请的通知。

Name Type Description Default
flag String 群聊申请请求标识。详见事件request.group.addrequest.group.invite
sub_type String 子类型,addinvite
具体可根据request.group中的data.sub_type决定
approve Boolean 是否同意 true
reason String 拒绝原因,拒绝时可用 ""
//自动同意群聊申请/邀请
bot.on("request.group",data => {
    bot.setGroupAddRequest(data.flag,data.sub_type);
});

禁言 bot.banGroupUser(group_id,user_id,duration)

禁言群成员。

Name Type Description
group_id Number 群号
user_id Number 需要禁言的群成员qq号
duration Number 时长,单位为秒
bot.banGroupUser(123456789,111222333,30*60); //禁言30分钟

全员禁言 bot.banGroup(group_id,enable?)

设置全员禁言。

Name Type Description Default
group_id Number 群号
enable Boolean 是否开启全员禁言 true
bot.banGroup(123456789); //开启全员禁言

bot.banGroup(123456789, false); //关闭全员禁言

踢人 bot.kickGroupUser(group_id,user_id,reject_add_request?)

移除群成员。

Name Type Description Default
group_id Number 群号
user_id Number 需要踢出群聊的成员的qq号
reject_add_request Boolean 是否不再接受群申请 false
bot.kickGroupUser(123456789,111222333);

退群 bot.leaveGroup(group_id)

退出群聊。

Name Type Description
group_id Number 群号
bot.leaveGroup(123456789);

⚠️ **GitHub.com Fallback** ⚠️