B
B
Beeskee42021-01-24 15:13:36
Python
Beeskee4, 2021-01-24 15:13:36

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 question

Ask a Question

731 491 924 answers to any question