Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
bf3f1ff
Change joined_at field to optional due to guest invites existing now
NoComment1105 Jul 5, 2024
c670a50
Revert "Change joined_at field to optional due to guest invites exist…
NoComment1105 Jul 5, 2024
9c66705
I did it wrong lol, just null it
NoComment1105 Jul 5, 2024
138ab3f
Merge branch 'kordlib:main' into main
NoComment1105 Aug 14, 2024
aed4799
Merge branch 'kordlib:main' into main
NoComment1105 Jul 1, 2025
4156804
add common stuff for member verification and guild join requests
NoComment1105 Aug 8, 2025
d9fb8ed
add cache files
NoComment1105 Aug 8, 2025
ddfc6e4
Err the rest of it lol
NoComment1105 Aug 13, 2025
aade24c
Add KDoc
NoComment1105 Aug 13, 2025
834bc25
Add rest stuff
NoComment1105 Aug 13, 2025
859c23d
Forgot api dump
NoComment1105 Aug 13, 2025
8cc788d
Merge branch 'kordlib:main' into main
NoComment1105 Sep 6, 2025
ed87f66
Merge branch 'main' into join-requests
NoComment1105 Sep 6, 2025
2ea70b2
Fix the fixme and change to kotlin.time.Instant
NoComment1105 Sep 6, 2025
caa1623
do the funny api dump
NoComment1105 Sep 6, 2025
b4352c0
Merge branch 'kordlib:main' into main
NoComment1105 Oct 16, 2025
1485d9e
Merge branch 'main' into join-requests
NoComment1105 Oct 16, 2025
7b4cfa4
Merge branch 'kordlib:main' into main
NoComment1105 Oct 20, 2025
c44967e
Merge branch 'refs/heads/main' into join-requests
NoComment1105 Oct 20, 2025
d186eea
Do changes from review
NoComment1105 Oct 20, 2025
0682d7d
Annotate everything as `KordPreview`. Excludes classes generated by KSP
NoComment1105 Oct 20, 2025
68d3ede
Make KSP generator able to mark classes as preview
NoComment1105 Oct 21, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
641 changes: 598 additions & 43 deletions common/api/common.api

Large diffs are not rendered by default.

640 changes: 589 additions & 51 deletions common/api/common.klib.api

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,193 @@
// THIS FILE IS AUTO-GENERATED, DO NOT EDIT!
@file:Suppress(names = arrayOf("IncorrectFormatting", "ReplaceArrayOfWithLiteral", "SpellCheckingInspection", "GrazieInspection"))

package dev.kord.common.entity

import dev.kord.common.`annotation`.KordPreview
import kotlin.LazyThreadSafetyMode.PUBLICATION
import kotlinx.serialization.KSerializer
import kotlinx.serialization.Serializable
import kotlinx.serialization.descriptors.PrimitiveKind
import kotlinx.serialization.descriptors.PrimitiveSerialDescriptor
import kotlinx.serialization.descriptors.SerialDescriptor
import kotlinx.serialization.encoding.Decoder
import kotlinx.serialization.encoding.Encoder

