微信管理系统基于Flask+Vue+Celery+SQLAlchemy+Redis等实现

https://zhuanlan.zhihu.com/p/28102858

现在绝大多数同学都在使用微信,不过微信有很多限制,比如:

  1. 微信聊天记录只保存在本地,换个手机那些内容就找不到了
  2. 微信扫码加群人数有限制,超过100个就得先加群聊成员微信再由其拉进去,很不方便

很早就有想法把我的那些技术交流群也转移到微信上,不过当时想了想人工操作的成本太高作罢了。

但自从ItChat(一个网页版微信()的SDK)诞生以来,开发者有了和微信交互的机会,再之后出现了wxpy项目,开发者可以很方便的实现一些微信机器人之类的项目了。有一天刷到一个「Python 里itchat 模块能实现什么有趣的东西?」问题,然后回写了「申请加好友或者和好友聊天时带某个暗语,可以把你拉群,发现群满了之后自动创建群再把你拉入」的小例子。

我写新的项目都会尝鲜,换用更多的技术栈,尝试更多的技术选型。之前一直写React+Material-UI+Mobx这样的组合,Vue也只是在豆瓣电影的 选影视 上用到,就想着继续深入Vue,再用用Element-ui吧。另外对SSE和Redis的ORM库也想尝试下,上个月提上日程,做成了你们将要看到的Web端的微信管理系统,地址是 dongweiming/wechat-admin

首图就是这个后台的效果拼起来的。由于安全考虑我就不提供demo地址了,不过大家可以通过下面的一个短视频跟我登录感受一下(✪ω✪) :

 

在手机端从加人到进群的体验是这样的:

 

功能列表

  • 支持显示好友列表,可过滤
  • 支持显示群聊列表,可过滤
  • 可以同时给多个用户/群聊成员发送消息,支持发送文件,emoji表情。可预览
  • 如果为群聊创建者,可以删除(多个)成员
  • 可以选择好友/群聊成员创建新群
  • 对自动建群、加群关键词、邀请文本等可配置
  • 永久保存消息,可以通过消息列表页面查看和过滤。接收消息进程停止自动重启
  • 支持消息提醒
  • 支持发送加群聊成员好友请求
  • 自动添加联系人,拉对方入群,群满之后自动创建新群
  • 支持灵活的插件系统,内置图灵机器人、ChatterBot、Simsimi等插件
  • 可以指定公众号,当公众号发布文章后自动转发到指定的群聊里
  • 群成员可发起投票踢人,可以灵活的设置投票规则

用的技术和库

前端

Vue+Axios+Element-ui+Vue-cli

后端

Flask+Celery+SSE+Walrus+Gunicorn+Flask-Migrate+Flask-SQLAlchemy+ItChat(Fork版本)+Wxpy(Fork版本)+PyMySQL

注意本项目只支持Python 3 !

插件

目前自带了4个插件:

  • Simsimi 也就是当年的小黄鸡。默认未开启
  • Help帮助插件,根据所有插件的description属性的内容生成
  • Tuling图灵机器人,@群主即可开聊
  • Chatter基于机器学习的ChatterBot 和群主私聊

另外提供docker compose的方式让你快速部署应用。

欢迎star: dongweiming/wechat-admin 和使用,如果你有更多有意思的想法和功能欢迎提交PR和Issue,另外也可以贡献更多的插件

如果你对本项目有兴趣,可以加 Sanic(微信号python-org)入群感受,也可直接扫描如下二维码加我,如果验证信息中包含 python 可以直接进群,否则可以和Py之美私聊进群, 可打开项目链接进群:

注:之前的Py之美(微信号pythonorg)被暂时封禁了。

另外最近一段时间我将在微信公众号「Python之美」(微信号python_cn)中介绍这个项目技术选型,实现,走过的一些坑,还有Vue等相关的一些内容,欢迎关注。

原文地址:https://www.cnblogs.com/Leo_wl/p/7246126.html