Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import discord #импортируем Discord и Discord.ext
- from discord import utils
- import config #импортируем config-файл
- class MyClient(discord.Client): #создаём отдельный класс
- async def on_ready(self): #запуск бота
- print('Logged on as {0}!' .format(self.user)) #надпись при подключении бота
- async def on_reaction_add(self, payLoad): #реакция на игрока
- 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]) #Объект выбранной роли (если имеется)
- if(len([i for i in member.roles if i.id not in config.EXCROLES]) <= config.MAX_ROLES_PER_USER):
- await member.add_roles(role) #добавление роли
- print('[SUCCESS] User {0.display_name} has been granted with role {1.name}'.format(member, role)) #роль добавлена (для логов)
- async def on_reaction_remove(self, payLoad): #реакция на игрока
- 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)) #роль удалена (для логов)
- #Запуск бота
- client = MyClient()
- client.run('config.TOKEN') #запуск токена из config.py
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement