Class: Bot
机器人客户端。
Constructors
new Bot()
new Bot(
token,options?):Bot
Parameters
| Parameter | Type | Description |
|---|---|---|
token | string | 机器人 token。 |
options? | BotOptions | 配置项。 |
Returns
Defined in
Properties
WebSocket
readonlyWebSocket:WsClient
请求使用的 WebSocket 接口。
Default
globalThis.WebSocket ?? (await import('ws')).WebSocketDefined in
axios
readonlyaxios:Axios
请求使用的 axios 实例。
默认配置:
baseURL:https://a1.fanbook.mobi/api/bot/${this.token}
Defined in
token
readonlytoken:string
机器人 token。
Defined in
Methods
addMemberRole()
addMemberRole(
guild,user,roles):Promise<void>
给服务器成员添加身份组。
Parameters
| Parameter | Type | Description |
|---|---|---|
guild | bigint | 所在服务器 ID |
user | bigint | 用户 ID |
roles | bigint[] | 添加的身份组 ID 列表 |
Returns
Promise<void>
Defined in
checkUserGuilds()
checkUserGuilds(
user,guilds):Promise<bigint[]>
判断用户是否在指定服务器列表中。
Parameters
| Parameter | Type | Description |
|---|---|---|
user | bigint | 用户 ID |
guilds | bigint[] | 服务器 ID 列表 |
Returns
Promise<bigint[]>
用户在的服务器 ID 列表
Defined in
createGuildRole()
createGuildRole(
guild,name,color,options?):Promise<GuildRole>
创建服务器身份组。
Parameters
| Parameter | Type | Description |
|---|---|---|
guild | bigint | 所属服务器 ID |
name | string | 身份组名称 |
color | number | 身份组颜色 RGB 数值 |
options? | CreateGuildRoleOptions | 其他选项 |
Returns
Promise<GuildRole>
身份组对象
Defined in
deleteGuildRole()
deleteGuildRole(
guild,role):Promise<void>
删除服务器身份组。
Parameters
| Parameter | Type | Description |
|---|---|---|
guild | bigint | 服务器 ID |
role | bigint | 身份组 ID |
Returns
Promise<void>
Defined in
deleteGuildUserCredit()
deleteGuildUserCredit(
user,card,options):Promise<void>
删除服务器用户荣誉。
Parameters
| Parameter | Type | Description |
|---|---|---|
user | bigint | 用户 ID |
card | string | 荣誉自定义 ID |
options | DeleteGuildUserCreditOptions | 其他数据 |
Returns
Promise<void>
Defined in
deleteMessage()
deleteMessage(
chat,message):Promise<boolean>
撤回消息。
如果有撤回消息权限,则可以撤回任何时间的,且身份比机器人低的用户,发送的消息,否则只能撤回自身 3 分钟之内发送的消息。
撤回失败返回 false。
Parameters
| Parameter | Type | Description |
|---|---|---|
chat | bigint | 消息所在聊天 ID |
message | bigint | 消息 ID |
Returns
Promise<boolean>
是否成功
Defined in
editMessage()
editMessage(
chat,message,content,options?):Promise<Message>
编辑消息。
Parameters
| Parameter | Type | Description |
|---|---|---|
chat | bigint | 消息所在聊天 ID |
message | bigint | 消息 ID |
content | string | 新的消息内容 |
options? | EditMessageOptions | 其他选项 |
Returns
Promise<Message>
编辑后的消息对象
Defined in
editReplyMarkup()
editReplyMarkup(
chat,message,content):Promise<Message>
编辑内联键盘。
Parameters
| Parameter | Type | Description |
|---|---|---|
chat | bigint | 消息所在聊天 ID |
message | bigint | 消息 ID |
content | ReplyKeyboardMarkup | 新的内联键盘 |
Returns
Promise<Message>
编辑后的消息对象
Defined in
forbidMemberSpeaking()
forbidMemberSpeaking(
guild,user,duration):Promise<void>
禁言服务器成员。
禁言时长在 60~2592000 中,超出范围时如果在 1~2147483647 中则近取合法值,否则报错。
Parameters
| Parameter | Type | Description |
|---|---|---|
guild | bigint | 所在服务器 ID |
user | bigint | 用户 ID |
duration | number | 禁言时长(单位:秒) |
Returns
Promise<void>
Defined in
getGuild()
getGuild(
guild,user?):Promise<Guild>
获取服务器信息。
Parameters
| Parameter | Type | Description |
|---|---|---|
guild | bigint | 服务器 ID |
user? | bigint | 用户 ID |
Returns
Promise<Guild>
服务器对象
Defined in
getGuildUserCredits()
getGuildUserCredits(
guild,user):Promise<GuildCredit[]>
获取服务器用户荣誉。
Parameters
| Parameter | Type | Description |
|---|---|---|
guild | bigint | 服务器 ID |
user | bigint | 用户 ID |
Returns
Promise<GuildCredit[]>
服务器用户荣誉列表
Defined in
getInvitation()
getInvitation(
code):Promise<GuildInviteCodeRecord>
获取邀请信息。
Parameters
| Parameter | Type | Description |
|---|---|---|
code | string | 邀请码(不包含域名) |
Returns
Promise<GuildInviteCodeRecord>
邀请信息
Defined in
getMe()
getMe(
options?):Promise<User>
校验令牌有效性,获取机器人自身的信息。
Parameters
| Parameter | Type |
|---|---|
options? | GetMeOptions |
Returns
Promise<User>
机器人自身信息
Defined in
getMembersByShortIds()
getMembersByShortIds(
guild,ids):Promise<GuideChatMember[]>
批量通过 Fanbook ID(短 ID)获取用户。
Parameters
| Parameter | Type | Description |
|---|---|---|
guild | bigint | 所在频道 ID |
ids | number[] | Fanbook ID 列表 |
Returns
Promise<GuideChatMember[]>
用户列表
Defined in
getMessage()
getMessage(
chat,message):Promise<Message>
获取消息信息。
Parameters
| Parameter | Type | Description |
|---|---|---|
chat | bigint | 消息所在聊天 ID |
message | bigint | 消息 ID |
Returns
Promise<Message>
消息对象
Defined in
getPrivateChat()
getPrivateChat(
user):Promise<Chat>
获取与用户的私聊。
Parameters
| Parameter | Type | Description |
|---|---|---|
user | bigint | 目标用户 ID |
Returns
Promise<Chat>
私聊
Defined in
getUserHumanVerifyStatus()
getUserHumanVerifyStatus(
user):Promise<boolean>
获取用户实名认证状态。
Parameters
| Parameter | Type | Description |
|---|---|---|
user | bigint | 用户 ID |
Returns
Promise<boolean>
是否已实名认证
Defined in
isGuildMember()
isGuildMember(
guild,user):Promise<boolean>
判断指定用户是否在指定服务器中。
Parameters
| Parameter | Type | Description |
|---|---|---|
guild | bigint | 所在服务器 ID |
user | bigint | 用户 ID |
Returns
Promise<boolean>
是否在服务器中
Defined in
listChatMember()
listChatMember(
options):Promise<any>
列出聊天或服务器成员。
Parameters
| Parameter | Type | Description |
|---|---|---|
options | ListChatMemberOptions | 其他数据 |
Returns
Promise<any>
成员列表
Defined in
listChatMessage()
listChatMessage(
chat,size,message?,behavior?):Promise<bigint[]>
列出聊天的历史消息。
Parameters
| Parameter | Type | Description |
|---|---|---|
chat | bigint | 聊天 ID |
size | number | 分页长度 |
message? | bigint | 基准消息 |
behavior? | ListChatMessageBehavior | 取基准消息的前还是后,留空则为 before |
Returns
Promise<bigint[]>
当前页的消息列表
Defined in
listGuildChannel()
listGuildChannel(
guild):Promise<Channel[]>
列出服务器频道。
Parameters
| Parameter | Type | Description |
|---|---|---|
guild | bigint | 服务器 ID |
Returns
Promise<Channel[]>
服务器频道 ID 列表
Defined in
listGuildEmoji()
listGuildEmoji(
guild):Promise<GuildEmoji[]>
列出服务器表情符号。
Parameters
| Parameter | Type | Description |
|---|---|---|
guild | bigint | 所在服务器 ID |
Returns
Promise<GuildEmoji[]>
服务器表情符号列表
Defined in
listGuildInvitation()
listGuildInvitation(
guild,size,last?):Promise<ListGuildInvitationResult>
分页列出服务器邀请信息。
Parameters
| Parameter | Type | Description |
|---|---|---|
guild | bigint | 服务器 ID |
size | number | 获取数量 |
last? | bigint | 上一页 ID |
Returns
Promise<ListGuildInvitationResult>
当前页的服务器邀请信息列表
Defined in
listGuildMember()
listGuildMember(
guild,channel,ranges,user?):Promise<GetGuildMembersResult>
分页获取服务器成员列表。
Parameters
| Parameter | Type | Description |
|---|---|---|
guild | bigint | 服务器 ID |
channel | bigint | 频道 ID |
ranges | object[] | 分页 |
user? | bigint | 用户 ID,必须在频道中,留空则自动获取 |
Returns
Promise<GetGuildMembersResult>
当前页的成员信息
Defined in
listGuildRole()
listGuildRole(
guild,last?):Promise<GuildRole[]>
列出服务器身份组。
Parameters
| Parameter | Type | Description |
|---|---|---|
guild | bigint | 服务器 ID |
last? | bigint | 上一页的最后一个 ID,留空则为第一页 |
Returns
Promise<GuildRole[]>
服务器身份组列表
Defined in
listMyCommand()
listMyCommand():
Promise<BotCommand[]>
获取机器人自身的命令列表。
Returns
Promise<BotCommand[]>
命令列表
Defined in
listQuote()
listQuote():
Promise<void>
Returns
Promise<void>
Todo
Defined in
listRoleMember()
listRoleMember(
guild,role,size,last?):Promise<GuideChatMember[]>
分页获取身份组成员列表。
Parameters
| Parameter | Type | Default value | Description |
|---|---|---|---|
guild | bigint | undefined | 身份组所在服务器 ID |
role | bigint | undefined | 身份组 ID |
size | number | 50 | 分页大小,留空则为 50 |
last? | bigint | undefined | 上一页的最后一个 ID |
Returns
Promise<GuideChatMember[]>
成员列表
Defined in
listen()
listen(
options?):Promise<Emitter<ListenEvents>>
订阅事件。
在返回值上调用 .emit('close') 可以取消订阅。
Parameters
| Parameter | Type | Description |
|---|---|---|
options? | ListenOptions | 其他选项 |
Returns
Promise<Emitter<ListenEvents>>
事件总线,mitt 实例
See
https://github.com/fanbook-open/websocket-doc/blob/main/README.md
Defined in
pinMessage()
pinMessage(
chat,message):Promise<void>
设置精选消息。
Parameters
| Parameter | Type | Description |
|---|---|---|
chat | bigint | 消息所在聊天 |
message | bigint | 消息 ID |
Returns
Promise<void>
Permission
MANAGE_MESSAGES
Permission
ADMINISTRATOR
Defined in
removeChatMember()
removeChatMember(
user,options):Promise<void>
从服务器或聊天中移除成员。
Parameters
| Parameter | Type | Description |
|---|---|---|
user | bigint | 用户 ID |
options | KickChatMemberOptions | 其他数据 |
Returns
Promise<void>
Defined in
removeMemberRole()
removeMemberRole(
guild,user,roles):Promise<void>
给服务器成员移除身份组。
Parameters
| Parameter | Type | Description |
|---|---|---|
guild | bigint | 所在服务器 ID |
user | bigint | 用户 ID |
roles | bigint[] | 移除的身份组 ID 列表 |
Returns
Promise<void>
Defined in
request()
request<
D>(path,data?,options?):Promise<AxiosResponse<D,any>>
向发送开放平台请求。
Type Parameters
| Type Parameter |
|---|
D |
Parameters
| Parameter | Type | Description |
|---|---|---|
path | string | 请求路径(不包括公共部分) |
data? | D | 请求体 |
options? | AxiosRequestConfig<any> | 其他 axios 配置 |
Returns
Promise<AxiosResponse<D, any>>
响应体
Defined in
searchMembersByName()
searchMembersByName(
guild,name):Promise<GuideChatMember[]>
通过昵称模糊查询服务器成员。
Parameters
| Parameter | Type | Description |
|---|---|---|
guild | bigint | 所在服务器 ID |
name | string | 查询的昵称 |
Returns
Promise<GuideChatMember[]>
查询到的服务器成员列表
Defined in
sendMessage()
sendMessage(
chat,content,description,options?):Promise<Message>
发送消息。
Parameters
| Parameter | Type | Description |
|---|---|---|
chat | bigint | 发送到的聊天 ID |
content | string | 消息内容(1~150000 字节) |
description | string | 消息描述,作为只能显示纯文本时的降级方案 |
options? | SendMessageOptions | 其他选项 |
Returns
Promise<Message>
发送的消息对象
Permission
SEND_MESSAGES *
Permission
ADMINISTRATOR *
Defined in
sendNotication()
sendNotication(
user,content,type,nonce?):Promise<void>
发送通知。
Parameters
| Parameter | Type | Description |
|---|---|---|
user | bigint | 目标用户 |
content | string | 通知内容 |
type | 1 | 2 | 通知类型(1:未完成的任务;2:已完成的任务) |
nonce? | string | 雪花 ID,留空则自动生成 |
Returns
Promise<void>
Defined in
sendPhoto()
sendPhoto(
chat,url,options?):Promise<Message>
发送图片消息。
Parameters
| Parameter | Type | Description |
|---|---|---|
chat | bigint | 发送到的聊天 ID |
url | string | 图片链接 |
options? | SendPhotoOptions | 其他选项 |
Returns
Promise<Message>
发送的消息对象
Permission
SEND_MESSAGES
Permission
ADMINISTRATOR
Defined in
sendReaction()
sendReaction(
user,chat,message,options):Promise<void>
对消息表态。
Parameters
| Parameter | Type | Description |
|---|---|---|
user | bigint | 表态的用户 ID |
chat | bigint | 被表态的消息所在聊天 ID |
message | bigint | 被表态的消息 ID |
options | SendReactionOptions | 其他数据 |
Returns
Promise<void>
Permission
ADD_REACTIONS
Permission
ADMINISTRATOR
Defined in
setChat()
setChat(
chat,options?):Promise<void>
设置聊天信息。
Parameters
| Parameter | Type | Description |
|---|---|---|
chat | bigint | 聊天 ID |
options? | SetChatOptions | 其他选项 |
Returns
Promise<void>
Defined in
setGuildRole()
setGuildRole(
guild,role,options?):Promise<void>
设置服务器身份组。
Parameters
| Parameter | Type | Description |
|---|---|---|
guild | bigint | 服务器 ID |
role | bigint | 身份组 ID |
options? | SetGuildRoleOptions | 其他选项 |
Returns
Promise<void>
Defined in
setGuildScopedName()
setGuildScopedName(
guild,name,id?):Promise<void>
设置机器人在指定频道中的昵称。
Parameters
| Parameter | Type | Description |
|---|---|---|
guild | bigint | 频道 ID |
name | string | 新的昵称 |
id? | bigint | 机器人的 user id,留空则自动获取 |
Returns
Promise<void>
Defined in
setMemberRole()
setMemberRole(
guild,user,roles):Promise<void>
覆盖服务器成员的身份组。
Parameters
| Parameter | Type | Description |
|---|---|---|
guild | bigint | 所在服务器 ID |
user | bigint | 用户 ID |
roles | bigint[] | 新的身份组 ID 列表 |
Returns
Promise<void>
Defined in
setUserCredit()
setUserCredit(
user,credit,options):Promise<string>
设置服务器用户荣誉。
Parameters
| Parameter | Type | Description |
|---|---|---|
user | bigint | 用户 ID |
credit | GuildCredit | 荣誉数据 |
options | SetUserCreditOptions | 其他数据 |
Returns
Promise<string>
荣誉自定义 ID
Defined in
unpinMessage()
unpinMessage(
chat,message):Promise<void>
取消精选消息。
Parameters
| Parameter | Type | Description |
|---|---|---|
chat | bigint | 消息所在聊天 ID |
message | bigint | 消息 ID |
Returns
Promise<void>
Permission
MANAGE_MESSAGES
Permission
ADMINISTRATOR