-
-
Notifications
You must be signed in to change notification settings - Fork 722
/
JDABot.java
76 lines (69 loc) · 3.11 KB
/
JDABot.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
/*
* Copyright 2015-2017 Austin Keener & Michael Ritter & Florian Spieß
*
* 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.bot;
import net.dv8tion.jda.bot.entities.ApplicationInfo;
import net.dv8tion.jda.core.JDA;
import net.dv8tion.jda.core.Permission;
import net.dv8tion.jda.core.requests.RestAction;
import java.util.Collection;
import javax.annotation.CheckReturnValue;
public interface JDABot
{
/**
* Returns the {@link net.dv8tion.jda.core.JDA JDA} instance of this JDABot
*
* @return The corresponding JDA instance
*/
JDA getJDA();
/**
* Retrieves the {@link net.dv8tion.jda.bot.entities.ApplicationInfo ApplicationInfo} for
* the application that owns the logged in Bot-Account.
* <br>This contains information about the owner of the currently logged in bot account!
*
* @return {@link net.dv8tion.jda.core.requests.RestAction RestAction} - Type: {@link net.dv8tion.jda.bot.entities.ApplicationInfo ApplicationInfo}
* <br>The {@link net.dv8tion.jda.bot.entities.ApplicationInfo ApplicationInfo} of the bot's application.
*/
@CheckReturnValue
RestAction<ApplicationInfo> getApplicationInfo();
/**
* Creates an authorization invite url for the currently logged in Bot-Account.
* <br>Example Format:
* {@code https://discordapp.com/oauth2/authorize?scope=bot&client_id=288202953599221761&permissions=8}
*
* <p><b>Hint:</b> To enable a pre-selected Guild of choice append the parameter {@code &guild_id=YOUR_GUILD_ID}
*
* @param permissions
* The permissions to use in your invite, these can be changed by the link user.
* <br>If no permissions are provided the {@code permissions} parameter is omitted
*
* @return A valid OAuth2 invite url for the currently logged in Bot-Account
*/
String getInviteUrl(Permission... permissions);
/**
* Creates an authorization invite url for the currently logged in Bot-Account.
* <br>Example Format:
* {@code https://discordapp.com/oauth2/authorize?scope=bot&client_id=288202953599221761&permissions=8}
*
* <p><b>Hint:</b> To enable a pre-selected Guild of choice append the parameter {@code &guild_id=YOUR_GUILD_ID}
*
* @param permissions
* The permissions to use in your invite, these can be changed by the link user.
* <br>If no permissions are provided the {@code permissions} parameter is omitted
*
* @return A valid OAuth2 invite url for the currently logged in Bot-Account
*/
String getInviteUrl(Collection<Permission> permissions);
}