我试图让discord bot向服务器中具有最接近匹配用户名的用户发送DM。通过最近匹配的用户名,我的意思是,如果给机器人一个用户名的一部分,比如“shin”,它会找到最近匹配的用户名,比如 “shinramen.”我提供的这段代码只适用于提及用户或用户的确切用户名。我曾尝试使用difflib,但不幸的是,它无法工作。有没有我遗漏的更简单的解决方案
async def dm(ctx, member: discord.Member):
user = await member.create_dm()
await user.send('message goes here')
以防您仍然需要它,或者其他人正在寻找它。
使用
discord.utils.find
查找最近的成员对象。以下是it的成员转换器示例:您不再需要创建dm频道。只需使用
await member.send("Whatever msg")
PS: 最接近的匹配用户名是什么意思?你必须提供更多的细节,因为我看不出这有什么意义不和谐已经自动为您做了。只需在discord中按enter键即可。他们会自动向您显示建议。我敢肯定,您别无选择,只能提到一个成员,以便命令正常工作
我不知道你为什么需要这个,但你可以得到像这样的名字,然后你可以随便你想要什么。我做了更多的检查,看看会员是否在公会中有缺口
请记住,这是为作者准备的,您可以根据自己的需要进行更改
您可以使用此命令获取dm的用户
相关问题 更多 >
编程相关推荐