【发布时间】:2020-11-07 15:52:40
【问题描述】:
我试图让我的不和谐机器人对自己的信息做出反应,差不多。系统是这样工作的:
一个人使用命令 !!bug - 并在 DM 中收到一条消息,她/她应该回答这些问题。然后无论他/她回答什么,都会将嵌入的消息传输到管理员文本通道。
但我需要添加 3 个表情符号,或者与三个不同的表情符号做出反应。并且根据管理员的选择,它会再次传输消息。因此,如果管理员对等于“固定”的表情符号做出反应,它将被移动到“固定”文本通道(整个消息)。
我对此做了很多研究,但只找到了关于旧 discord.py 的线程,意思是
await bot.add_react(emoji) - 但据我了解,这不再有效!
这是我的代码:
import discord
from discord.ext import commands
import asyncio
TOKEN = '---'
bot = commands.Bot(command_prefix='!!')
reactions = [":white_check_mark:", ":stop_sign:", ":no_entry_sign:"]
@bot.event
async def on_ready():
print('Bot is ready.')
@bot.command()
async def bug(ctx, desc=None, rep=None):
user = ctx.author
await ctx.author.send('```Please explain the bug```')
responseDesc = await bot.wait_for('message', check=lambda message: message.author == ctx.author, timeout=300)
description = responseDesc.content
await ctx.author.send('````Please provide pictures/videos of this bug```')
responseRep = await bot.wait_for('message', check=lambda message: message.author == ctx.author, timeout=300)
replicate = responseRep.content
embed = discord.Embed(title='Bug Report', color=0x00ff00)
embed.add_field(name='Description', value=description, inline=False)
embed.add_field(name='Replicate', value=replicate, inline=True)
embed.add_field(name='Reported By', value=user, inline=True)
adminBug = bot.get_channel(733721953134837861)
await adminBug.send(embed=embed)
# Add 3 reaction (different emojis) here
bot.run(TOKEN)
【问题讨论】:
标签: python python-3.x discord.py discord.py-rewrite