Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Audit log entry create event #751

Merged
merged 1 commit into from
Feb 16, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
10 changes: 10 additions & 0 deletions core/api/core.api
Original file line number Diff line number Diff line change
Expand Up @@ -11269,6 +11269,16 @@ public final class dev/kord/core/event/guild/EmojisUpdateEvent : dev/kord/core/e
public fun withStrategy (Ldev/kord/core/supplier/EntitySupplyStrategy;)Ldev/kord/core/event/guild/EmojisUpdateEvent;
}

public final class dev/kord/core/event/guild/GuildAuditLogEntryCreateEvent : dev/kord/core/event/Event {
public fun <init> (Ldev/kord/core/entity/AuditLogEntry;Ldev/kord/core/Kord;ILjava/lang/Object;)V
public final fun getAuditLogEntry ()Ldev/kord/core/entity/AuditLogEntry;
public fun getCustomContext ()Ljava/lang/Object;
public fun getGateway ()Ldev/kord/gateway/Gateway;
public fun getKord ()Ldev/kord/core/Kord;
public fun getShard ()I
public fun toString ()Ljava/lang/String;
}

public final class dev/kord/core/event/guild/GuildCreateEvent : dev/kord/core/event/Event {
public fun <init> (Ldev/kord/core/entity/Guild;ILjava/lang/Object;)V
public fun getCustomContext ()Ljava/lang/Object;
Expand Down
16 changes: 16 additions & 0 deletions core/src/main/kotlin/event/guild/GuildAuditLogEntryCreateEvent.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package dev.kord.core.event.guild

import dev.kord.core.Kord
import dev.kord.core.entity.AuditLogEntry
import dev.kord.core.event.Event

public class GuildAuditLogEntryCreateEvent(
public val auditLogEntry: AuditLogEntry,
override val kord: Kord,
override val shard: Int,
override val customContext: Any?
): Event {
override fun toString(): String {
return "GuildAuditLogEntryCreate(auditLogEntry=$auditLogEntry, shard=$shard)"
}
}
14 changes: 14 additions & 0 deletions core/src/main/kotlin/gateway/handler/GuildEventHandler.kt
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ internal class GuildEventHandler : BaseGatewayEventHandler() {

override suspend fun handle(event: Event, shard: Int, kord: Kord, context: LazyContext?): CoreEvent? =
when (event) {
is GuildAuditLogEntryCreate -> handle(event, shard, kord, context)
is GuildCreate -> handle(event, shard, kord, context)
is GuildUpdate -> handle(event, shard, kord, context)
is GuildDelete -> handle(event, shard, kord, context)
Expand Down Expand Up @@ -82,6 +83,19 @@ internal class GuildEventHandler : BaseGatewayEventHandler() {
}
}

private suspend fun handle(
event: GuildAuditLogEntryCreate,
shard: Int,
kord: Kord,
context: LazyContext?
): GuildAuditLogEntryCreateEvent {
val entry = AuditLogEntry(event.entry, kord)

kord.cache.put(entry)

return GuildAuditLogEntryCreateEvent(entry, kord, shard, context?.get())
}

private suspend fun handle(
event: GuildCreate,
shard: Int,
Expand Down
13 changes: 13 additions & 0 deletions gateway/api/gateway.api
Original file line number Diff line number Diff line change
Expand Up @@ -698,6 +698,19 @@ public final class dev/kord/gateway/GatewayKt {
public static synthetic fun start$default (Ldev/kord/gateway/Gateway;Ljava/lang/String;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
}

public final class dev/kord/gateway/GuildAuditLogEntryCreate : dev/kord/gateway/DispatchEvent {
public fun <init> (Ldev/kord/common/entity/DiscordAuditLogEntry;Ljava/lang/Integer;)V
public final fun component1 ()Ldev/kord/common/entity/DiscordAuditLogEntry;
public final fun component2 ()Ljava/lang/Integer;
public final fun copy (Ldev/kord/common/entity/DiscordAuditLogEntry;Ljava/lang/Integer;)Ldev/kord/gateway/GuildAuditLogEntryCreate;
public static synthetic fun copy$default (Ldev/kord/gateway/GuildAuditLogEntryCreate;Ldev/kord/common/entity/DiscordAuditLogEntry;Ljava/lang/Integer;ILjava/lang/Object;)Ldev/kord/gateway/GuildAuditLogEntryCreate;
public fun equals (Ljava/lang/Object;)Z
public final fun getEntry ()Ldev/kord/common/entity/DiscordAuditLogEntry;
public fun getSequence ()Ljava/lang/Integer;
public fun hashCode ()I
public fun toString ()Ljava/lang/String;
}

public final class dev/kord/gateway/GuildBanAdd : dev/kord/gateway/DispatchEvent {
public fun <init> (Ldev/kord/common/entity/DiscordGuildBan;Ljava/lang/Integer;)V
public final fun component1 ()Ldev/kord/common/entity/DiscordGuildBan;
Expand Down
1 change: 1 addition & 0 deletions gateway/src/main/kotlin/Event.kt
Original file line number Diff line number Diff line change
Expand Up @@ -649,6 +649,7 @@ public data class ChannelDelete(val channel: DiscordChannel, override val sequen
public data class ChannelPinsUpdate(val pins: DiscordPinsUpdateData, override val sequence: Int?) : DispatchEvent()

public data class TypingStart(val data: DiscordTyping, override val sequence: Int?) : DispatchEvent()
public data class GuildAuditLogEntryCreate(val entry: DiscordAuditLogEntry, override val sequence: Int?): DispatchEvent()
public data class GuildCreate(val guild: DiscordGuild, override val sequence: Int?) : DispatchEvent()
public data class GuildUpdate(val guild: DiscordGuild, override val sequence: Int?) : DispatchEvent()
public data class GuildDelete(val guild: DiscordUnavailableGuild, override val sequence: Int?) : DispatchEvent()
Expand Down
1 change: 1 addition & 0 deletions gateway/src/main/kotlin/Intent.kt
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@ public sealed class Intent(public val code: DiscordBitSet) {
* Enables the following events:
* - [GuildBanAdd]
* - [GuildBanRemove]
* - [AuditLogEntryCreateEvent]
*/
public object GuildBans : Intent(1 shl 2)

Expand Down