和泉妃爱QQ校园小助手

✨ 基于 go-cqhttp 以及 Python + MysQL 实现 ✨

Hiyori, a cute QQ Robot is used for SSPU Auto deportReport and the lecture infomation from the second class , developped by Python + MySQL( Based on go-cqhttp

开源地址:和泉妃爱QQ小助手

功能

  • 上海第二工业大学 每日一报 自动打卡 ( 会自动汇报账号池内的用户, 并提供 在QQ内 每日定时自动汇报结果功能
  • 上海第二工业大学 第二课堂讲座最新信息的 即时性监听 ( 只要有新讲座就会@你/全体成员 同时你也可以主动问她有多少个正在进行的讲座
  • 日常看setu / HOMO图
  • 食堂随机饭菜推荐
  • 让你拥有一个随时可以和你互动的可爱伊抹多 陪你一起度过四年孤寡的校园生活
  • 一个妃爱酱监管的小物联网系统 (如果你的HTTP服务器是搭建在树莓派或一些支持Python 环境的 嵌入式开发板上的话的话)

和泉·妃爱酱 的 指令-文档

注:1. 命令是指 双引号内部那些,双引号不要加
2. 所有指令必须@和泉·妃爱酱 才能识别

(一) 专有命令
语法: “cmd- "+ “指令”
命令指令集:

  1. “健康打卡_查询指令”
  2. “健康打卡_手动打卡”
  3. “开启R18模式”(密码可以自行设置)
  4. “涩图”
  5. “HOMO图”
  6. “劝学”
  7. “添加权限用户”(关闭)

(二) 妃爱酱特性 (暗示:你可以问她)

  1. 和欧尼酱一样喜欢摆烂
  2. 有时候会去学校食堂里头吃些好吃的, 所以知道些好吃的菜
  3. 知道 所有 正在进行的 第二课堂讲座 的 消息 (快问她!
  4. 并且 只要有 新出来的 第二课堂讲座 她就会@全体
  5. 鉴于学校政策,每日一报凌晨自动打卡功能临时关闭了( 虽然感觉马上又会要用到
  6. 有点 homo 和 小坏

使用前所需的运行环境:

  1. 你需要一个Python的开发环境 以及 MySQL云/本地数据库服务器
  2. requirements 内的必要运行库
  3. go-cqhttp: 用来监听QQ的HTTP服务器 (如果你想扩展更多功能的话,可以参照它的官方文档)
  4. 符合你自己谷歌游览器的驱动版本 --> chromedriver ( 这里已经提供了一个适合Window系统的 谷歌游览器driver )
还是不懂运行环境的安装? ----> 没关系 这里给你详细说明:
  1. Python安装 和MySQL数据库搭建 —> 不解释了
  2. requirements内运行库安装:
    打开你的cmd / Linux终端:
pip3 install -r requirements.txt
  1. go-cqhttp:
    这里简要介绍一下 该项目是使用Python的 套接字/Requests 实现监听 127.0.0.1:5701 端口 来控制QQ机器人
# 基于go-cqhttp 的 Socket 通信
ListenSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
ListenSocket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
ListenSocket.bind(('127.0.0.1', 5701))
ListenSocket.listen(100)

go-cqhtt下载: https://docs.go-cqhttp.org/
如果你想扩展妃爱酱的功能,或者自定义更多的新花样的话 或者建立一个属于你自己的QQ机器人的话 可以具体用法参照文档:go-cqhtt官方文档

  1. chromedriver:
    首先,你需要确认你的谷歌游览器版本-以及系统:


然后去 chromedriver国内镜像 下载适合你系统 和 谷歌版本的 谷歌驱动

好!正式进入使用介绍:

使用教程:

  1. API.py内配置 校园账号-用户池 写入所有你想要自动打卡的用户信息(会自动汇报完账号池内所有的账号)
# 二工大 用户池 ---------------> 字面意思 那个 假期 / 在校 (其实都无所谓的)
SSPU_AccountData_Holiday = [{"账号": "20211145140", "密码": "hengheng@1145141919810","地址": ["上海", "上海市", "浦东新区", "金海路2360号上海第二工业大学"]}]SSPU_AccountData_SchoolDay = [{"账号": "20211145140", "密码": "hengheng@1145141919810","地址": ["上海", "上海市", "浦东新区", "金海路2360号上海第二工业大学"]}]
  1. 同样, 在API.py里头 指定QQ内 每日汇报的QQ群:
QQ_Group = xxxxxxx
  1. 在本地/服务器搭建好 MySQL数据库环境 ----> 这里存储了 能够使用妃爱酱的使用权限 的 用户/群
    这里使用的是MySQL语言,创建数据库结构:
create table QQ_Num (number BIGINT, msg_type VARCHAR(20));

然后 在 你的MySQL相关数据库的表内加入 你想要的QQ用户

参数说明:

number: QQ群号/个人QQ号
msg_type: private ( 个人QQ )/ group ( QQ群 )

然后在AuthorityDB_mysql.py内 配置你的数据库接口:

# 你的数据库和表名
db = ""
db_table = ""

· 注:这里默认是使用本地数据库接口,若你使用的是云服务器的话可以自行配置 Host 成你的云数据库服务器的IP

  1. 这时候 可以开启go-cqhttp服务器了。
    配置好go-cqhttp设置, 然后去你的终端

    go-cqhttp
    
  2. 设置凌晨自动打卡 + 每日早自动汇报签到结果
    如果你是Linux 或者 MacOS系统的话, 推荐使用crontab:
    在你的Linux终端:

    crontab -e
    

    设置你的 crontab 任务:SSPU_AutoCheck.pyreport_Server.pyLec_second_class.py
    (crontab 语法)

    每五分钟执行   */5 * * * *
    每小时执行     0 * * * *
    每天执行       0 0 * * *
    每周执行       0 0 * * 0
    每月执行       0 0 1 * *
    每年执行       0 0 1 1 *
    

    如果你不想自己设置的话,也可以用下面的:

    进入 crontab 定时管理 设定一个log 重定向你的脚本到这个log上用于接收执行日志 (注:鉴于学校政策,每日一报凌晨自动打卡功能临时关闭了( 虽然感觉马上又会要用到)

    #2 1-10/1 * * * /usr/bin/python3 /home/pi/Python_Crawler/SSPU_AutoCheck.py >> ~/dailyReport.log
    #30 7 * * * /usr/bin/python3 /home/pi/Python_Crawler/SSPU_AutoCheck.py >> ~/dailyReport.log
    #30 4 * * * /usr/bin/python3 /home/pi/Python_Crawler/SSPU_AutoCheck.py >> ~/dailyReport.log
    #*/10 5 * * * /usr/bin/python3 /home/pi/Python_Crawler/SSPU_AutoCheck.py >> ~/dailyReport.log
    #*/10 6 * * * /usr/bin/python3 /home/pi/Python_Crawler/SSPU_AutoCheck.py >> ~/dailyReport.log
    #*/10 7 * * * /usr/bin/python3 /home/pi/Python_Crawler/SSPU_AutoCheck.py >> ~/dailyReport.log
    #0 7 * * * /usr/bin/python3 /home/pi/Python_Crawler/report_Server.py
    #15 7 * * * /usr/bin/python3 /home/pi/Python_Crawler/report_Server.py
    * */2 * * * /usr/bin/python3 /home/pi/Python_Crawler/Lec_second_class.py
    

    Q: 你问为什么 要设置那么多脚本执行?
    A: 因为我用是树莓派啊。。。所以脚本执行有时候会卡死,为了安全起见当然多设几个 ( 反正学校又没有反爬

  3. 开启go-cqhttp 服务器,打开终端执行界面 cd 到该项目文件夹:

pyhon3 main.py

自定义你的功能

  1. 图片API API.py 你可以在这里定义属于你自己的 se (HO) tu (MO) 连接
  2. 如果你不是二工大的学生 但是也想用这个的话 你可以在 SSPU_AutoCheck.py 里编写 你的自动打卡程序
  3. 如果你想给妃爱酱自定义更多的 talk 的话 你可以在 continue_Server.py 里的 def talk(self, recv, num): 方法里加入 你想要的 感兴趣content
  4. continue_Server.py 也包含了现有的机器人的命令指令方法 你可以根据你自己的需求来增加或者修改,甚至可以完全自定义成属于你自己的QQ机器人
  5. 如果你觉得使用数据库来进行权限赋予 太麻烦, 你可以将 self.QQ_numself.QQ_numType 直接改成你想要的 QQ和QQ类型,参数详见上方数据库建立的那两个
  6. 如果你是树莓派(或者其他嵌入式处理器)并且想通过QQ实现一些建议的物联网联动,你参考IO控制文件夹 和 已有的开灯关灯命令。

基于 go-cqhttp 开发的 SSPU的QQ机器人小助手相关推荐

  1. 【C51开发应用】基于C51单片机开发的循迹灭火机器人

    基于C51单片机开发的循迹灭火机器人 一.作品摘要 二.系统设计步骤 三.方案设计 3.1   小车主体设计 3.1.1   购买玩具小车进行改装 3.1.2   自己设计小车主体结构 3.2   电 ...

  2. 物联网开发实战:手把手教你开发一款久坐提醒小助手

    大家好,我是机灵鹤. 最近研究开发了一个物联网 IoT 小项目--久坐提醒 / 喝水提醒小助手. 1. 项目介绍 本项目实现了一个久坐提醒和喝水提醒的小助手,在检测到连续工作较长时间之后,会打印纸条, ...

  3. Bwsaas框架基于Thinkphp6.x开发的微信公众号,小程序,app,H5等多端打通的框架

    完善bwsaas框架并开源原生小程序商业版本前端应用 新增 1插件安装升级,安装平台系统插件(type=admin_system)时可同时添加多个角色组(平台系统功能+租户系统功能),需要在group ...

  4. 从0到100: 基于微信云开发的驾校预约学车小程序

    背景 随着机动车逐渐走进寻常百姓家中,学车也随之被人们提上了日程,这使得汽车驾驶培训行业得到迅猛发展.移动互联网技术的广泛应用,使手机约车成为可能,如何合理地分配已有资源,提高资源利用率,增强驾校服务 ...

  5. 基于百度UNIT的微信智能问答聊天机器人小程序

    微信聊天机器人小程序 方法 人人都能拥有的聊天小程序 登录百度ai开放平台,申请百度unit智能聊天机器人,获取ak和sk密钥. 将密钥复制到chat.js对应处即可. 功能 可以进行闲聊,天气查询, ...

  6. JAVA + 酷Q开发人工智能QQ机器人

    原文地址: https://www.i847.cn/article/12.html 偶然机会,团队要开发一个项目异常自动发QQ的功能,于是研究了一下酷Q.因为腾讯不再提供支持,暂时除了酷Q之外的其他的 ...

  7. 开发 mirai QQ机器人起步教程

    前言 虽然该文最终是达到以python开发mirai机器人的目的,但起步教程,尤其是环境配置上仍然有大量的相同操作,对其他编程语言仍有借鉴之处 假设你已经安装好了 Java.Python等运行必须的环 ...

  8. 基于微信云开发的微信小程序之搜索功能的实现

    文章目录 搜索功能的设计 代码逻辑 页面设计 效果展示 搜索功能的设计 功能描述: 该模块主要是基于云开发实现小程序搜的搜索功能.如果搜索框输入为空或直接点击搜索按钮,显示对应弹窗:如果搜索框输入内容 ...

  9. 万字长文保姆级教你制作自己的多功能QQ机器人

    转载请注明出处:小锋学长生活大爆炸(https://xfxuezhang.blog.csdn.net/) 若发现存在部分图片缺失,可以访问原文:万字长文保姆级教你制作自己的多功能QQ机器人 - 小锋学 ...

  10. 第十代晨风机器人_第十代QQ机器人下载_第十代QQ机器人 v20180102 官方版 - 西西下载...

    官方介绍: 第十代QQ机器人是对QQ进行功能扩展的程序,在第十代机器人软件登录QQ号码后可以按照预先设定的一些指令自动完成某些任务,例如与好友进行交流,执行一些数据交互任务,实现QQ与网站的交互,常用 ...

最新文章

  1. iOS 项目中用到的一些开源库和第三方组件
  2. 偏心率e用于描述某一轨道与圆轨道的区别
  3. Chord算法实现具体
  4. 列一下OOP规约,编程的时候共勉!别踏坑!
  5. 彻底理解Python中的yield
  6. python 安卓app开发环境搭建_基于react-native的APP开发环境配置
  7. jQuery Mobile 学习资料
  8. sift计算描述子代码详解_浅谈SIFT特征描述子
  9. ztree 自定义参数_jQuery Ztree基本用法
  10. mysql闪现_css,javascript_点击按钮出现弹窗,弹窗只是闪现了一下,为什么没有一直出现?,css,javascript - phpStudy...
  11. wamp mysql 用户名_wamp的mysql设置用户名和密码
  12. ZBrush中的法线贴图你知道吗?
  13. 小程序发布新版本后,部分用户手机白屏
  14. 为什么中国没有诞生世界流行的编程语言?
  15. 程序员面试需要带身份证和毕业证原件吗
  16. Word排版——毕业论文专业排版5——目录
  17. flume系列之:监控JMX reporter
  18. 程序设计所遵循的一般步骤
  19. 推荐下载Adobe Reader(PDF阅读器)9.0 简体中文版
  20. jsp执行原理(详解)

热门文章

  1. 黑灰产套现城市消费券大揭秘
  2. 贴片电阻封装规格及阻值标注方法
  3. mapgis考试111
  4. Android自定义九宫格图案解锁
  5. github创建仓库以及上传项目到github
  6. 文件系统管理 之 reiserfs文件系统反删除(Undelete)操作的实践
  7. android模拟器 adb 命令,安卓模拟器下 使用ADB命令
  8. 多线程的坑,不要用sleep
  9. oracle最新版本18c的介绍,Oracle Database 18c已经发布及新特性介绍
  10. 淘宝官方订单API接口,商品分类属性