微信机器人框架【Python】

前面写了两篇:

太罗嗦。今天提供一个框架,终结这个话题吧。
这框架提供了几个功能示例:

  • 每天 7 点发送天气预报
  • 成语解释
  • 成语接龙
  • 天气查询
  • 自动通过好友申请
  • 闲聊对话(空壳)

传送门

robot.py

这是框架的重要部分,对接收到的消息进行解析,并根据需要进行处理。
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,进群体验】
碲矿

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值