MiraWaNeko / DiscordIntegration

Communicate between Minecraft and Discord
https://discordintegration.net
GNU Affero General Public License v3.0
88 stars 42 forks source link

[Suggestion] Minecraft whitelist for all Discord members #112

Open canitzp opened 6 years ago

canitzp commented 6 years ago

The point is that I create a big public modded server, but I don't want to let people rom outside a specific Discord server to join the MC server. I can't whitelist all by hand since there are leaving and joining people permanently, all in all we are 4000 people now at the Discord. It would ba also a good idea, if I can set the ranks a member does need to join.

andrelec1 commented 6 years ago

Nice idea, but how get miecraft pseudo by Discord_userId ? There are no official integration of minecraft in discord ... so you don't have this information, and you need to build a liste somewhere with Minecraft pseudo ( or uid ) and discord_userID manualy ... :/

Maybe add some extra code in bot, and people send their minecraft pseudo in commande, and bot make the list ... but he need to crawl the list regulary for removing people loose their grade or leave the discord_guild ...

MiraWaNeko commented 6 years ago

Possible way to do this.

Step 1 Player joins server Step 2 DiscordIntegration checks if Player have Discord account linked If, continue to step 3 If not, kicks Player with message Type "!link 1234" in #channel on Discord Step 3 DiscordIntegration checks if Player's Discord account is in guild If, continue to step 4 If not, kicks Player with message You're not whitelisted Step 4 DiscordIntegration checks if Player's Discord account have role If, Player is not kicked If not, kicks Player with message You're not whitelisted

thefinaldegree commented 6 years ago

In addition to this, to skip the Step 3 of checking the users Role on Discord, could we have a config option for the bot to assign a rank once the linked?

Mijago commented 6 years ago

@thefinaldegree IMO, setting the roles should not be forced onto the admin. The software already has a link feature, so we should use it for this and not use ranks.

As we already check whether or not the user is linked (in Step 2), we do not need step 4. If the user chooses to link via Discord (by typing !link 1234), he is linked to the bot and we do not need an extra role for it.

Another random idea: Additionally the bot could check (at connection and while he is connected via an event) whether users are still in the guild or not and delete links from users that are no more on the server. If this works correctly, we do not even need step 3.

Martmists-GH commented 6 years ago

My guild runs on a verification-based system, so allowing all linked users with a specific role (configurable) to join would be ideal. In contrast to the idea of the bot assigning a role, it should check for a role we assign ourselves instead.

thefinaldegree commented 5 years ago

@thefinaldegree IMO, setting the roles should not be forced onto the admin. The software already has a link feature, so we should use it for this and not use ranks.

My apologies, I meant ranks in-game. Maybe a more generic option would be a "Run this command once linked" on the server? Then if we're using something like ftbutilities, then one could set the command to be /rank <player> member