Настраиваемая выдача ролей за реакции discord.py

Хочу добавить в своего бота настраиваемую выдачу ролей за реакцию по команде. Вводишь команду, вводишь необходимую информацию, бот ставит под этим сообщением реакцию, а при нажатии на реакцию выдаёт роль. Функция выдачи ролей работает безупречно, если вручную ввести цифры в сам код, но при получении этих данных извне, из сообщений, уже ничего не работает. Я пытался многими способами, но ничего не вышло. Бот ставит реакцию под сообщение, но вот при нажатии на реакцию, он не проходит проверку и, соответственно, не выдаёт роль. Вот код:

import discord
from discord import channel
from discord.ext import commands
import random
from copy import *
from Novirbot.autharisation import token #delete this becouse this is function from other file
from Novirbot.image import Draw
import time

client = commands.Bot( command_prefix = '#') #you can choose other prefix
language = 'ru'

#reacting role
message_id = [1011221913936351352]
emoji = ['?']
role_id = [976819294623109140]

#creating reaction role
@client.command(Pass_context = True)
async def reactroll(ctx):
    if language == 'ru':
        await ctx.send('Отправьте id сообщения')
    else:
        await ctx.send('Send id of message')

    mess = await client.wait_for('message')
    message_id_ = int(mess.content)

    if language == 'ru':
        await ctx.send('Отправьте эмодзи')
    else:
        await ctx.send('Send emoji')

    mess2 = await client.wait_for('message')
    emoji_ = mess2.content

    if language == 'ru':
        await ctx.send('Отправьте id роли')
    else:
        await ctx.send('Send id of role')

    mess3 = await client.wait_for('message')
    role_id_ = int(mess3.content)

    message = await ctx.fetch_message(message_id_)
    await message.add_reaction(emoji_)

    message_id.append(message_id_)
    emoji.append(emoji_)
    role_id.append(role_id_)

#role
@client.event
async def on_raw_reaction_add(payload):
    if payload.message_id in message_id and payload.emoji in emoji:
        member = payload.member
        guild = payload.guild
        role = guild.get_role(role_id)
        await member.add_roles(role)

Ответы (0 шт):