我正在编写一个简单的discord bot以便娱乐,我希望它从某个短语后面的消息中获取(例如)一个数字,以后再使用 例如,某个用户键入“ $ test 6”,而我希望我的机器人将其取为该数字(6),然后再将其发送到同一频道。
我在创建此问题以拆分消息后出现。 能行吗? (不算用户可以写数字以外的东西)
GridSearchCV
答案 0 :(得分:0)
这可以通过命令参数来完成:
@bot.command()
async def test(ctx, number = None):
if not number:
await ctx.send("Please enter a number, for example: `$test 5`")
else:
await ctx.send(f"Here's the number you gave me: {number}")
还有使用不和谐对象的示例:
@bot.command()
async def kick(ctx, member: discord.Member = None, *, reason = "Default reason"):
if not member:
await ctx.send("Please provide a member for me to kick!")
else:
await member.kick(reason=reason)
await ctx.send(f"Successfully kicked {member} for `{reason}`")
参考:
*
usage in parameters commands.Command()
-用于将命令创建/注册到您的机器人的装饰器。commands.Context
-这将始终作为命令中的第一个参数传递。Context.send()
-Context
继承自abc.Messageable
,这意味着您可以向执行命令的通道发送消息。abc.Messageable
discord.Member
Member.kick()