嗨,我正在尝试制作一个不和谐的bot,该bot使用类似的命令将dm发送给某人
!messagesteve hello world
它会直接向我想要的人发送一条消息...我已经尝试过了,但是没有用
@client.command(pass_context=True)
async def dm(ctx):
user=await client.get_user_info("381870129706958")
await client.send_message(user, "test")
我可能是您见过的最糟糕的python菜鸟,所以您能解释一下我该如何解决吗?
答案 0 :(得分:2)
似乎您使用的是d.py(v0.16.x)的旧文档。最新版本正在重写(v1.x)。
其中一项更改amongst others是自动隐含上下文(您不需要pass_context=True
),并且发送消息的语法已更改,如您在示例中所看到的:
@client.command()
async def dm(ctx, member: discord.Member, *, message):
try:
await member.send(message)
except: # this will error if the user has blocked the bot or has server dms disabled
await ctx.send("Sorry, that user had DMs disabled!")
else:
await ctx.send(f"Successfully sent {member} a DM!")
用法(假设前缀为!
),命令的用法为:
!dm @Skyonimous Hey there, I'm DMing you from a bot!
*
中的参数“ consumes rest”,这意味着后继的参数(message
)将作为一个完整的参数,而无论空格数如何,您都可以发送一个如果需要的话,将整个段落发送给用户!
如果您想让我澄清一下,我将非常高兴!
参考: