跳至主要內容

微信机器人(3):自定义机器人

upfinder原创...大约 3 分钟微信机器人

上节回顾

前情提要

上一节,我们详细分析了项目源码,梳理了项目整体结构和项目的启动流程,并梳理了在个人微信渠道下使用讯飞大模型机器人回复消息的逻辑。

本节我们将通过自定义一个机器人并实现文本回复功能。

自定义机器人

从上节我们知道,回复的消息的逻辑最终通过获取一个Bot实例,然后调用它的reply函数实现,如下图所示。

image-20231211173307327
image-20231211173307327

而在bot 的 reply函数中,会 return 一个 reply 实例,本节我们先了解一下文本类消息。后续章节我们再详细理解这个Reply的其他实现。

接下来我们创建自己的机器人类,我们在bot文件夹下,创建一个upfinder文件夹,在upfinder中创建一个UpfinderAiBot(Bot)类,具体实现如下图所示。

自定义的UpfinderAiBot继承自 Bot,实现了 reply函数,我们在reply中实现了一个文本消息的回复逻辑,这样当微信收到别人消息时,就会自动回复一条你好,我是upfinder的文本类型消息。

配置机器人

从上节可知,具体使用哪个机器人进行回复,是通过bot_factory 来确定的,具体代码如下

image-20231221110312161
image-20231221110312161

create_bot(bot_type)的函数中,通过判断传递进来的bot_type参数,构造不同的 Bot实例, 我们在这里补充 UpfinderAIBot的创建,并增加 值为upfinderbot_type机器人类型常量,具体代码如下图。

image-20231221110505966
image-20231221110505966

启用机器人

以上流程我们已经实现了自定义机器人的创建和配置流程,接下来我们启用自己的机器人,

image-20231221163401171
image-20231221163401171

首先通过上边源码分析可知,获取机器人时,会根据 config.json 的model 字段的配置去创建不同的机器人。所以我们只需要将config.json 的配置文件中 “model”: "upfinder" ,这样将我们机器人的配置项与配置文件对应上,如下图

image-20231221163908055
image-20231221163908055

自此,我们机器人的配置就算完成了,启动项目,登录微信后,当收到消息时,就会通过我们自定义的机器人进行回复了。

重点回顾

下边我们将自定义机器人实现与配置的主要流程进行一个回顾总结:

  • 自定义机器人类并继承bot类
  • 实现自定义机器人类的reply函数,实现机器人的回复功能
  • 在机器人构造工厂 bot_factory.py 中实现对自定义机器人的配置
  • 修改config.json文件中的 model字段与机器人构造工厂中定义的常量保持一致
  • 启动项目

下节预告

下节我们将丰富我们这个自定义的机器人的功能,实现一个自动售货的机器人,比如我们会通过回复特定词语,自动化的实现获取商品列表,商品介绍,下单,付款等流程

上次编辑于:
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.8