Мой код не работает, но не выводит ошибку discord py
Мой бот должен выдавать роли по реакции на емоджи, но он не работает. При этом в консоли не выводится ошибка. Вот мой код:
import discord
from discord.ext import commands
import json
client = commands.Bot(command_prefix = ".")
@client.event
async def on_raw_reaction_add(payload):
if payload.member.bot:
pass
else:
with open('reactrole.json') as react_file:
data = json.load(react_file)
for x in data:
if x['pubg_emoji'] == payload.emoji.name:
role = discord.utils.get(client.get_guild(payload.guild_id).roles, id=x['pubg_id'])
await payload.member.add_roles(role)
@client.command()
async def reactrole(ctx,emoji,role : discord.Role,*,message):
emb = discord.Embed(description = message)
msg = await ctx.channel.send(embed = emb)
await msg.add_reaction (emoji)
client.run("My token")
Код файла:
["pubg_emoji":":pubg:","pubg_id": 817371069547020308]
Ответы (1 шт):
Автор решения: towerty
→ Ссылка
Зайдите на портал разработчиков, авторизируйтесь, выберите приложение бота, зайдите во вкладку Bot и поставьте галочки на пунктах в разделе "Privileged Gateway Intents".
Далее, в самом коде строчка с переменной client должна выглядеть так:
client = commands.Bot(command_prefix = '.', intents = discord.Intents.all())
Это было введено Discord'ом примерно в начале октября-ноября 2020.