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.
添加回答
舉報