Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #main.py
- import discord
- from discord import utils
- import config
- intents = discord.Intents.default()
- intents.members = True
- class MyClient(discord.Client):
- async def on_ready(self):
- print('Logged on as {0}!'.format(self.user))
- async def on_raw_reaction_add(self, payload):
- if payload.message_id in config.POST_ID:
- channel = self.get_channel(payload.channel_id) # получаем объект канала
- message = await channel.fetch_message(payload.message_id) # получаем объект сообщения
- member = utils.get(message.guild.members, id=payload.user_id) # получаем объект пользователя который поставил реакцию
- try:
- emoji = str(payload.emoji) # эмоджик который выбрал юзер
- role = utils.get(message.guild.roles, id=config.ROLES[emoji]) # объект выбранной роли (если есть)
- await member.add_roles(role)
- print('[SUCCESS] User {0.display_name} has been granted with role {1.name}'.format(member, role))
- except KeyError as e:
- print('[ERROR] KeyError, no role found for ' + emoji)
- except Exception as e:
- print(repr(e))
- async def on_raw_reaction_remove(self, payload):
- if payload.message_id in config.POST_ID:
- channel = self.get_channel(payload.channel_id) # получаем объект канала
- message = await channel.fetch_message(payload.message_id) # получаем объект сообщения
- member = utils.get(message.guild.members, id=payload.user_id) # получаем объект пользователя который поставил реакцию
- try:
- emoji = str(payload.emoji) # эмоджик который выбрал юзер
- role = utils.get(message.guild.roles, id=config.ROLES[emoji]) # объект выбранной роли (если есть)
- await member.remove_roles(role)
- print('[SUCCESS] Role {1.name} has been remove for user {0.display_name}'.format(member, role))
- except KeyError as e:
- print('[ERROR] KeyError, no role found for ' + emoji)
- except Exception as e:
- print(repr(e))
- # RUN
- client = MyClient(intents=intents)
- client.run(config.TOKEN)
- #config.py
- TOKEN = 'my_discord_token'
- POST_ID = (940604622517706753, 965280817335115826)
- ROLES = {
- '1️⃣':940605563224596531, #first role
- '2️⃣':940605809618984970, #second role
- '3️⃣':940605866946723840, #third role
- '4️⃣':940605926933663774, #fourth role
- "965279266923233380":965282719565217912, #terraria role
- "965279859112820736":965282936180056094, #minecraft role
- "965280392208867350":965283003351859230, #roblox role
- "965280666524737587":965283054081953892 #friday night funkin role
- }
Add Comment
Please, Sign In to add comment