Package com.github.mafelp.accounts
Class DiscordLinker
java.lang.Object
com.github.mafelp.accounts.DiscordLinker
The class that handles linking on the Discord side of things.
-
Field Summary
FieldsModifier and TypeFieldDescriptionThe Map that contains as key thePlayerthat created the link token and as the Value anIntegerbetween 100,000 and 999,999. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic intgetLinkToken(org.javacord.api.entity.user.User user)Checks thelinkableAccountslist, if theUseralready has a linking token and if so, it returns the token from this map.linkToMinecraft(org.bukkit.entity.Player player, int linkID)The method used to create a linkedAccountwith a discord user and the linking ID of a minecraft Player.private static intThe method used to create a new Linking token, aka aRandom, 6-Digit number, that is not already in the linkableAccounts list.
-
Field Details
-
linkableAccounts
The Map that contains as key thePlayerthat created the link token and as the Value anIntegerbetween 100,000 and 999,999.
-
-
Constructor Details
-
DiscordLinker
public DiscordLinker()
-
-
Method Details
-
getLinkToken
public static int getLinkToken(org.javacord.api.entity.user.User user)Checks thelinkableAccountslist, if theUseralready has a linking token and if so, it returns the token from this map. If the user does not have a token yet, it creates one and adds it to thelinkableAccountsmap, associated with the user.- Parameters:
user- The user to get the Linking Token from.- Returns:
- The Token used to link the account in minecraft.
-
linkToMinecraft
The method used to create a linkedAccountwith a discord user and the linking ID of a minecraft Player. The linkID has to be generated bygetLinkToken(User).- Parameters:
player- The minecraftPlayerto link the discordUserto.linkID- The ID used for finding the correct discordUser.- Returns:
- If the ID is a valid token, it returns the newly
Account, which was added to the list of accounts. If the ID is invalid, it returns an empty account.
-
randomLinkToken
private static int randomLinkToken()The method used to create a new Linking token, aka aRandom, 6-Digit number, that is not already in the linkableAccounts list. This prevents two users from having the same linking token.- Returns:
- a random linking token.
-