Skip to content

Class: Bot

机器人客户端。

Constructors

new Bot()

new Bot(token, options?): Bot

Parameters

ParameterTypeDescription
tokenstring机器人 token。
options?BotOptions配置项。

Returns

Bot

Defined in

src/bot.ts:53

Properties

WebSocket

readonly WebSocket: WsClient

请求使用的 WebSocket 接口。

Default

ts
globalThis
.
WebSocket
?? (await import('ws')).
WebSocket

Defined in

src/bot.ts:80


axios

readonly axios: Axios

请求使用的 axios 实例。

默认配置:

  • baseURL: https://a1.fanbook.mobi/api/bot/${this.token}

Defined in

src/bot.ts:70


token

readonly token: string

机器人 token。

Defined in

src/bot.ts:55

Methods

addMemberRole()

addMemberRole(guild, user, roles): Promise<void>

给服务器成员添加身份组。

Parameters

ParameterTypeDescription
guildbigint所在服务器 ID
userbigint用户 ID
rolesbigint[]添加的身份组 ID 列表

Returns

Promise<void>

Defined in

src/bot.ts:407


checkUserGuilds()

checkUserGuilds(user, guilds): Promise<bigint[]>

判断用户是否在指定服务器列表中。

Parameters

ParameterTypeDescription
userbigint用户 ID
guildsbigint[]服务器 ID 列表

Returns

Promise<bigint[]>

用户在的服务器 ID 列表

Defined in

src/bot.ts:529


createGuildRole()

createGuildRole(guild, name, color, options?): Promise<GuildRole>

创建服务器身份组。

Parameters

ParameterTypeDescription
guildbigint所属服务器 ID
namestring身份组名称
colornumber身份组颜色 RGB 数值
options?CreateGuildRoleOptions其他选项

Returns

Promise<GuildRole>

身份组对象

Defined in

src/bot.ts:628


deleteGuildRole()

deleteGuildRole(guild, role): Promise<void>

删除服务器身份组。

Parameters

ParameterTypeDescription
guildbigint服务器 ID
rolebigint身份组 ID

Returns

Promise<void>

Defined in

src/bot.ts:665


deleteGuildUserCredit()

deleteGuildUserCredit(user, card, options): Promise<void>

删除服务器用户荣誉。

Parameters

ParameterTypeDescription
userbigint用户 ID
cardstring荣誉自定义 ID
optionsDeleteGuildUserCreditOptions其他数据

Returns

Promise<void>

Defined in

src/bot.ts:714


deleteMessage()

deleteMessage(chat, message): Promise<boolean>

撤回消息。

如果有撤回消息权限,则可以撤回任何时间的,且身份比机器人低的用户,发送的消息,否则只能撤回自身 3 分钟之内发送的消息。

撤回失败返回 false

Parameters

ParameterTypeDescription
chatbigint消息所在聊天 ID
messagebigint消息 ID

Returns

Promise<boolean>

是否成功

Defined in

src/bot.ts:274


editMessage()

editMessage(chat, message, content, options?): Promise<Message>

编辑消息。

Parameters

ParameterTypeDescription
chatbigint消息所在聊天 ID
messagebigint消息 ID
contentstring新的消息内容
options?EditMessageOptions其他选项

Returns

Promise<Message>

编辑后的消息对象

Defined in

src/bot.ts:240


editReplyMarkup()

editReplyMarkup(chat, message, content): Promise<Message>

编辑内联键盘。

Parameters

ParameterTypeDescription
chatbigint消息所在聊天 ID
messagebigint消息 ID
contentReplyKeyboardMarkup新的内联键盘

Returns

Promise<Message>

编辑后的消息对象

Defined in

src/bot.ts:256


forbidMemberSpeaking()

forbidMemberSpeaking(guild, user, duration): Promise<void>

禁言服务器成员。

禁言时长在 60~2592000 中,超出范围时如果在 1~2147483647 中则近取合法值,否则报错。

Parameters

