All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.dv8tion.jda.api.audit.AuditLogKey Maven / Gradle / Ivy

Go to download

Java wrapper for the popular chat & VOIP service: Discord https://discord.com

The newest version!
/*
 * Copyright 2015 Austin Keener, Michael Ritter, Florian Spieß, and the JDA contributors
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package net.dv8tion.jda.api.audit;

import net.dv8tion.jda.api.entities.Guild;
import net.dv8tion.jda.api.entities.automod.AutoModRule;
import net.dv8tion.jda.api.entities.automod.AutoModTriggerType;
import net.dv8tion.jda.api.entities.channel.Channel;
import net.dv8tion.jda.api.entities.channel.ChannelType;
import net.dv8tion.jda.api.entities.channel.attribute.ICategorizableChannel;
import net.dv8tion.jda.api.entities.channel.attribute.ISlowmodeChannel;
import net.dv8tion.jda.api.entities.channel.attribute.IThreadContainer;
import net.dv8tion.jda.api.entities.channel.concrete.ForumChannel;
import net.dv8tion.jda.api.entities.channel.concrete.TextChannel;
import net.dv8tion.jda.api.entities.channel.concrete.ThreadChannel;
import net.dv8tion.jda.api.entities.channel.concrete.VoiceChannel;
import net.dv8tion.jda.api.entities.channel.middleman.GuildChannel;
import net.dv8tion.jda.api.entities.emoji.RichCustomEmoji;
import net.dv8tion.jda.api.entities.sticker.GuildSticker;
import net.dv8tion.jda.internal.utils.EntityString;

import javax.annotation.Nonnull;

/**
 * Enum of possible/expected keys that can be provided
 * to {@link AuditLogEntry#getChangeByKey(AuditLogKey) AuditLogEntry.getChangeByKey(AuditLogEntry.AuditLogKey}.
 *
 * 

Each constant in this enum has elaborate documentation on expected values for the * returned {@link AuditLogChange AuditLogChange}. *
There is no guarantee that the resulting type is accurate or that the value selected is not {@code null}! * * @see Audit Log Change Key */ public enum AuditLogKey { /** * This is sometimes visible for {@link ActionType ActionTypes} * which create a new entity. *
Use with designated {@code getXById} method. * *

Expected type: String */ ID("id"), /** * Entity type (like channel type or webhook type) * *

Expected type: String or int */ TYPE("type"), /** * The id for an authorized application (webhook/bot/integration) * *

Expected type: String */ APPLICATION_ID("application_id"), // GUILD /** * Change for the {@link net.dv8tion.jda.api.entities.Guild#getName() Guild.getName()} value * *

Expected type: String */ GUILD_NAME("name"), /** * Change of User ID for the owner of a {@link net.dv8tion.jda.api.entities.Guild Guild} * *

Expected type: String */ GUILD_OWNER("owner_id"), /** * Change of region represented by a key. *
Use with {@link net.dv8tion.jda.api.Region#fromKey(String) Region.fromKey(String)} * *

Expected type: String */ GUILD_REGION("region"), /** * Change of the {@link net.dv8tion.jda.api.entities.Guild.Timeout AFKTimeout} of a Guild. *
Use with {@link net.dv8tion.jda.api.entities.Guild.Timeout#fromKey(int) Timeout.fromKey(int)} * *

Expected type: Integer */ GUILD_AFK_TIMEOUT("afk_timeout"), /** * Change of the {@link net.dv8tion.jda.api.entities.Guild#getAfkChannel() Guild.getAfkChannel()} value represented by a VoiceChannel ID. *
Use with {@link net.dv8tion.jda.api.entities.Guild#getVoiceChannelById(String) Guild.getVoiceChannelById(String)} * *

Expected type: String */ GUILD_AFK_CHANNEL("afk_channel_id"), /** * Change of the {@link net.dv8tion.jda.api.entities.Guild#getSystemChannel() Guild.getSystemChannel()} value represented by a TextChannel ID. *
Use with {@link net.dv8tion.jda.api.entities.Guild#getTextChannelById(String) Guild.getTextChannelById(String)} * *

Expected type: String */ GUILD_SYSTEM_CHANNEL("system_channel_id"), /** * Change of the {@link net.dv8tion.jda.api.entities.Guild#getRulesChannel() Guild.getRulesChannel()} value represented by a TextChannel ID. *
Use with {@link net.dv8tion.jda.api.entities.Guild#getTextChannelById(String) Guild.getTextChannelById(String)} * *

Expected type: String */ GUILD_RULES_CHANNEL("rules_channel_id"), /** * Change of the {@link net.dv8tion.jda.api.entities.Guild#getCommunityUpdatesChannel() Guild.getCommunityUpdatesChannel()} value represented by a TextChannel ID. *
Use with {@link net.dv8tion.jda.api.entities.Guild#getTextChannelById(String) Guild.getTextChannelById(String)} * *

Expected type: String */ GUILD_COMMUNITY_UPDATES_CHANNEL("public_updates_channel_id"), /** * Change of the {@link net.dv8tion.jda.api.entities.Guild#getExplicitContentLevel() Guild.getExplicitContentLevel()} of a Guild. *
Use with {@link net.dv8tion.jda.api.entities.Guild.ExplicitContentLevel#fromKey(int) Guild.ExplicitContentLevel.fromKey(int)} * *

Expected type: Integer */ GUILD_EXPLICIT_CONTENT_FILTER("explicit_content_filter"), /** * Change of the {@link net.dv8tion.jda.api.entities.Guild#getIconId() Icon ID} of a Guild. * *

Expected type: String */ GUILD_ICON("icon_hash"), /** * Change of the {@link net.dv8tion.jda.api.entities.Guild#getSplashId() Splash ID} of a Guild. * *

Expected type: String */ GUILD_SPLASH("splash_hash"), /** * Change of the {@link net.dv8tion.jda.api.entities.Guild#getVerificationLevel() Guild.getVerificationLevel()} value. *
Use with {@link net.dv8tion.jda.api.entities.Guild.VerificationLevel#fromKey(int) Guild.VerificationLevel.fromKey(int)} * *

Expected type: Integer */ GUILD_VERIFICATION_LEVEL("verification_level"), /** * Change of the {@link net.dv8tion.jda.api.entities.Guild#getDefaultNotificationLevel() Guild.getDefaultNotificationLevel()} value. *
Use with {@link net.dv8tion.jda.api.entities.Guild.NotificationLevel#fromKey(int) Guild.NotificationLevel.fromKey(int)} * *

Expected type: Integer */ GUILD_NOTIFICATION_LEVEL("default_message_notifications"), /** * Change of the {@link net.dv8tion.jda.api.entities.Guild#getRequiredMFALevel() Guild.getRequiredMFALevel()} value *
Use with {@link net.dv8tion.jda.api.entities.Guild.MFALevel#fromKey(int) Guild.MFALevel.fromKey(int)} * *

Expected type: Integer */ GUILD_MFA_LEVEL("mfa_level"), /** * Change of the {@link Guild#getVanityCode()} value. * *

Expected type: String */ GUILD_VANITY_URL_CODE("vanity_url_code"), /** * Days of inactivity for a prune event. * *

Expected type: Integer */ GUILD_PRUNE_DELETE_DAYS("prune_delete_days"), /** * Whether the guild widget is disabled or enabled * *

Expected type: Boolean */ GUILD_WIDGET_ENABLED("widget_enabled"), /** * The target channel for a widget * *

Expected type: String */ GUILD_WIDGET_CHANNEL_ID("widget_channel_id"), // CHANNEL /** * Change of the {@link GuildChannel#getName() GuildChannel.getName()} value. * *

Expected type: String */ CHANNEL_NAME("name"), /** * Change of the {@link Channel#getFlags() flags} value. * *

Expected type: Integer */ CHANNEL_FLAGS("flags"), /** * Change of the {@link ICategorizableChannel#getParentCategory()} ICategorizable.getParentCategory()} value. *
Use with {@link net.dv8tion.jda.api.entities.Guild#getCategoryById(String) Guild.getCategoryById(String)} * *

Expected type: String */ CHANNEL_PARENT("parent_id"), /** * Change of the {@link TextChannel#getTopic() TextChannel.getTopic()} value. *
Only for {@link ChannelType#TEXT ChannelType.TEXT} * *

Expected type: String */ CHANNEL_TOPIC("topic"), /** * Change of the {@link VoiceChannel#getStatus() VoiceChannel.getStatus()} value. *
Only for {@link ChannelType#VOICE ChannelType.VOICE} * *

Expected type: String */ CHANNEL_VOICE_STATUS("status"), /** * Change of the {@link ISlowmodeChannel#getSlowmode()} value. * *

Expected type: Integer */ CHANNEL_SLOWMODE("rate_limit_per_user"), /** * Change of the {@link IThreadContainer#getDefaultThreadSlowmode()} value. * *

Expected type: Integer */ CHANNEL_DEFAULT_THREAD_SLOWMODE("default_thread_rate_limit_per_user"), /** * Change of the {@link ForumChannel#getDefaultReaction()} value. * *

Expected type: Map containing {@code emoji_id} and {@code emoji_name} */ CHANNEL_DEFAULT_REACTION_EMOJI("default_reaction_emoji"), /** * Change of the {@link VoiceChannel#getBitrate() VoiceChannel.getBitrate()} value. *
Only for {@link ChannelType#VOICE ChannelType.VOICE} * *

Expected type: Integer */ CHANNEL_BITRATE("bitrate"), /** * Change of the {@link VoiceChannel#getUserLimit() VoiceChannel.getUserLimit()} value. *
Only for {@link ChannelType#VOICE ChannelType.VOICE} * *

Expected type: Integer */ CHANNEL_USER_LIMIT("user_limit"), /** * Change of the {@link net.dv8tion.jda.api.entities.channel.attribute.IAgeRestrictedChannel#isNSFW() IAgeRestrictedChannel.isNSFW()} value. * *

Expected type: Boolean */ CHANNEL_NSFW("nsfw"), /** * Change of the {@link net.dv8tion.jda.api.Region Region} value. *
Only for {@link ChannelType#VOICE ChannelType.VOICE} and {@link ChannelType#STAGE ChannelType.STAGE} * *

Expected type: String

*/ CHANNEL_REGION("rtc_region"), /** * The integer type of this channel. *
Use with {@link ChannelType#fromId(int) ChannelType.fromId(int)}. * *

Expected type: int */ CHANNEL_TYPE("type"), /** * The overrides for this channel. * *

Expected type: List{@literal >} */ CHANNEL_OVERRIDES("permission_overwrites"), /** * The available tags of this {@link net.dv8tion.jda.api.entities.channel.concrete.ForumChannel ForumChannel}. * *

Expected type: List{@literal >} */ CHANNEL_AVAILABLE_TAGS("available_tags"), /** * The relevant channel for the audit log entry. * *

Expected type: String */ CHANNEL_ID("channel_id"), /** * The {@link ForumChannel#getDefaultSortOrder()} value. *
Only for {@link ChannelType#FORUM} and {@link ChannelType#MEDIA}. * *

Expected type: Integer */ CHANNEL_DEFAULT_SORT_ORDER("default_sort_order"), /** * The {@link ForumChannel#getDefaultLayout()} value. *
Only for {@link ChannelType#FORUM}. * *

Expected type: Integer */ DEFAULT_FORUM_LAYOUT("default_forum_layout"), // THREADS /** * Change of the {@link ThreadChannel#getName() ThreadChannel.getName()} value. * *

Expected type: String */ THREAD_NAME("name"), /** * Change of the {@link ThreadChannel#getAutoArchiveDuration() ThreadChannel.getAutoArchiveDuration()} value. * *

Expected type: Integer */ THREAD_AUTO_ARCHIVE_DURATION("auto_archive_duration"), /** * Change of the {@link ThreadChannel#isArchived() ThreadChannel.isArchived()} value. * *

Expected type: Boolean */ THREAD_ARCHIVED("archived"), /** * Change of the {@link ThreadChannel#isLocked() ThreadChannel.isLocked()} value. * *

Expected type: Boolean */ THREAD_LOCKED("locked"), /** * Change of the {@link ThreadChannel#isInvitable() ThreadChannel.isInvitable()} value. * This can only be set/modified on a {@link ThreadChannel#isPublic() private thread}. * *

Expected type: Boolean */ THREAD_INVITABLE("invitable"), /** * The applied tags of this {@link ThreadChannel}, given that it is a forum post. * *

Expected type: List{@literal } */ THREAD_APPLIED_TAGS("applied_tags"), // STAGE_INSTANCE /** * Change of the {@link net.dv8tion.jda.api.entities.StageInstance#getPrivacyLevel() StageInstance.getPrivacyLevel()} value *
Use with {@link net.dv8tion.jda.api.entities.StageInstance.PrivacyLevel#fromKey(int) StageInstance.PrivacyLevel.fromKey(int)} * *

Expected type: Integer */ PRIVACY_LEVEL("privacy_level"), // MEMBER /** * Change of the {@link net.dv8tion.jda.api.entities.Member#getNickname() Member.getNickname()} value * *

Expected type: String */ MEMBER_NICK("nick"), /** * Change of the {@link net.dv8tion.jda.api.entities.Member#getVoiceState() GuildVoiceState} of a Member. *
Indicating that the {@link net.dv8tion.jda.api.entities.GuildVoiceState#isGuildMuted() Guild.isGuildMuted()} value updated. * *

Expected type: Boolean */ MEMBER_MUTE("mute"), /** * Change of the {@link net.dv8tion.jda.api.entities.Member#getVoiceState() GuildVoiceState} of a Member. *
Indicating that the {@link net.dv8tion.jda.api.entities.GuildVoiceState#isGuildDeafened() Guild.isGuildDeafened()} value updated. * *

Expected type: Boolean */ MEMBER_DEAF("deaf"), /** * Roles added to {@link net.dv8tion.jda.api.entities.Member#getRoles() Member.getRoles()} with this action *
Containing a list of {@link net.dv8tion.jda.api.entities.Role Role} IDs *
Use with {@link net.dv8tion.jda.api.entities.Guild#getRoleById(String) Guild.getRoleById(String)} * *

Expected type: List{@literal } */ MEMBER_ROLES_ADD("$add"), /** * Roles removed from {@link net.dv8tion.jda.api.entities.Member#getRoles() Member.getRoles()} with this action *
Containing a list of {@link net.dv8tion.jda.api.entities.Role Role} IDs *
Use with {@link net.dv8tion.jda.api.entities.Guild#getRoleById(String) Guild.getRoleById(String)} * *

Expected type: List{@literal } */ MEMBER_ROLES_REMOVE("$remove"), /** * Change of the {@link net.dv8tion.jda.api.entities.Member#getTimeOutEnd() Time out} of a Member. *
Indicating that the {@link net.dv8tion.jda.api.entities.Member#getTimeOutEnd() Member.getTimeOutEnd()} value updated. *
This is provided as an ISO8601 Date-Time string. * *

Expected type: String */ MEMBER_TIME_OUT("communication_disabled_until"), // PERMISSION OVERRIDE /** * Modified raw denied permission bits *
Similar to the value returned by {@link net.dv8tion.jda.api.entities.PermissionOverride#getDeniedRaw() PermissionOverride.getDeniedRaw()} *
Use with {@link net.dv8tion.jda.api.Permission#getPermissions(long) Permission.getPermissions(long)} * *

Expected type: long */ OVERRIDE_DENY("deny"), /** * Modified raw allowed permission bits *
Similar to the value returned by {@link net.dv8tion.jda.api.entities.PermissionOverride#getAllowedRaw() PermissionOverride.getAllowedRaw()} *
Use with {@link net.dv8tion.jda.api.Permission#getPermissions(long) Permission.getPermissions(long)} * *

Expected type: long */ OVERRIDE_ALLOW("allow"), /** * The string type of this override. *
{@code "role"} or {@code "member"}. * *

Expected type: String */ OVERRIDE_TYPE("type"), // ROLE /** * Change of the {@link net.dv8tion.jda.api.entities.Role#getName() Role.getName()} value. * *

Expected type: String */ ROLE_NAME("name"), /** * Change of the {@link net.dv8tion.jda.api.entities.Role#getPermissionsRaw() Role.getPermissionsRaw()} value. *
Use with {@link net.dv8tion.jda.api.Permission#getPermissions(long) Permission.getPermissions(long)} * *

Expected type: Long */ ROLE_PERMISSIONS("permissions"), /** * Change of the {@link net.dv8tion.jda.api.entities.Role#getColor() Role.getColor()} value. *
Use with {@link java.awt.Color#Color(int) Color(int)} * *

Expected type: Integer */ ROLE_COLOR("color"), /** * Change of the {@link net.dv8tion.jda.api.entities.Role#isHoisted() Role.isHoisted()} value. * *

Expected type: Boolean */ ROLE_HOISTED("hoist"), /** * Change of the {@link net.dv8tion.jda.api.entities.Role#isMentionable() Role.isMentionable()} value. * *

Expected type: Boolean */ ROLE_MENTIONABLE("mentionable"), // EMOJI /** * Change of the {@link RichCustomEmoji#getName() Emoji.getName()} value. * *

Expected type: String */ EMOJI_NAME("name"), /** * Roles added to {@link RichCustomEmoji#getRoles() RichCustomEmoji.getRoles()} with this action *
Containing a list of {@link net.dv8tion.jda.api.entities.Role Role} IDs *
Use with {@link net.dv8tion.jda.api.entities.Guild#getRoleById(String) Guild.getRoleById(String)} * *

Expected type: List{@literal } */ EMOJI_ROLES_ADD("$add"), /** * Roles remove from {@link RichCustomEmoji#getRoles() RichCustomEmoji.getRoles()} with this action *
Containing a list of {@link net.dv8tion.jda.api.entities.Role Role} IDs *
Use with {@link net.dv8tion.jda.api.entities.Guild#getRoleById(String) Guild.getRoleById(String)} * *

Expected type: List{@literal } */ EMOJI_ROLES_REMOVE("$remove"), // STICKER /** * Change of the {@link GuildSticker#getName() Sticker.getName()} value. * *

Expected type: String */ STICKER_NAME("name"), /** * Change of the {@link GuildSticker#getFormatType() Sticker.getFormatType()} value. * *

Expected type: String */ STICKER_FORMAT("format_type"), /** * Change of the {@link GuildSticker#getDescription() Sticker.getDescription()} value. * *

Expected type: String */ STICKER_DESCRIPTION("description"), /** * Change of the {@link GuildSticker#getTags() Sticker.getTags()} value. * *

Expected type: String */ STICKER_TAGS("tags"), // WEBHOOK /** * Change of the {@link net.dv8tion.jda.api.entities.Webhook#getName() Webhook.getName()} value. * *

Expected type: String */ WEBHOOK_NAME("name"), /** * Change of the {@link net.dv8tion.jda.api.entities.Webhook#getDefaultUser() Webhook.getDefaultUser()}'s avatar hash of a Webhook. *
This is used to build the {@link net.dv8tion.jda.api.entities.User#getAvatarUrl() User.getAvatarUrl()}! * *

Expected type: String */ WEBHOOK_ICON("avatar_hash"), /** * Change of the {@link net.dv8tion.jda.api.entities.Webhook#getChannel() Webhook.getChannel()} for * the target {@link net.dv8tion.jda.api.entities.Webhook Webhook} *
Use with {@link net.dv8tion.jda.api.entities.Guild#getTextChannelById(String) Guild.getTextChannelById(String)} * *

Expected type: String */ WEBHOOK_CHANNEL("channel_id"), // INVITE /** * Change of the {@link net.dv8tion.jda.api.entities.Invite#getCode() Invite.getCode()} for * the target {@link net.dv8tion.jda.api.entities.Invite Invite} *
Use with {@link net.dv8tion.jda.api.entities.Invite#resolve(net.dv8tion.jda.api.JDA, String)} Invite.resolve(JDA, String)} * *

Expected type: String */ INVITE_CODE("code"), /** * Change of the {@link net.dv8tion.jda.api.entities.Invite#getMaxAge() Invite.getMaxAge()} for * the target {@link net.dv8tion.jda.api.entities.Invite Invite} * *

Expected type: int */ INVITE_MAX_AGE("max_age"), /** * Change of the {@link net.dv8tion.jda.api.entities.Invite#isTemporary() Invite.isTemporary()} for * the target {@link net.dv8tion.jda.api.entities.Invite Invite} * *

Expected type: boolean */ INVITE_TEMPORARY("temporary"), /** * Change of the {@link net.dv8tion.jda.api.entities.Invite#getInviter() Invite.getInviter()} ID for * the target {@link net.dv8tion.jda.api.entities.Invite Invite} *
Use with {@link net.dv8tion.jda.api.JDA#getUserById(String) JDA.getUserById(String)} * *

Expected type: String */ INVITE_INVITER("inviter"), /** * Change of the {@link net.dv8tion.jda.api.entities.Invite#getChannel() Invite.getChannel()} ID for * the target {@link net.dv8tion.jda.api.entities.Invite Invite} *
Use with {@link net.dv8tion.jda.api.JDA#getTextChannelById(String) JDA.getTextChannelById(String)} * or {@link net.dv8tion.jda.api.JDA#getVoiceChannelById(String) JDA.getVoiceChannelById(String)} * *

Expected type: String */ INVITE_CHANNEL("channel_id"), /** * Change of the {@link net.dv8tion.jda.api.entities.Invite#getUses() Invite.getUses()} for * the target {@link net.dv8tion.jda.api.entities.Invite Invite} * *

Expected type: int */ INVITE_USES("uses"), /** * Change of the {@link net.dv8tion.jda.api.entities.Invite#getMaxUses() Invite.getMaxUses()} for * the target {@link net.dv8tion.jda.api.entities.Invite Invite} * *

Expected type: int */ INVITE_MAX_USES("max_uses"), // AUTO MODERATION /** * Change of the {@link AutoModRule#getName()} for the target {@link AutoModRule} * *

Expected type: String */ AUTO_MODERATION_RULE_NAME("auto_moderation_rule_name"), /** * The {@link AutoModRule#getTriggerType()} for an {@link AutoModRule} trigger * *

Use with {@link AutoModTriggerType#fromKey(int)} * *

Expected type: int */ AUTO_MODERATION_RULE_TRIGGER_TYPE("auto_moderation_rule_trigger_type"), ; private final String key; AuditLogKey(String key) { this.key = key; } @Nonnull public String getKey() { return key; } @Nonnull @Override public String toString() { return new EntityString(this) .setType(this) .addMetadata("key", key) .toString(); } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy