尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

3行代码把消息推进企业微信群:we-work-bot上手笔记

3行代码把消息推进企业微信群:we-work-bot上手笔记 3行代码把消息推进企业微信群we-work-bot上手笔记【免费下载链接】we-work-botA lite framework for wechat work bot. 轻量级企业微信群聊机器人框架。项目地址: https://gitcode.com/gh_mirrors/we/we-work-bot手动往企业微信群里发构建告警、人催进度整个流程又碎又烦。we-work-bot 把这件事压缩成 3 行代码一次调用发出第一条消息定时、条件判断、人这些动作都预置在同一个链式接口里。3分钟看到第一条消息安装与最小示例 环境要求只有两行Python 3.5 及以上第三方依赖只有requests。pip3 install weworkbot使用前需要拿到群机器人的 Webhook 地址群设置 → 群机器人 → 添加机器人后复制。拿到之后一条消息的发送就 3 行from weworkbot import Bot as wBot url https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key你的key wBot(url).set_text(hello world).send()整套 API 都是链式写法wBot(url)创建机器人set_xxx()填消息内容send()发一次就结束run()进入周期性发送循环。后面所有场景都是这几个调用的不同组合。从发一次到自动推的三个场景让机器人按固定间隔发报告日报、巡检摘要这类固定间隔任务用every()定间隔。如果消息内容不是写死的可以把生成逻辑交给render_text()——它每次发送前调用一次函数取返回值作为正文def gen_report(): return 今日构建全部通过 wBot(url).render_text(gen_report).every(hour1).run()注意run()是阻塞调用且默认不退出完整的收尾配合方式见仓库里的 示例代码 example.py。监控到异常就推群告警监控告警就是定时轮询 条件判断这正是框架的主场。check()挂一个函数每个周期先执行它返回False就跳过本次发送def cpu_high(): return check_cpu() 90 wBot(url).set_text(CPU负载异常).check(cpu_high).every(30).run()脚本每 30 秒探测一次只有越过阈值才会在群里发声平时安静。某个同事而不是全群刷屏文本消息通过set_mentioned_list/set_mentioned_mobile_list指定提醒人填成员 userid 或手机号all表示全体wBot(url)\ .set_text(代码评审求帮忙)\ .set_mentioned_list([userid_zhang])\ .send()多个群、多路任务要同时跑交给机器人管理器每次add_bot()返回一个可配置的 bot最后run()一起拉起from weworkbot import bot_mgr as bots bots.add_bot(url).set_text(每小时播报).set_send_counter(10).every(minute30) bots.run()管理器实现在 weworkbot/bot_mgr.py原理是每 bot 一线程细节一句话就能讲完。消息发不出去的高频问题 ⚠️现象构造时直接 AssertionError或企业微信提示 key 无效根因框架构造时会校验 Webhook 地址格式必须以https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key开头地址贴错直接抛异常key 填错或过期则是接口层拒绝。 解法从群设置里整段复制 Webhook 地址不要手改任何字符。现象没报错但 人不生效根因只有 text 类型支持提醒markdown 和 image 类型会打条 warning 然后丢弃提醒字段另外mentioned_list里要填 userid 或手机号不是某某这种字符串。 解法改回 text 类型发送set_mentioned_list填真实的成员 userid 或手机号。现象run() 一直不返回消息反复发还被企业微信限流根因默认发送次数与检查次数都不限循环永不退出间隔再设短一点就会撞上企业微信接口侧的频率限制。 解法set_send_counter(n)限定发送次数或在进程层面管理生命周期定时间隔留足余量。把它接进监控告警和日报系统的思路服务监控的典型接法告警脚本随被监控进程常驻阈值判断直接写进check()指标越界才推送再配一个发送计数器同一次异常只推有限次避免报警风暴刷屏。周期汇总类推送进度、工单数、提交统计关键在render_text()——让消息正文成为函数的返回值每次触发都取最新数据拼装多个群需要同一条日报时用BotMgr把各群 Webhook 注册进去一次run()并行跑完。继续深入下一步做什么we-work-bot 接口面很小源码过一遍就能全部掌握剩下的是把它接进自己的流程。先通读 example.py 里全部链式调用组合再对照 README 的更新计划——CLI 支持和 news 图文消息还在 TODO 里使用中遇到缺的功能直接提 issue或者基于bot.py自己扩一个类型。完整示例代码在 example.py消息格式规范以企业微信官方接口文档为准。【免费下载链接】we-work-botA lite framework for wechat work bot. 轻量级企业微信群聊机器人框架。项目地址: https://gitcode.com/gh_mirrors/we/we-work-bot创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表