@Beeskee4

Возможно ли использование данных в 2 асинхронных функциях?

Вопрос может показаться глупым, но, вот его суть: У меня есть команда, которая создает 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` и тогда, я свяжусь с кем нужно, не волнуйся.' )
  • Вопрос задан
  • 131 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы