前面写了两篇:
太罗嗦。今天提供一个框架,终结这个话题吧。
这框架提供了几个功能示例:
- 每天 7 点发送天气预报
- 成语解释
- 成语接龙
- 天气查询
- 自动通过好友申请
- 闲聊对话(空壳)
传送门。
robot.py
这是框架的重要部分,对接收到的消息进行解析,并根据需要进行处理。
具体实现见 robot.py。
main.py
这是应用的入口,实现如下:
#! /usr/bin/env python3
# -*- coding: utf-8 -*-
import signal
from wcferry import Wcf
from robot import Robot
def weather_report(robot: Robot):
"""模拟发送天气预报
"""
# 获取接收人
receivers = ["filehelper"]
# 获取天气,需要自己实现,可以参考 https://gitee.com/lch0821/WeatherScrapy 获取天气。
report = "这就是获取到的天气情况了"
for r in receivers:
robot.sendTextMsg(report, r)
def main():
wcf = Wcf()
def handler(sig, frame):
wcf.cleanup() # 退出前清理环境
exit(0)
signal.signal(signal.SIGINT, handler)
robot = Robot(wcf)
robot.LOG.info("机器人已启动")
# 接收消息
robot.enableRecvMsg()
# 每天 7 点发送天气预报
robot.onEveryTime("07:00", weather_report, robot=robot)
# 让机器人一直跑
robot.keepRunningAndBlockProcess()
if __name__ == "__main__":
main()
其他
其他文件,不再一一介绍,整体说说项目结构:
WeChatRobot
├── LICENSE # 开源许可协议,这里使用了 MIT
├── README.MD # 项目说明
├── chengyu.csv # 成语库
├── config.yaml.template # 配置文件模板
├── configuration.py # 项目配置
├── func_chengyu.py # 成语解释、接龙实现
├── job_mgmt.py # 封装的调度器
├── main.py # 应用入口
├── requirements.txt # 工程依赖
└── robot.py # 机器人框架主体
好了,收工。
【后台回复 WeChatFerry
,进群体验】