我对Python了解不多,还在学习中。
我一直在对一个用 Python 2.7 编码的开源 Discord 机器人进行重大修改。
我想添加一项功能,允许我根据命令踢用户。
类似于 [commandprefix]kickuser [userid] 但我不知道如何让机器人从我发送的消息中获取 userid,当我尝试使其超特定以踢我的第二个帐户作为测试时,它不会’也不工作。
if message_content == ',purgeIdiots':
await kick('userid')
return
这是我在文档中手动输入用户 ID 的超特定代码。但我无法让它工作。
我非常新,我会很感激一些帮助。
原文由 sairento 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您正在研究制作命令的过程,我建议您进一步阅读有关 discord.py 的 discord.ext.commands 子库的信息。
这是关于它的常见问题解答,以及使用它的机器人示例如下:
此扩展将允许您使用前缀创建命令。
关于您关于通过用户 ID 踢球的问题,使用命令扩展,您可以执行以下操作:
我相信这应该有效,但我还不能编译它来检查。但是,一定要了解有关命令扩展的更多信息,因为它比检查消息的内容更能帮助您解决问题。
您首先需要导入 discord.ext,您可以在程序顶部使用
from discord.ext import commands
来完成。然后您需要定义 bot 以确保您可以使用诸如
@bot.command
类的东西,因为您需要它。这样做是这样的:bot = commands.Bot(command_prefix=',', description=description)
,逗号现在被定义为命令前缀。这应该允许我最初添加的代码片段与能够键入
,kick <username>
的用户一起运行。