/**
*
*
* See [GuildBadgeType]s in the [Discord Developer Documentation](https://docs.discord.food/resources/discovery#guild-badge-type).
*/
@Serializable(with = GuildBadgeType.Serializer::class)
@KordPreview
public sealed class GuildBadgeType(
/**
* The raw value used by Discord.
*/
public val `value`: Int,
) {
final override fun equals(other: Any?): Boolean = this === other || (other is GuildBadgeType && this.value == other.value)

final override fun hashCode(): Int = value.hashCode()

final override fun toString(): String = if (this is Unknown) "GuildBadgeType.Unknown(value=$value)" else "GuildBadgeType.${this::class.simpleName}"

/**
* An unknown [GuildBadgeType].
*
* This is used as a fallback for [GuildBadgeType]s that haven't been added to Kord yet.
*/
public class Unknown internal constructor(
`value`: Int,
) : GuildBadgeType(value)

public object Sword : GuildBadgeType(0)

public object WaterDrop : GuildBadgeType(1)

public object Skull : GuildBadgeType(2)

public object Toadstool : GuildBadgeType(3)

public object Moon : GuildBadgeType(4)

public object Lightning : GuildBadgeType(5)

public object Leaf : GuildBadgeType(6)

public object Heart : GuildBadgeType(7)

public object Fire : GuildBadgeType(8)

public object Compass : GuildBadgeType(9)

public object Crosshairs : GuildBadgeType(10)

public object Flower : GuildBadgeType(11)

public object Force : GuildBadgeType(12)

public object Gem : GuildBadgeType(13)

public object Lava : GuildBadgeType(14)

public object Psychic : GuildBadgeType(15)

public object Smoke : GuildBadgeType(16)

public object Snow : GuildBadgeType(17)

public object Sound : GuildBadgeType(17)

public object Sun : GuildBadgeType(19)

public object Wind : GuildBadgeType(20)

public object Bunny : GuildBadgeType(21)

public object Dog : GuildBadgeType(22)

public object Frog : GuildBadgeType(23)

public object Goat : GuildBadgeType(24)

public object Cat : GuildBadgeType(25)

public object Diamond : GuildBadgeType(26)

public object Crown : GuildBadgeType(27)

public object Trophy : GuildBadgeType(28)

public object MoneyBag : GuildBadgeType(29)

public object DollarSign : GuildBadgeType(30)

internal object Serializer : KSerializer<GuildBadgeType> {
override val descriptor: SerialDescriptor =
PrimitiveSerialDescriptor("dev.kord.common.entity.GuildBadgeType", PrimitiveKind.INT)

override fun serialize(encoder: Encoder, `value`: GuildBadgeType) {
encoder.encodeInt(value.value)
}

override fun deserialize(decoder: Decoder): GuildBadgeType = from(decoder.decodeInt())
}

public companion object {
/**
* A [List] of all known [GuildBadgeType]s.
*/
public val entries: List<GuildBadgeType> by lazy(mode = PUBLICATION) {
listOf(
Sword,
WaterDrop,
Skull,
Toadstool,
Moon,
Lightning,
Leaf,
Heart,
Fire,
Compass,
Crosshairs,
Flower,
Force,
Gem,
Lava,
Psychic,
Smoke,
Snow,
Sun,
Wind,
Bunny,
Dog,
Frog,
Goat,
Cat,
Diamond,
Crown,
Trophy,
MoneyBag,
DollarSign,
)
}

/**
* Returns an instance of [GuildBadgeType] with [GuildBadgeType.value] equal to the specified [value].
*/
public fun from(`value`: Int): GuildBadgeType = when (value) {
0 -> Sword
1 -> WaterDrop
2 -> Skull
3 -> Toadstool
4 -> Moon
5 -> Lightning
6 -> Leaf
7 -> Heart
8 -> Fire
9 -> Compass
10 -> Crosshairs
11 -> Flower
12 -> Force
13 -> Gem
14 -> Lava
15 -> Psychic
16 -> Smoke
17 -> Snow
19 -> Sun
20 -> Wind
21 -> Bunny
22 -> Dog
23 -> Frog
24 -> Goat
25 -> Cat
26 -> Diamond
27 -> Crown
28 -> Trophy
29 -> MoneyBag
30 -> DollarSign
else -> Unknown(value)
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
// THIS FILE IS AUTO-GENERATED, DO NOT EDIT!
@file:Suppress(names = arrayOf("IncorrectFormatting", "ReplaceArrayOfWithLiteral", "SpellCheckingInspection", "GrazieInspection"))

package dev.kord.common.entity

import dev.kord.common.`annotation`.KordPreview
import kotlin.LazyThreadSafetyMode.PUBLICATION
import kotlinx.serialization.KSerializer
import kotlinx.serialization.Serializable
import kotlinx.serialization.descriptors.PrimitiveKind
import kotlinx.serialization.descriptors.PrimitiveSerialDescriptor
import kotlinx.serialization.descriptors.SerialDescriptor
import kotlinx.serialization.encoding.Decoder
import kotlinx.serialization.encoding.Encoder

/**
*
*
* See [GuildJoinRequestStatus]es in the [Discord Developer Documentation]().
*/
@Serializable(with = GuildJoinRequestStatus.Serializer::class)
@KordPreview
public sealed class GuildJoinRequestStatus(
/**
* The raw value used by Discord.
*/
public val `value`: String,
) {
final override fun equals(other: Any?): Boolean = this === other || (other is GuildJoinRequestStatus && this.value == other.value)

final override fun hashCode(): Int = value.hashCode()

final override fun toString(): String = if (this is Unknown) "GuildJoinRequestStatus.Unknown(value=$value)" else "GuildJoinRequestStatus.${this::class.simpleName}"

/**
* An unknown [GuildJoinRequestStatus].
*
* This is used as a fallback for [GuildJoinRequestStatus]es that haven't been added to Kord yet.
*/
public class Unknown internal constructor(
`value`: String,
) : GuildJoinRequestStatus(value)

/**
* The request is started but not submitted
*/
public object Started : GuildJoinRequestStatus("STARTED")

/**
* The request has been submitted
*/
public object Submitted : GuildJoinRequestStatus("SUBMITTED")

/**
* The request has been rejected
*/
public object Rejected : GuildJoinRequestStatus("REJECTED")

/**
* The request has been approved
*/
public object Approved : GuildJoinRequestStatus("APPROVED")

internal object Serializer : KSerializer<GuildJoinRequestStatus> {
override val descriptor: SerialDescriptor =
PrimitiveSerialDescriptor("dev.kord.common.entity.GuildJoinRequestStatus", PrimitiveKind.STRING)

override fun serialize(encoder: Encoder, `value`: GuildJoinRequestStatus) {
encoder.encodeString(value.value)
}

override fun deserialize(decoder: Decoder): GuildJoinRequestStatus = from(decoder.decodeString())
}

public companion object {
/**
* A [List] of all known [GuildJoinRequestStatus]es.
*/
public val entries: List<GuildJoinRequestStatus> by lazy(mode = PUBLICATION) {
listOf(
Started,
Submitted,
Rejected,
Approved,
)
}

/**
* Returns an instance of [GuildJoinRequestStatus] with [GuildJoinRequestStatus.value] equal to the specified [value].
*/
public fun from(`value`: String): GuildJoinRequestStatus = when (value) {
"STARTED" -> Started
"SUBMITTED" -> Submitted
"REJECTED" -> Rejected
"APPROVED" -> Approved
else -> Unknown(value)
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
// THIS FILE IS AUTO-GENERATED, DO NOT EDIT!
@file:Suppress(names = arrayOf("IncorrectFormatting", "ReplaceArrayOfWithLiteral", "SpellCheckingInspection", "GrazieInspection"))

package dev.kord.common.entity

import dev.kord.common.`annotation`.KordPreview
import kotlin.LazyThreadSafetyMode.PUBLICATION
import kotlinx.serialization.KSerializer
import kotlinx.serialization.Serializable
import kotlinx.serialization.descriptors.PrimitiveKind
import kotlinx.serialization.descriptors.PrimitiveSerialDescriptor
import kotlinx.serialization.descriptors.SerialDescriptor
import kotlinx.serialization.encoding.Decoder
import kotlinx.serialization.encoding.Encoder

/**
*
*
* See [GuildVisibilityLevel]s in the [Discord Developer Documentation](https://docs.discord.food/resources/discovery#guild-visibility).
*/
@Serializable(with = GuildVisibilityLevel.Serializer::class)
@KordPreview
public sealed class GuildVisibilityLevel(
/**
* The raw value used by Discord.
*/
public val `value`: Int,
) {
final override fun equals(other: Any?): Boolean = this === other || (other is GuildVisibilityLevel && this.value == other.value)

final override fun hashCode(): Int = value.hashCode()

final override fun toString(): String = if (this is Unknown) "GuildVisibilityLevel.Unknown(value=$value)" else "GuildVisibilityLevel.${this::class.simpleName}"

/**
* An unknown [GuildVisibilityLevel].
*
* This is used as a fallback for [GuildVisibilityLevel]s that haven't been added to Kord yet.
*/
public class Unknown internal constructor(
`value`: Int,
) : GuildVisibilityLevel(value)

public object Public : GuildVisibilityLevel(1)

public object Restricted : GuildVisibilityLevel(2)

public object PublicWithRecruitment : GuildVisibilityLevel(3)

internal object Serializer : KSerializer<GuildVisibilityLevel> {
override val descriptor: SerialDescriptor =
PrimitiveSerialDescriptor("dev.kord.common.entity.GuildVisibilityLevel", PrimitiveKind.INT)

override fun serialize(encoder: Encoder, `value`: GuildVisibilityLevel) {
encoder.encodeInt(value.value)
}

override fun deserialize(decoder: Decoder): GuildVisibilityLevel = from(decoder.decodeInt())
}

public companion object {
/**
* A [List] of all known [GuildVisibilityLevel]s.
*/
public val entries: List<GuildVisibilityLevel> by lazy(mode = PUBLICATION) {
listOf(
Public,
Restricted,
PublicWithRecruitment,
)
}

/**
* Returns an instance of [GuildVisibilityLevel] with [GuildVisibilityLevel.value] equal to the specified [value].
*/
public fun from(`value`: Int): GuildVisibilityLevel = when (value) {
1 -> Public
2 -> Restricted
3 -> PublicWithRecruitment
else -> Unknown(value)
}
}
}
Loading