-
-
Notifications
You must be signed in to change notification settings - Fork 723
/
AuditLogOption.java
136 lines (121 loc) · 4.49 KB
/
AuditLogOption.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
/*
* Copyright 2015-2020 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;
/**
* Enum constants for possible options
* <br>Providing detailed description of possible occasions and expected types.
*
* <p>The expected types are not guaranteed to be accurate!
*/
public enum AuditLogOption
{
/**
* Possible detail for {@link net.dv8tion.jda.api.audit.ActionType#MESSAGE_DELETE ActionType.MESSAGE_DELETE}
* describing the amount of deleted messages.
*
* <p>Expected type: <b>Integer</b>
*/
COUNT("count"),
/**
* Possible message id for actions of type {@link ActionType#MESSAGE_PIN} and {@link ActionType#MESSAGE_UNPIN}.
* <br>Use with {@link net.dv8tion.jda.api.entities.MessageChannel#retrieveMessageById(String)}.
*
* <p>Expected type: <b>String</b>
*/
MESSAGE("message_id"),
/**
* Possible secondary target of an {@link net.dv8tion.jda.api.audit.ActionType ActionType}
* such as {@link net.dv8tion.jda.api.audit.ActionType#CHANNEL_OVERRIDE_CREATE ActionType.CHANNEL_OVERRIDE_CREATE}
* <br>Use with {@link net.dv8tion.jda.api.entities.Guild#getTextChannelById(String) Guild.getTextChannelById(String)}
* or similar method for {@link net.dv8tion.jda.api.entities.VoiceChannel VoiceChannels}
*
* <p>Expected type: <b>String</b>
*/
CHANNEL("channel_id"),
/**
* Possible secondary target of an {@link net.dv8tion.jda.api.audit.ActionType ActionType}
* such as {@link net.dv8tion.jda.api.audit.ActionType#CHANNEL_OVERRIDE_CREATE ActionType.CHANNEL_OVERRIDE_CREATE}
* <br>Use with {@link net.dv8tion.jda.api.JDA#getUserById(String) JDA.getUserById(String)}
*
* <p>Expected type: <b>String</b>
*/
USER("user_id"),
/**
* Possible secondary target of an {@link net.dv8tion.jda.api.audit.ActionType ActionType}
* such as {@link net.dv8tion.jda.api.audit.ActionType#CHANNEL_OVERRIDE_CREATE ActionType.CHANNEL_OVERRIDE_CREATE}
* <br>Use with {@link net.dv8tion.jda.api.entities.Guild#getRoleById(String) Guild.getRoleById(String)}
*
* <p>Expected type: <b>String</b>
*/
ROLE("role_id"),
/**
* Possible name of the role if the target type is {@link TargetType#ROLE}
*
*
* <p>Expected type: <b>String</b>
*/
ROLE_NAME("role_name"),
/**
* Possible option indicating the type of an entity.
* <br>Maybe for {@link net.dv8tion.jda.api.audit.ActionType#CHANNEL_OVERRIDE_CREATE ActionType.CHANNEL_OVERRIDE_CREATE}
* or {@link net.dv8tion.jda.api.audit.ActionType#CHANNEL_CREATE ActionType.CHANNEL_CREATE}.
*
* <p>Expected type: <b>String</b> or <b>Integer</b>
* <br>This type depends on the action taken place.
*/
TYPE("type"),
/**
* This is sometimes visible for {@link net.dv8tion.jda.api.audit.ActionType ActionTypes}
* which create a new entity.
* <br>Use with designated {@code getXById} method.
*
* <p>Expected type: <b>String</b>
*/
ID("id"),
/**
* Possible option of {@link net.dv8tion.jda.api.audit.ActionType#PRUNE ActionType.PRUNE}
* describing the period of inactivity for that prune.
*
* <p>Expected type: <b>int</b>
*/
DELETE_MEMBER_DAYS("delete_member_days"),
/**
* Possible option of {@link net.dv8tion.jda.api.audit.ActionType#PRUNE ActionType.PRUNE}
* describing the amount of kicked members for that prune.
*
* <p>Expected type: <b>int</b>
*/
MEMBERS_REMOVED("members_removed");
private final String key;
AuditLogOption(String key)
{
this.key = key;
}
/**
* Key used in {@link AuditLogEntry#getOptionByName(String) AuditLogEntry.getOptionByName(String)}
*
* @return Key for this option
*/
public String getKey()
{
return key;
}
@Override
public String toString()
{
return name() + '(' + key + ')';
}
}