Untitled
unknown
plain_text
2 years ago
2.2 kB
7
Indexable
import discord import json intents = discord.Intents.default() intents.members = True client = discord.Client(intents=intents) @client.event async def on_ready(): print('Logged in as {0.user}'.format(client)) @client.event async def on_message(message): if message.author == client.user: return if message.content.startswith('/verify') and message.author.guild_permissions.administrator: embed = discord.Embed( title='Verification', description='Click the button below to verify', color=discord.Color.blue() ) verify_button = discord.ui.Button( label='Verify', style=discord.ButtonStyle.green, custom_id='verify_button' ) action_row = discord.ui.ActionRow(verify_button) verify_msg = await message.channel.send(embed=embed, components=[action_row]) try: verify_interaction = await client.wait_for( 'button_click', check=lambda inter: inter.message.id == verify_msg.id and inter.custom_id == 'verify_button', timeout=60.0 ) user_id = str(verify_interaction.user.id) user_name = verify_interaction.user.name + "#" + verify_interaction.user.discriminator with open('users.json', 'r+') as f: users = json.load(f) if user_id in users['uid']: await verify_interaction.response.send_message('You are already verified', ephemeral=True) else: users['username'].append(user_name) users['uid'].append(user_id) f.seek(0) json.dump(users, f, indent=4) f.truncate() member = message.guild.get_member(int(user_id)) role = discord.utils.get(message.guild.roles, name='verified') await member.add_roles(role) await verify_interaction.response.send_message('You have been verified!', ephemeral=True) except asyncio.TimeoutError: await verify_msg.edit(components=[]) client.run('TOKEN')
Editor is loading...