summer
summer copied to clipboard
基于 Wechaty Puppet Official Account 项目的用户与消息等基础功能的完善
开源软件供应链点亮计划
“开源软件供应链点亮计划-暑期2021”(以下简称 暑期2021)是由中科院软件所与 openEuler 社区共同举办的一项面向高校学生的暑期活动,旨在鼓励在校学生积极参与开源软件的开发维护,促进国内优秀开源软件社区的蓬勃发展。
根据项目的难易程度和完成情况,参与者还可获取“开源软件供应链点亮计划-暑期2021”活动奖金和奖杯。
Wechaty
Wechaty 是一个开源聊天机器人框架SDK,具有高度封装、高可用的特性,支持NodeJs, Python, Go 和Java 等多语言版本。在过去的5年中,服务了数万名开发者,收获了 Github 的 9600 Star。同时配置了完整的DevOps体系并持续按照Apache 的方式管理技术社区。
Wechaty 官网暑期2021项目入口:https://wechaty.js.org/docs/ospp/2021/
项目名称
基于 Wechaty Puppet Official Account 项目的用户与消息等基础功能的完善
背景介绍
Wechaty 社区目前已经支持微信、Whatsapp、企业微信、飞书等常见流行即时通讯工具,并且能够通过多语言 SDK (比如 Python Wechaty) 进行调用。
Wechaty Puppet for WeChat Official Accounts 是一个帮助用户 use Wechaty to manage your Official Account from https://mp.weixin.qq.com 的模块。
我们在本次 Summer 2021 的项目中,社区希望可以将我们的 wechaty-puppet-official-account 项目进行继续完善,将它对用户、消息收发(包括文本、图片、视频),各种微信公众账号平台的基础功能进行完善和支持。
需求介绍
- 申请开发专用测试公众账号
- 架设 wechaty-puppet-official-account 并可以进行微信公众账号的正常文本消息收发
- 对 Wechaty Puppet Official Account 的功能进行试用,分析其当前的功能,然后列出需要完善的功能列表,以及欠缺的功能列表,并作出开发计划。
在初期开发中,能够实现图片消息的接收和发送,即可完成原型验证 POC 。
项目难度
中(奖金:9,000元)
导师联系方式
- 吴京京:Python Wechaty creator, Wechaty committer, Microsoft Research Asia Intern
项目产出目标
- 每日代码 commit
- 每周提交一份 report (回复本 issue)
- 每两周一次在线会议
- 完成各种消息类型的收发功能
- 对项目进行完整的分析,整理出所有需要支持的 Wechaty 功能列表,以及那些需要完善,那些需要继续开发
- 完成计划列表中的计划
- 配置 GitHub Actions 实现自动化测试* (可选)
项目技术栈
- TypeScript programming language
- Git
- 微信公众账号平台API
参考链接
- Official-Account Puppet Released, @wj-Mcat, Nov 01, 2020
- Wechaty Workshop for Puppet Makers: How to Make a Puppet for Wechaty, @rickyyin98, Aug 05, 2020
- https://github.com/wechaty/wishlist/issues/16
[基于 Wechaty Puppet Official Account 项目的用户与消息等基础功能的完善] 进度报告
日期:2021-07-04
本周完成的成果
- 粗略浏览wechaty-oa代码
- 学习了git的PR流程
本周遇到的困难和需要配合的地方
- 项目运行起来的流程还有些模糊
下周的开发计划和预计成果
- 阅读微信公众号开发文档
- 测试wechaty-oa现有功能
- 与导师讨论出需要扩展的功能列表
其他需要说明和同步的事项
暂无
[基于 Wechaty Puppet Official Account 项目的用户与消息等基础功能的完善] 进度报告
日期:2021-07-18
本周完成的成果
- 列出将要进行开发的功能模块
- [ ] 文本消息收发功能
- [ ] 图片消息收发功能
- [ ] 事件消息推送
- 完成项目的初期报告
本周遇到的困难和需要配合的地方
- 在push期初报告时,对git的使用还是很不熟练,对文档的格式标准也很模糊
- 本周我主要在进行期末考试,所以项目进展不大
下周的开发计划和预计成果
- 着手开发文本消息接收模块
其他需要说明和同步的事项
暂无
[基于 Wechaty Puppet Official Account 项目的用户与消息等基础功能的完善] 进度报告
日期:2021-08-01
本周完成的成果
- 实现文本消息收发模块
- 可以获取到用户的个人信息(例如昵称)进行消息回复
本周遇到的困难和需要配合的地方
- 对puppet-oa.ts里面的方法还没有完全理解
下周的开发计划和预计成果
- 继续完善文本消息收发功能
- 准备开发图片消息收发功能
其他需要说明和同步的事项
暂无
评审结果
- 项目完成度:项目已基本完成中期报告要求,完成对代码的基本重构,添加了内网穿透工具。
- 学生参与度:学生暑期完成进度稍显落后,后续有待提升,与我的沟通频率也需要提升。
- 代码贡献量:优化示例代码,重构函数模块。
- 综合评价及建议:完成基本功能测试和函数重构,存在的问题如下:
- 1、后续需要与导师保持沟通
- 2、代码贡献要通过pr的形式来完成
- 3、检测并开发新功能
- 最终评审结果:“通过”
中期已完成工作
- [x] 图片的收发功能
- [x] 完善文本消息的收发功能
后期工作安排
- [ ] 对已有的图片收发功能进行测试、完善
- [ ] 开发音频的收发功能
- [ ] 开发小程序的收发功能
中期汇报视频:https://www.bilibili.com/video/BV1Qf4y1n78Z/ 中期汇报Demo演示:https://www.bilibili.com/video/BV1FA411c7iv/
中期汇报PPT:https://youtu.be/iazpyB54PwU 中期汇报live coding:https://youtu.be/acEAgTdApQc
结项汇报ppt: YouTube:https://youtu.be/iVyutBZMZRE Bilibili:https://www.bilibili.com/video/BV1344y1t7aU/ live Coding: YouTube:https://youtu.be/ySxpkKjv018 Bilibili:https://www.bilibili.com/video/BV1CQ4y1Q7dX/
Link to: https://github.com/wechaty/wechaty.js.org/pull/1331