Discord.py 如何获取提及用户的消息?
Discord.py How to get message of mentioned user?
我正在更新一个较旧的 Bot,它在上次更新之前运行良好。大多数命令都很容易上手。
在命令中,用户 A 应指定另一个用户 B 和一个号码。提到了用户 B,并且该数字通过 class 掷出 him/her 的骰子数。在这发生并生成一个数字之后,用户 B 现在应该命名一个也经过此 class 并形成计数器值的数字。
这可以达到预期来自用户 B 的反馈的程度。之后我收到错误消息“Client.wait_for() 得到了一个意外的关键字参数 'author'”。
@bot.command()
async def bam(ctx, op: discord.Member, a: int):
__wuerfe , __erfolg , __sechs = wurf(a)
__wuerfe.clear()
while __sechs > 0:
___wuerfe , ___erfolg , ___sechs = wurf(__sechs)
___wuerfe.clear()
__sechs = ___sechs
___sechs = 0
__erfolg += ___erfolg
if __erfolg == 0:
await ctx.send("{} schlug voll daneben!".format(ctx.message.author.mention))
else:
await ctx.send("{} griff ".format(ctx.message.author.mention) + str(op.mention) + " mit **" + str(__erfolg) + "** Erfolgen an! " + str(op.nick) + " gib bitte deinen Wert für physische Verteidigung ein.")
antwort = await bot.wait_for(author = op, timeout=90)
antwortVer = antwort.content
verteidigung = int(antwortVer)
wuerfeVer , erfolgVer , sechsVer = wurf(verteidigung)
wuerfeVer.clear()
while sechsVer > 0:
wuerfeVer2 , erfolgVer2 , sechsVer2 = wurf(sechsVer)
wuerfeVer2.clear()
sechsVer = sechsVer2
sechsVer2 = 0
erfolgVer += erfolgVer2
我知道我使用的结构已经过时,但我找不到找到提到的用户 B 并等待他的回答的有效方法。
这是我为此使用的代码,您仍然可以添加超时,但可以将其编辑为您想要的任何成员和频道(或删除)
def check(message):
return message.author == ctx.author and message.channel == ctx.channel
await client.wait_for('message', check=check)
我正在更新一个较旧的 Bot,它在上次更新之前运行良好。大多数命令都很容易上手。 在命令中,用户 A 应指定另一个用户 B 和一个号码。提到了用户 B,并且该数字通过 class 掷出 him/her 的骰子数。在这发生并生成一个数字之后,用户 B 现在应该命名一个也经过此 class 并形成计数器值的数字。 这可以达到预期来自用户 B 的反馈的程度。之后我收到错误消息“Client.wait_for() 得到了一个意外的关键字参数 'author'”。
@bot.command()
async def bam(ctx, op: discord.Member, a: int):
__wuerfe , __erfolg , __sechs = wurf(a)
__wuerfe.clear()
while __sechs > 0:
___wuerfe , ___erfolg , ___sechs = wurf(__sechs)
___wuerfe.clear()
__sechs = ___sechs
___sechs = 0
__erfolg += ___erfolg
if __erfolg == 0:
await ctx.send("{} schlug voll daneben!".format(ctx.message.author.mention))
else:
await ctx.send("{} griff ".format(ctx.message.author.mention) + str(op.mention) + " mit **" + str(__erfolg) + "** Erfolgen an! " + str(op.nick) + " gib bitte deinen Wert für physische Verteidigung ein.")
antwort = await bot.wait_for(author = op, timeout=90)
antwortVer = antwort.content
verteidigung = int(antwortVer)
wuerfeVer , erfolgVer , sechsVer = wurf(verteidigung)
wuerfeVer.clear()
while sechsVer > 0:
wuerfeVer2 , erfolgVer2 , sechsVer2 = wurf(sechsVer)
wuerfeVer2.clear()
sechsVer = sechsVer2
sechsVer2 = 0
erfolgVer += erfolgVer2
我知道我使用的结构已经过时,但我找不到找到提到的用户 B 并等待他的回答的有效方法。
这是我为此使用的代码,您仍然可以添加超时,但可以将其编辑为您想要的任何成员和频道(或删除)
def check(message):
return message.author == ctx.author and message.channel == ctx.channel
await client.wait_for('message', check=check)