第一个机器人
这篇文章主要讲解一段最简代码的含义,而我假定你已安装QQ.py
。
如果你还没有安装,请前往 安装 的部分。
一个最小的机器人
让我们制作一个响应特定消息的机器人,代码看起来像这样:
1 | import qq |
文件命名为 example_bot.py
。
请确保不要命名任何文件为 qq.py
,因为那会和库导入冲突。
导入库
1 | import qq |
如果这引发了 ModuleNotFoundError
或 ImportError
,请转到 安装 部分来安装。
Client示例
1 | client = qq.Client() |
这个客户端代表我们与 QQ 的连接。
注册事件
然后我们使用 Client.event
装饰器来注册一个事件。QQ.py 有很多事件可以给你选择。
由于这个库是异步的,我们以 回调
风格的方式做事。
1 |
|
回调
是一个在发生某些事情时调用的函数。
在我们的案例中,当机器人完成登录时触发 on_ready
, 并且当机器人收到消息时调用事件时候触发 on_message
。
要注意的是注册的事件是根据函数名所决定的,需要更多事件可以前往 文档。
排除自己
由于 on_message
接收到的 每条消息 都会触发事件, 我们必须确保忽略来自机器人自己的信息。
我们通过检查Message.author
是否和Client.user
是一样的来判定。
1 |
|
检查并发送消息
之后,我们检查 $你好
是否在 Message.content
内。
如果是,那么我们在它使用的子频道中发送一条消息 '你好!'
。
这是处理命令的基本方法,以后可以使用 qq.ext.commands
指令拓展。
登陆并运行机器人
1 | client.run(token='your token here') |
最后,我们使用登录令牌运行机器人。
运行机器人
现在我们已经制作了一个机器人,我们必须 运行 机器人。
幸运的是,这很简单,因为这只是一个 Python 脚本,我们可以直接运行它。
1 | python3 example_bot.py |