Answer the question
In order to leave comments, you need to log in
Is it possible to use data in 2 async functions?
The question may seem silly, but here's the gist of it: I have a command that creates an embed message and attaches reactions to it. I need to use ctx.message.reference.resolved.author.name in the on_reaction_add function, so that by clicking on the reaction, the user who "owns" ctx.message.reference.resolved.author.name is banned, I tried 3 variations of the code, declared global variable, created a class, but nothing helped. Hope for help. Code attached:
@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` и тогда, я свяжусь с кем нужно, не волнуйся.' )
Answer the question
In order to leave comments, you need to log in
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question