基于 ItChat 开发的机器人,ItChat 代码 clone 于 d9a7cec(Nov 3, 2016),后根据需求 修改。
机器人主要服务于 PY Learning 微信群。
首先安装各种依赖。目前机器人只在 Python3 环境下测试通过。
pip install -r requirements.txt
然后执行启动脚本:
python run.py
配置文件的加载顺序为:
- 加载模版配置文件
wbot/config.dist.py
,载入默认配置 - 加载执行目录文件
config.py
, 载入用户配置 - 加载环境变量中的
WXBOT_CONFIG
变量所指向的文件,载入生产环境配置
后载入的配置会覆盖先载入的配置。
配置项目的相关说明参照配置模版文件。
如果您要修改配置文件,请复制文件wbot/config.dist.py
到项目根目录,并命名为config.py
,或执行以下指令:
cp wbot/config.dist.py ./config.py
要求全部大写。
顶层配置项目按照模版方式命名。
模块相关配置按照模块前缀的方式命名,例如Recall模块定义的前缀为"RECALL"
,
则其相关配置项目的命名遵守"RECALL_XXXXX"
的形式进行命名。
模块内部读取配置时,只能看到自己相关的配置变量,并会自动消除前缀。
- 微信的诸多基本使用
- itchat 接口使用
基础的机器人类型,由多个模块构成,一个微信账号对应一个Bot,处理该微信号下的全部消息分发
机器人的逻辑模块,专注于某一项的功能
收到一条消息时,Bot从模块注册表中轮询各个模块对于该消息的匹配值,
- 0表示模块不愿意处理该消息
- 100表示模块一定要处理该消息
- -1表示该模块希望收到该消息但不做回复处理
每次分发的过程最多有一个主处理模块,和不限个数后台模块被通知。
- TulingModule。自动问答模块
- RecallModule。自动防撤回模块
- InterpreterModule。一个微信在线的Python解释器模块