2 回答
TA贡献1869条经验 获得超4个赞
ctx.send()返回discord.Message它发送的消息的实例,因此您可以将其存储在变量中。
message = await ctx.send(f"{ctx.message.author.mention}, Hi!")
# do what you want with the message, in your case getting it's id
bot_message_id = message.id
至于你的第二个问题,如果你想获得用户对该消息的响应(因此特定用户将发送的下一条消息),你可以使用内置函数wait_for。
def check(message):
return message.author.id == the_id_of_that_user
message = await bot.wait_for("message", check=check)
这样,机器人实际上就会发出wait for
一条消息,使您的check
函数返回True
,或者在本例中是由该用户发送的消息。
TA贡献1816条经验 获得超4个赞
我不太明白你的问题,但我会尽力回答。根据API 参考,您可以使用 获取某人的最后一条消息channel.history().get()
。这是一个例子:
import discord
from discord.ext import commands
async def anyfunc(ctx):
await ctx.send(f"{ctx.message.author.mention}, Hi!")
bot_message_id = await ctx.channel.history().get(author__name="Bot's name").id
这可能会起作用,但如果出现错误,也许您可以尝试author__id=bot's id代替author__name.
添加回答
举报