Bot

Acidify Bot 实例

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

AcidifyEvent 流,可用于监听各种事件

Link copied to clipboard

表情信息映射,键为 qSid,值为对应的 BotFaceDetail 实例。

Link copied to clipboard

HTTP 客户端实例,可用于发起自定义的 HTTP 请求。

Link copied to clipboard

表示当前 Bot 是否已登录

Link copied to clipboard
Link copied to clipboard
val uid: String

当前登录用户的 uid

Link copied to clipboard
val uin: Long

当前登录用户的 QQ 号

Functions

Link copied to clipboard
suspend fun createGroupFolder(groupUin: Long, folderName: String): String

创建群文件夹

Link copied to clipboard
fun createLogger(fromObject: Any): Logger

创建一个 Logger 实例,通常用于库内部日志记录,并将产生的日志发送到提供的 LogHandler

fun createLogger(fromTag: String): Logger

根据一个自定义的 tag 创建一个 Logger 实例,通常用于匿名类或方法的日志记录,并将产生的日志发送到提供的 LogHandler

Link copied to clipboard
suspend fun deleteGroupAnnouncement(groupUin: Long, announcementId: String)

删除群公告

Link copied to clipboard
suspend fun deleteGroupFile(groupUin: Long, fileId: String)

删除群文件

Link copied to clipboard
suspend fun deleteGroupFolder(groupUin: Long, folderId: String)

删除群文件夹

Link copied to clipboard

拉取好友与好友分组信息。此操作不会被缓存。

Link copied to clipboard

拉取指定群的成员信息。此操作不会被缓存。

Link copied to clipboard
suspend fun fetchGroups(): List<BotGroupData>

拉取群信息。此操作不会被缓存。

Link copied to clipboard

通过 uid 获取用户信息。

Link copied to clipboard

通过 QQ 号获取用户信息。

Link copied to clipboard
suspend fun getCookies(domain: String): Map<String, String>

获取指定域名的 Cookie 键值对。

Link copied to clipboard
suspend fun getCsrfToken(): Int

获取 CSRF Token。

Link copied to clipboard
suspend fun getDownloadUrl(resourceId: String): String

获取给定资源 ID 的下载链接,支持图片、语音、视频。

Link copied to clipboard

获取合并转发消息内容

Link copied to clipboard
suspend fun getFriend(uin: Long, forceUpdate: Boolean = false): BotFriend?

根据 uin 获取好友实体。

Link copied to clipboard
suspend fun getFriendHistoryMessages(friendUin: Long, limit: Int, startSequence: Long? = null): BotHistoryMessages

向上获取与好友的历史消息

Link copied to clipboard
suspend fun getFriendRequests(isFiltered: Boolean = false, limit: Int = 20): List<BotFriendRequest>

获取好友请求列表

Link copied to clipboard
suspend fun getFriends(forceUpdate: Boolean = false): List<BotFriend>

获取所有好友实体。

Link copied to clipboard
suspend fun getGroup(uin: Long, forceUpdate: Boolean = false): BotGroup?

根据 uin 获取群实体。

Link copied to clipboard

获取群公告列表

Link copied to clipboard
suspend fun getGroupEssenceMessages(groupUin: Long, pageIndex: Int, pageSize: Int): BotEssenceMessageResult

获取群精华消息列表

Link copied to clipboard
suspend fun getGroupFileDownloadUrl(groupUin: Long, fileId: String): String

获取群文件下载链接

Link copied to clipboard
suspend fun getGroupFileList(groupUin: Long, targetDirectory: String = "/", startIndex: Int = 0): BotGroupFileSystemList

获取群文件/文件夹列表

Link copied to clipboard
suspend fun getGroupHistoryMessages(groupUin: Long, limit: Int, startSequence: Long? = null): BotHistoryMessages

向上获取群聊的历史消息

Link copied to clipboard
suspend fun getGroupMember(groupUin: Long, memberUin: Long, forceUpdate: Boolean = false): BotGroupMember?

根据 uin 获取指定群的群成员实体。

Link copied to clipboard
suspend fun getGroupMembers(groupUin: Long, forceUpdate: Boolean = false): List<BotGroupMember>?

获取指定群的所有群成员实体。

Link copied to clipboard
suspend fun getGroupNotifications(startSequence: Long? = null, isFiltered: Boolean = false, count: Int = 20): Pair<List<BotGroupNotification>, Long?>

获取群通知列表

Link copied to clipboard
suspend fun getGroups(forceUpdate: Boolean = false): List<BotGroup>

获取所有群实体。

Link copied to clipboard
suspend fun getPrivateFileDownloadUrl(friendUin: Long, fileId: String, fileHash: String): String

获取私聊文件下载链接

Link copied to clipboard
suspend fun getPSKey(domain: String): String

获取给定域名的 p_skey,用于组成 Cookie。

Link copied to clipboard
suspend fun getSKey(): String

获取 s_key,用于组成 Cookie。

Link copied to clipboard
suspend fun getUidByUin(uin: Long, mayComeFromGroupUin: Long? = null): String

解析 QQ 号到 uid,该过程可能失败,此时抛出 NoSuchElementException。 若 mayComeFromGroupUin 非空且在缓存中未找到对应 uid,会尝试从该群的成员列表中查找; 否则,会尝试从好友列表中查找。

Link copied to clipboard
suspend fun getUinByUid(uid: String): Long

