跳到主要内容

Hello World

最常用的事件,往往是群消息事件,我们可以通过定义群消息事件的响应函数,实现对群聊消息的回应,或是执行指令之类

在了解了事件响应、事件参数、消息链这三个部分后,我们终于到真正动手开始定义事件响应了

要完整的跑起来一个机器人,根据我们所了解到的知识,我们需要

  • 配置路由,让 PepperBot 知道哪个handler处理哪些群的消息
  • 定义事件响应函数,当发生对应的事件时,要执行哪些操作
  • 运行 PepperBot,持续的监听事件

配置路由

假设我们想要实现

当 QQ 群 123456 接受到群消息时,原样返回该消息

根据路由中了解的知识,我们可以配制出如下路由

bot.apply_routes([
BotRoute(
friends=None,
groups={
"onebot": ["123456"]
}
handlers=[MyFirstHandler]
)
])

定义群消息事件响应

根据我们在事件响应部分中提到的,如果我们要定义群消息的事件响应,为一个 class 定义一个名 group_message 的方法即可

class MyFirstHandler:
async def group_message(self, bot: UniversalGroupBot, chain: MessageChain):
await bot.group_message(
Text("收到了你发送的消息"),
*chain.segments,
)
用户
任意消息
bot
收到了你发送的消息 任意消息
信息

暂时没有做机器人的权限检测,比如机器人是否有踢人权限(是管理员),是否能够发消息(是否被禁言)

运行机器人

if __name__ == '__main__':
bot.run()
启动成功,但是没有动静

是否启动了 go-cqhttp,设置的端口是否一致

这里只是简单的跑起来机器人,想要实现更复杂的配置,见部署