ParameterTypeDescription
guildbigint所在服务器 ID
userbigint用户 ID
durationnumber禁言时长(单位:秒)

Returns

Promise<void>

Defined in

src/bot.ts:453


getGuild()

getGuild(guild, user?): Promise<Guild>

获取服务器信息。

Parameters

ParameterTypeDescription
guildbigint服务器 ID
user?bigint用户 ID

Returns

Promise<Guild>

服务器对象

Defined in

src/bot.ts:318


getGuildUserCredits()

getGuildUserCredits(guild, user): Promise<GuildCredit[]>

获取服务器用户荣誉。

Parameters

ParameterTypeDescription
guildbigint服务器 ID
userbigint用户 ID

Returns

Promise<GuildCredit[]>

服务器用户荣誉列表

Defined in

src/bot.ts:680


getInvitation()

getInvitation(code): Promise<GuildInviteCodeRecord>

获取邀请信息。

Parameters

ParameterTypeDescription
codestring邀请码(不包含域名)

Returns

Promise<GuildInviteCodeRecord>

邀请信息

Defined in

src/bot.ts:505


getMe()

getMe(options?): Promise<User>

校验令牌有效性,获取机器人自身的信息。

Parameters

ParameterType
options?GetMeOptions

Returns

Promise<User>

机器人自身信息

Defined in

src/bot.ts:106


getMembersByShortIds()

getMembersByShortIds(guild, ids): Promise<GuideChatMember[]>

批量通过 Fanbook ID(短 ID)获取用户。

Parameters

ParameterTypeDescription
guildbigint所在频道 ID
idsnumber[]Fanbook ID 列表

Returns

Promise<GuideChatMember[]>

用户列表

Defined in

src/bot.ts:380


getMessage()

getMessage(chat, message): Promise<Message>

获取消息信息。

Parameters

ParameterTypeDescription
chatbigint消息所在聊天 ID
messagebigint消息 ID

Returns

Promise<Message>

消息对象

Defined in

src/bot.ts:154


getPrivateChat()

getPrivateChat(user): Promise<Chat>

获取与用户的私聊。

Parameters

ParameterTypeDescription
userbigint目标用户 ID

Returns

Promise<Chat>

私聊

Defined in

src/bot.ts:588


getUserHumanVerifyStatus()

getUserHumanVerifyStatus(user): Promise<boolean>

获取用户实名认证状态。

Parameters

ParameterTypeDescription
userbigint用户 ID

Returns

Promise<boolean>

是否已实名认证

Defined in

src/bot.ts:516


isGuildMember()

isGuildMember(guild, user): Promise<boolean>

判断指定用户是否在指定服务器中。

Parameters

ParameterTypeDescription
guildbigint所在服务器 ID
userbigint用户 ID

Returns

Promise<boolean>

是否在服务器中

Defined in

src/bot.ts:437


listChatMember()

listChatMember(options): Promise<any>

列出聊天或服务器成员。

Parameters

ParameterTypeDescription
optionsListChatMemberOptions其他数据

Returns

Promise<any>

成员列表

Defined in

src/bot.ts:599


listChatMessage()

listChatMessage(chat, size, message?, behavior?): Promise<bigint[]>

列出聊天的历史消息。

Parameters

ParameterTypeDescription
chatbigint聊天 ID
sizenumber分页长度
message?bigint基准消息
behavior?ListChatMessageBehavior取基准消息的前还是后,留空则为 before

Returns

Promise<bigint[]>

当前页的消息列表

Defined in

src/bot.ts:555


listGuildChannel()

listGuildChannel(guild): Promise<Channel[]>

列出服务器频道。

Parameters

ParameterTypeDescription
guildbigint服务器 ID

Returns

Promise<Channel[]>

服务器频道 ID 列表

Defined in

src/bot.ts:541


listGuildEmoji()

listGuildEmoji(guild): Promise<GuildEmoji[]>

列出服务器表情符号。

Parameters

ParameterTypeDescription
guildbigint所在服务器 ID