解析 uid 到 QQ 号。 如果之前未解析过该 uid,会发起网络请求获取用户信息。

Link copied to clipboard
suspend fun kickGroupMember(groupUin: Long, memberUin: Long, rejectAddRequest: Boolean = false, reason: String = "")

踢出群成员

Link copied to clipboard
suspend fun markFriendMessagesAsRead(friendUin: Long, startSequence: Long, startTime: Long)

标记好友消息为已读

Link copied to clipboard
suspend fun markGroupMessagesAsRead(groupUin: Long, startSequence: Long)

标记群消息为已读

Link copied to clipboard
suspend fun moveGroupFile(groupUin: Long, fileId: String, parentFolderId: String, targetFolderId: String)

移动群文件

Link copied to clipboard
suspend fun offline()

下线 Bot,释放资源。

Link copied to clipboard
suspend fun online()

尝试使用现有的 Session 信息上线。 请优先调用 tryLogin,该方法会在现有 Session 失效时自动调用 qrCodeLogin。 若确定 Session 有效且不希望进行二维码登录,可调用此方法。

Link copied to clipboard
suspend fun qrCodeLogin(queryInterval: Long = 3000)

发起二维码登录请求。过程中会触发事件:

Link copied to clipboard
suspend fun quitGroup(groupUin: Long)

退出群聊

Link copied to clipboard
suspend fun recallFriendMessage(friendUin: Long, sequence: Long)

撤回好友消息

Link copied to clipboard
suspend fun recallGroupMessage(groupUin: Long, sequence: Long)

撤回群消息

Link copied to clipboard
suspend fun renameGroupFile(groupUin: Long, fileId: String, parentFolderId: String, newFileName: String)

重命名群文件

Link copied to clipboard
suspend fun renameGroupFolder(groupUin: Long, folderId: String, newFolderName: String)

重命名群文件夹

Link copied to clipboard
suspend fun sendFriendMessage(friendUin: Long, clientSequence: Long = Random.nextLong(), random: Int = Random.nextInt(), build: suspend BotOutgoingMessageBuilder.() -> Unit): BotOutgoingMessageResult

发送好友消息

Link copied to clipboard
suspend fun sendFriendNudge(friendUin: Long, isSelf: Boolean = false)

发送好友戳一戳

Link copied to clipboard
suspend fun sendGroupAnnouncement(groupUin: Long, content: String, imageUrl: String? = null, showEditCard: Boolean = false, showTipWindow: Boolean = true, confirmRequired: Boolean = true): String

发送群公告

Link copied to clipboard
suspend fun sendGroupMessage(groupUin: Long, clientSequence: Long = Random.nextLong(), random: Int = Random.nextInt(), build: suspend BotOutgoingMessageBuilder.() -> Unit): BotOutgoingMessageResult

发送群消息

Link copied to clipboard
suspend fun sendGroupNudge(groupUin: Long, targetUin: Long)

发送群戳一戳

Link copied to clipboard
suspend fun sendProfileLike(friendUin: Long, count: Int = 1)

给好友点赞

Link copied to clipboard
suspend fun setFriendRequest(initiatorUid: String, accept: Boolean, isFiltered: Boolean = false)

处理好友请求(同意/拒绝)

Link copied to clipboard
suspend fun setGroupAvatar(groupUin: Long, imageData: ByteArray)

设置群头像

Link copied to clipboard
suspend fun setGroupEssenceMessage(groupUin: Long, sequence: Long, isSet: Boolean)

设置群精华消息

Link copied to clipboard
suspend fun setGroupInvitation(groupUin: Long, invitationSeq: Long, accept: Boolean)

处理群邀请(他人邀请自己入群)

Link copied to clipboard
suspend fun setGroupMemberAdmin(groupUin: Long, memberUin: Long, isAdmin: Boolean)

设置群管理员

Link copied to clipboard
suspend fun setGroupMemberCard(groupUin: Long, memberUin: Long, card: String)

设置群成员的群名片

Link copied to clipboard
suspend fun setGroupMemberMute(groupUin: Long, memberUin: Long, duration: Int)

设置群成员禁言

Link copied to clipboard
suspend fun setGroupMemberSpecialTitle(groupUin: Long, memberUin: Long, specialTitle: String)

设置群成员的专属头衔

Link copied to clipboard
suspend fun setGroupMessageReaction(groupUin: Long, sequence: Long, code: String, isAdd: Boolean = true)

发送群消息表情回应

Link copied to clipboard
suspend fun setGroupName(groupUin: Long, groupName: String)

设置群名称

Link copied to clipboard
suspend fun setGroupRequest(groupUin: Long, sequence: Long, eventType: Int, accept: Boolean, isFiltered: Boolean = false, reason: String = "")

处理群请求(同意/拒绝)

Link copied to clipboard
suspend fun setGroupWholeMute(groupUin: Long, isMute: Boolean)

设置群全员禁言

Link copied to clipboard
suspend fun tryLogin()

先尝试使用现有的 Session 信息登录,若失败则调用 qrCodeLogin 重新登录。 如果是第一次登录,请务必调用 qrCodeLogin

Link copied to clipboard
suspend fun uploadGroupFile(groupUin: Long, fileName: String, fileData: ByteArray, parentFolderId: String = "/"): String

上传群文件

Link copied to clipboard
suspend fun uploadPrivateFile(friendUin: Long, fileName: String, fileData: ByteArray): String

TODO: THIS API IS BROKEN 上传私聊文件