将表情符号添加到嵌入消息

我一直在寻找好几个小时,但我没有发现为什么这对我不起作用。这是我的代码:


@bot.command()

async def ticket(ctx):

  name = "tickets"

  category = discord.utils.get(ctx.guild.categories, name=name)

  guild = ctx.message.guild

  ticket_id = randint(0, 100)

  ticket_channel = await guild.create_text_channel(f"ticket-0{ticket_id}", category=category)

  embed = discord.Embed(title="Tickets", description="Support will be with you shortly.\nTo close this ticket, react with :lock:.")

  await ticket_channel.send(embed=embed)

  await bot.add_reaction(embed, emoji=":lock:")

  while True:

    await bot.wait_for_reaction(emoji="\N{LOCK}", message=embed)

    await bot.delete_channel(ticket_channel)

这是我得到的错误:


Ignoring exception in command ticket:

Traceback (most recent call last):

  File "/home/runner/.local/share/virtualenvs/python3/lib/python3.7/site-packages/discord/ext/commands/core.py", line 83, in wrapped

    ret = await coro(*args, **kwargs)

  File "main.py", line 40, in ticket

    await bot.add_reaction(embed, emoji=":lock:")

AttributeError: 'Bot' object has no attribute 'add_reaction'

任何帮助正在解决这个问题,非常感谢。


暮色呼如
浏览 133回答 1
1回答

肥皂起泡泡

add_reaction是Message类的方法,而不是Bot. Embed不子类Message。要获取与您Message关联的对象,Embed您需要存储的返回值channel.send(embed=...)message = await ticket_channel.send(embed=embed)await message.add_reaction('\N{LOCK}')
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python