Вопрос может показаться глупым, но, вот его суть: У меня есть команда, которая создает embed-сообщение и прикрепляет к нему реакции. Мне нужно использовать ctx.message.reference.resolved.author.name в функции on_reaction_add, чтобы по нажатию на реакцию, юзера, который "принадлежит" ctx.message.reference.resolved.author.name банило, я перепробовал 3 вариации кода, объявлял переменную глобальной, создавал класс, но ничего не помогло. Надеюсь на помощь. Код прилагается:
@bot.command( aliases = ['репорт'] )
async def report( ctx ):
await ctx.message.delete()
channel = discord.utils.get( ctx.guild.channels, name = 'жалобы' )
author = ctx.message.reference.resolved.author.name
one = '1️⃣'
two = '2️⃣'
three = '3️⃣'
four = '4️⃣'
if ctx.message.reference and isinstance( ctx.message.reference.resolved, discord.Message ):
emb = discord.Embed( color = discord.Color.red() )
emb.set_footer( text = 'Спасибо, что пользуетесь мной!' )
emb.timestamp = datetime.utcnow()
emb.set_author( name = f'На {ctx.message.reference.resolved.author.display_name} поступила жалоба, прошу обработать!', icon_url = ctx.message.reference.resolved.author.avatar_url )
emb.add_field( name = 'Содержание:', value = ctx.message.reference.resolved.content, inline = False )
emb.add_field( name = 'Варианты наказания:', value = '1. Понять и простить. \n2. "Я тебя пока карандашом запишу". \n3. С позором выгнать с сервера. \n4. Навсегда(или нет) закрыть двери, ведущие сюда.', inline = False )
reportmsg = await channel.send( embed = emb )
await reportmsg.add_reaction( one )
await reportmsg.add_reaction( two )
await reportmsg.add_reaction( three )
await reportmsg.add_reaction( four )
else:
await ctx.send( 'Слушай, я не могу помочь тебе, потому что не с чем помогать! Я не понимаю, кого и за что нужно наказать. Тебе нужно ответить на плохое сообщение командой `!репорт` или `!report` и тогда, я свяжусь с кем нужно, не волнуйся.' )