Returns

Promise<GuildEmoji[]>

服务器表情符号列表

Defined in

src/bot.ts:478


listGuildInvitation()

listGuildInvitation(guild, size, last?): Promise<ListGuildInvitationResult>

分页列出服务器邀请信息。

Parameters

ParameterTypeDescription
guildbigint服务器 ID
sizenumber获取数量
last?bigint上一页 ID

Returns

Promise<ListGuildInvitationResult>

当前页的服务器邀请信息列表

Defined in

src/bot.ts:492


listGuildMember()

listGuildMember(guild, channel, ranges, user?): Promise<GetGuildMembersResult>

分页获取服务器成员列表。

Parameters

ParameterTypeDescription
guildbigint服务器 ID
channelbigint频道 ID
rangesobject[]分页
user?bigint用户 ID,必须在频道中,留空则自动获取

Returns

Promise<GetGuildMembersResult>

当前页的成员信息

Defined in

src/bot.ts:334


listGuildRole()

listGuildRole(guild, last?): Promise<GuildRole[]>

列出服务器身份组。

Parameters

ParameterTypeDescription
guildbigint服务器 ID
last?bigint上一页的最后一个 ID,留空则为第一页

Returns

Promise<GuildRole[]>

服务器身份组列表

Defined in

src/bot.ts:613


listMyCommand()

listMyCommand(): Promise<BotCommand[]>

获取机器人自身的命令列表。

Returns

Promise<BotCommand[]>

命令列表

Defined in

src/bot.ts:127


listQuote()

listQuote(): Promise<void>

Returns

Promise<void>

Todo

Defined in

src/bot.ts:282


listRoleMember()

listRoleMember(guild, role, size, last?): Promise<GuideChatMember[]>

分页获取身份组成员列表。

Parameters

ParameterTypeDefault valueDescription
guildbigintundefined身份组所在服务器 ID
rolebigintundefined身份组 ID
sizenumber50分页大小,留空则为 50
last?bigintundefined上一页的最后一个 ID

Returns

Promise<GuideChatMember[]>

成员列表

Defined in

src/bot.ts:352


listen()

listen(options?): Promise<Emitter<ListenEvents>>

订阅事件。

在返回值上调用 .emit('close') 可以取消订阅。

Parameters

ParameterTypeDescription
options?ListenOptions其他选项

Returns

Promise<Emitter<ListenEvents>>

事件总线,mitt 实例

See

https://github.com/fanbook-open/websocket-doc/blob/main/README.md

Defined in

src/bot.ts:733


pinMessage()

pinMessage(chat, message): Promise<void>

设置精选消息。

Parameters

ParameterTypeDescription
chatbigint消息所在聊天
messagebigint消息 ID

Returns

Promise<void>

Permission

MANAGE_MESSAGES

Permission

ADMINISTRATOR

Defined in

src/bot.ts:291


removeChatMember()

removeChatMember(user, options): Promise<void>

从服务器或聊天中移除成员。

Parameters

ParameterTypeDescription
userbigint用户 ID
optionsKickChatMemberOptions其他数据

Returns

Promise<void>

Defined in

src/bot.ts:466


removeMemberRole()

removeMemberRole(guild, user, roles): Promise<void>

给服务器成员移除身份组。

Parameters

ParameterTypeDescription
guildbigint所在服务器 ID
userbigint用户 ID
rolesbigint[]移除的身份组 ID 列表

Returns

Promise<void>

Defined in

src/bot.ts:422


request()

request<D>(path, data?, options?): Promise<AxiosResponse<D, any>>

向发送开放平台请求。

Type Parameters

Type Parameter
D

Parameters

ParameterTypeDescription
pathstring请求路径(不包括公共部分)
data?D请求体
options?AxiosRequestConfig<any>其他 axios 配置

Returns

Promise<AxiosResponse<D, any>>

响应体

Defined in

src/bot.ts:89


searchMembersByName()

