Package-level declarations

Types

Link copied to clipboard
@Serializable
data class ApiResponse<T>(val status: ResponseStatus, val retcode: Int, val data: T? = null, val message: String? = null, val wording: String? = null, val echo: JsonElement? = null)

Generic API response envelope for OneBot V11 actions.

Link copied to clipboard
@Serializable
data class AtData(val qq: String)
Link copied to clipboard
@Serializable
data class FriendInfo(val userId: Long, val nickname: String, val remark: String)
Link copied to clipboard
@Serializable
data class GroupInfo(val groupId: Long, val groupName: String, val memberCount: Int? = null, val maxMemberCount: Int? = null)
Link copied to clipboard
@Serializable
data class GroupMemberInfo(val groupId: Long, val userId: Long, val nickname: String, val card: String, val role: String)
Link copied to clipboard
@Serializable
data class ImageData(val file: String, val url: String? = null)
Link copied to clipboard
@Serializable
data class LoginInfo(val userId: Long, val nickname: String)
Link copied to clipboard

OneBot V11 action names used by typed wrappers and generic calls.

Link copied to clipboard
@Serializable(with = OneBotV11EventSerializer::class)
sealed class OneBotV11Event

OneBot V11 event hierarchy. Event subtype selection is based on post_type and detail fields.

Link copied to clipboard
object OneBotV11EventSerializer : JsonContentPolymorphicSerializer<OneBotV11Event>

Polymorphic deserializer for OneBotV11Event keyed by post_type and detail fields.

Link copied to clipboard
@Serializable
data class ReplyData(val id: Long)
Link copied to clipboard
@Serializable
enum ResponseStatus : Enum<ResponseStatus>

Status field used by OneBot V11 API envelopes.

Link copied to clipboard
@Serializable(with = SegmentSerializer::class)
sealed class Segment

OneBot V11 message segment hierarchy.

Link copied to clipboard
object SegmentSerializer : JsonContentPolymorphicSerializer<Segment>

Polymorphic deserializer for Segment keyed by type.

Link copied to clipboard
@Serializable
data class Sender(val userId: Long, val nickname: String? = null, val card: String? = null, val role: String? = null)
Link copied to clipboard
@Serializable
data class SendGroupMessageRequest(val groupId: Long, val message: JsonElement, val autoEscape: Boolean? = null)
Link copied to clipboard
@Serializable
data class SendMessageRequest(val messageType: String, val userId: Long? = null, val groupId: Long? = null, val message: JsonElement, val autoEscape: Boolean? = null)
Link copied to clipboard
@Serializable
data class SendMessageResult(val messageId: Long)
Link copied to clipboard
@Serializable
data class SendPrivateMessageRequest(val userId: Long, val message: JsonElement, val autoEscape: Boolean? = null)

Message payload for send_private_msg and send_group_msg. message supports segment array and string.

Link copied to clipboard
@Serializable
data class StatusInfo(val online: Boolean, val good: Boolean)
Link copied to clipboard
@Serializable
data class StrangerInfo(val userId: Long, val nickname: String, val sex: String, val age: Int)
Link copied to clipboard
@Serializable
data class TextData(val text: String)
Link copied to clipboard
@Serializable
data class VersionInfo(val appName: String, val appVersion: String, val protocolVersion: String)

Functions

Link copied to clipboard
fun List<Segment>.toMessageArray(jsonElementEncoder: (Segment) -> JsonElement): JsonArray

Converts typed segments to a JSON array payload for send actions.