让机器人发送完全相同的消息,但删除消息的第一部分。 (d.py)

时间:2020-07-06 09:14:36

标签: discord.py

我有一个不和谐的机器人(py),其中有一个poll命令。目前,poll命令只是一个简单的yes或no,因为它增加了thumbsup和thumbsdown反应。

但是我想要它,因此它将消息删除并重新发送。但是重新发送时,它会删除前缀。

原始消息应如下所示: m / poll您喜欢游戏吗?

我希望机器人重新发送它,如下所示: 您喜欢游戏吗?

然后添加反应。我该怎么做。这也是一个on_message命令,因为命令包不能正常工作。

1 个答案:

答案 0 :(得分:0)

您可以通过以下两种方式进行操作:

  • 使用commands
import discord
from discord.ext import commands

bot = commands.Bot(command_prefix='m/')

@commands.command()
async def poll(ctx, *, question):
    await ctx.channel.purge(limit=1)
    message = await ctx.send(f"New poll: {question}")
    await message.add_reaction('❌')
    await message.add_reaction('✔️')
  • 通过on_message事件:
@bot.event
async def on_message(message):
    await message.channel.purge(limit=1)
    question = message[7:] #Copy the user message without the 7 first chars (m/poll )
    message = await ctx.send(f"New poll: {question}")
    await message.add_reaction('❌')
    await message.add_reaction('✔️')