OneBotV12Api

class OneBotV12Api(client: OneBotClient)

Full OneBot V12 action wrapper, covering all actions documented in onebots/docs protocol page.

This class delegates low-level transport and serialization details to OneBotClient and exposes typed methods for all documented actions.

Constructors

Link copied to clipboard
constructor(client: OneBotClient)

Functions

Link copied to clipboard
suspend fun deleteEssenceMessage(groupId: String, messageId: String): ApiResponse<JsonElement>

Removes essence message mark from message.

Link copied to clipboard
suspend fun deleteMessage(messageId: String): ApiResponse<JsonObject>

Deletes a message by message ID.

Link copied to clipboard
suspend fun getChannelInfo(guildId: String, channelId: String): ApiResponse<ChannelInfo>

Gets channel information by guild ID and channel ID.

Link copied to clipboard
suspend fun getChannelList(guildId: String, joinedOnly: Boolean? = null): ApiResponse<List<ChannelInfo>>

Gets channels in a guild.

Link copied to clipboard

Gets friend list of the current bot account.

Link copied to clipboard
suspend fun getGroupInfo(groupId: String): ApiResponse<GroupInfo>

Gets group metadata by group ID.

Link copied to clipboard

Gets groups visible/joined by the bot.

Link copied to clipboard

Gets group member information for a specific user in a group.

Link copied to clipboard

Gets all members in a group.

Link copied to clipboard
suspend fun getGuildInfo(guildId: String): ApiResponse<GuildInfo>

Gets guild information by guild ID.

Link copied to clipboard

Gets guild list.

Link copied to clipboard

Gets member information of a guild user.

Link copied to clipboard

Gets guild member list.

Link copied to clipboard

Gets current bot account information.

Link copied to clipboard
suspend fun getUserInfo(userId: String): ApiResponse<UserInfo>

Gets information for a user (friend or stranger).

Link copied to clipboard
suspend fun leaveGroup(groupId: String): ApiResponse<JsonElement>

Leaves the group.

Link copied to clipboard
suspend fun sendGroupSign(groupId: String): ApiResponse<JsonElement>

Sends group sign-in action.

Link copied to clipboard

Sends a message to private/group/channel target according to SendMessageRequest.detailType.

Link copied to clipboard
suspend fun sendUserLike(userId: String, times: Int = 10): ApiResponse<JsonElement>

Sends like to user.

Link copied to clipboard
suspend fun setEssenceMessage(groupId: String, messageId: String): ApiResponse<JsonElement>

Marks a message as essence message.

Link copied to clipboard
suspend fun setGroupAdmin(groupId: String, userId: String, enable: Boolean): ApiResponse<JsonElement>

Sets or clears group admin role for user.

Link copied to clipboard
suspend fun setGroupAnonymousBan(groupId: String, anonymousFlag: String? = null, duration: Int, anonymous: JsonObject? = null): ApiResponse<JsonElement>

Bans anonymous user by flag or anonymous payload.

Link copied to clipboard
suspend fun setGroupBan(groupId: String, userId: String, duration: Int): ApiResponse<JsonElement>

Sets group member ban duration in seconds.

Link copied to clipboard
suspend fun setGroupCard(groupId: String, userId: String, card: String): ApiResponse<JsonElement>

Sets member group card (display nickname in group).

Link copied to clipboard
suspend fun setGroupKick(groupId: String, userId: String, rejectAddRequest: Boolean = false): ApiResponse<JsonElement>

Kicks a group member.

Link copied to clipboard
suspend fun setGroupLeave(groupId: String): ApiResponse<JsonElement>

Leaves group using extended action naming.

Link copied to clipboard
suspend fun setGroupName(groupId: String, groupName: String): ApiResponse<JsonElement>

Sets group name.

Link copied to clipboard
suspend fun setGroupSpecialTitle(groupId: String, userId: String, specialTitle: String, duration: Int): ApiResponse<JsonElement>

Sets group member special title.

Link copied to clipboard
suspend fun setGroupWholeBan(groupId: String, enable: Boolean): ApiResponse<JsonElement>

Enables or disables whole-group ban.