searchMembersByName(guild, name): Promise<GuideChatMember[]>

通过昵称模糊查询服务器成员。

Parameters

ParameterTypeDescription
guildbigint所在服务器 ID
namestring查询的昵称

Returns

Promise<GuideChatMember[]>

查询到的服务器成员列表

Defined in

src/bot.ts:367


sendMessage()

sendMessage(chat, content, description, options?): Promise<Message>

发送消息。

Parameters

ParameterTypeDescription
chatbigint发送到的聊天 ID
contentstring消息内容(1~150000 字节)
descriptionstring消息描述,作为只能显示纯文本时的降级方案
options?SendMessageOptions其他选项

Returns

Promise<Message>

发送的消息对象

Permission

SEND_MESSAGES *

Permission

ADMINISTRATOR *

Defined in

src/bot.ts:171


sendNotication()

sendNotication(user, content, type, nonce?): Promise<void>

发送通知。

Parameters

ParameterTypeDescription
userbigint目标用户
contentstring通知内容
type1 | 2通知类型(1:未完成的任务;2:已完成的任务)
nonce?string雪花 ID,留空则自动生成

Returns

Promise<void>

Defined in

src/bot.ts:204


sendPhoto()

sendPhoto(chat, url, options?): Promise<Message>

发送图片消息。

Parameters

ParameterTypeDescription
chatbigint发送到的聊天 ID
urlstring图片链接
options?SendPhotoOptions其他选项

Returns

Promise<Message>

发送的消息对象

Permission

SEND_MESSAGES

Permission

ADMINISTRATOR

Defined in

src/bot.ts:189


sendReaction()

sendReaction(user, chat, message, options): Promise<void>

对消息表态。

Parameters

ParameterTypeDescription
userbigint表态的用户 ID
chatbigint被表态的消息所在聊天 ID
messagebigint被表态的消息 ID
optionsSendReactionOptions其他数据

Returns

Promise<void>

Permission

ADD_REACTIONS

Permission

ADMINISTRATOR

Defined in

src/bot.ts:223


setChat()

setChat(chat, options?): Promise<void>

设置聊天信息。

Parameters

ParameterTypeDescription
chatbigint聊天 ID
options?SetChatOptions其他选项

Returns

Promise<void>

Defined in

src/bot.ts:571


setGuildRole()

setGuildRole(guild, role, options?): Promise<void>

设置服务器身份组。

Parameters

ParameterTypeDescription
guildbigint服务器 ID
rolebigint身份组 ID
options?SetGuildRoleOptions其他选项

Returns

Promise<void>

Defined in

src/bot.ts:646


setGuildScopedName()

setGuildScopedName(guild, name, id?): Promise<void>

设置机器人在指定频道中的昵称。

Parameters

ParameterTypeDescription
guildbigint频道 ID
namestring新的昵称
id?bigint机器人的 user id,留空则自动获取

Returns

Promise<void>

Defined in

src/bot.ts:139


setMemberRole()

setMemberRole(guild, user, roles): Promise<void>

覆盖服务器成员的身份组。

Parameters

ParameterTypeDescription
guildbigint所在服务器 ID
userbigint用户 ID
rolesbigint[]新的身份组 ID 列表

Returns

Promise<void>

Defined in

src/bot.ts:393


setUserCredit()

setUserCredit(user, credit, options): Promise<string>

设置服务器用户荣誉。

Parameters

ParameterTypeDescription
userbigint用户 ID
creditGuildCredit荣誉数据
optionsSetUserCreditOptions其他数据

Returns

Promise<string>

荣誉自定义 ID

Defined in

src/bot.ts:694


unpinMessage()

unpinMessage(chat, message): Promise<void>

取消精选消息。

Parameters

ParameterTypeDescription
chatbigint消息所在聊天 ID
messagebigint消息 ID

Returns

Promise<void>

Permission

MANAGE_MESSAGES

Permission

ADMINISTRATOR

Defined in

src/bot.ts:305

Released under the MIT License.