我在www.example.com做一个简单的游戏discord.py/pycord,我希望我的机器人能够删除点击时的特定React。有没有办法做到这一点?
以下是预期结果:
以下是我的实际代码(我使用pycord):
import discord
from discord.ext import commands
intents = discord.Intents().all()
bot = commands.Bot(intents=intents)
@bot.event
async def on_message(message):
if message.author == bot.user:
return
if message.content == 'test':
me = await message.reply('Is this cool?')
await me.add_reaction("👎")
await me.add_reaction("👍")
try:
reaction, user = await bot.wait_for("reaction_add", check=lambda reaction, user:
user == message.author and reaction.emoji in ["👎", "👍"], timeout=30.0)
except asyncio.TimeoutError:
await message.reply("Tmieout bro")
else:
if reaction.emoji == "👍":
await message.reply('Like it.')
await reaction.delete()
else:
await message.reply("NO like")
await reaction.delete()
先谢谢你了
1条答案
按热度按时间o4hqfura1#
你首先得到React对象,然后你删除它。文档
验证码:
它的工作原理是从
discord.Option
类型的参数message
中获取消息。设置discord.Option
,以便您可以使用来自链接或ID的消息。然后,它使用此参数循环所有消息的React。然后它循环每个与该ReactReactReact的用户。它必须是异步的,因为i.users()是异步的(参见here)。完整的代码可以帮助你:
如果你想删除JUST机器人的React,请更改以下行:
收件人: