chaoxing-assistant

1.0.2 • Public • Published

超星助手

自动签到超星学习通网课,自动检查任务点、作业变动,并HTTP上报通知,支持多用户。

快速上手

  1. 环境准备:安装Node.js,然后进入命令行
  2. 克隆源码:git clone https://github.com/snomiao/chaoxing-assistant.js
  3. 进入目录:cd chaoxing-assistant.js
  4. 安装本包:npm install
  5. 配置用户:复制 config_demo.yaml, 改名为 config.yaml然后根据你的需求替换文件内相应字段。
学生列表:
  - 账号: '' # 手机号
    密码: '' # 密码
    # Server酱推送(推荐)
    报告地址: https://sc.ftqq.com/SCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.send?text=%s&desp=%s

点击这里 首页 | Server酱 领取一个SCKEY,然后把上面的 SCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 换成你拿到的 SCKEY 就可以了

  1. 运行程序:node ./

如果不出意外的话,应该能看到像下面这样子的输出

雪星喵:零基础入门雪星工具箱第12次作业待批阅,手势签到成功✅、签到成功✅。
  1. 测试通过后,就可以考虑部署自动签到

源码安装

  1. 环境准备: 安装Node.js
  2. 克隆源码: git clone https://github.com/snomiao/chaoxing-assistant.js && cd chaoxing-assistant.js
  3. 配置用户:复制 config_demo.yaml, 改名为 config.yaml然后根据你的需求替换文件内相应字段。
  4. 然后运行:npm install && node ./

配置文件说明

复制 config_demo.yaml, 改名为 config.yaml

进阶配置

学生列表:
  - 昵称: '雪星喵' 可选,你在推送消息里的称呼
    账号: '' # 手机号
    密码: '' # 密码
    报告地址:
      # Server酱推送(推荐)
      - https://sc.ftqq.com/SCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.send?text=%s&desp=%s

      # QQ消息推送
      - https://your.domain.com:5700/send_msg?access_token=XXXXXXXXXXXXXXXXX&user_id=${你的QQ号}&message=【小雪喵】%s
      # QQ群推送
      - https://your.domain.com:5700/send_msg?access_token=XXXXXXXXXXXXXXXXX&group_id=${你的QQ号}&message=【小雪喵】%s
      # TG Bot 私聊推送
      - https://api.telegram.org/botXXXXXXXXXX:XXX_XXXXXXXXXXXXXXXXXXXXXXXXXX-XXX/sendMessage?chat_id=${BOT和你聊天的ID}&text=%s
      # ……
  - 昵称: '米酱' 可选,你在推送消息里的称呼
    账号: '' # 手机号
    密码: '' # 密码

上报地址讲解

除了Server酱之外,也可以使用其它的 HTTP 推送服务,例如CQHTTP、TGBOT等,请见下方详细解释。

Server酱 微信小程序推送 (新手推荐)

https://sc.ftqq.com/SCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.send?text=%s&desp=%s

点击这里 首页 | Server酱 领取一个SCKEY,只需要把里面的SCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 换成你拿到的 SCKEY 就可以了

CQHTTP(QQ机器人)

CoolQ HTTP 上报地址如下

http://stu.snomiao.com:5700/send_msg?access_token=XXXXXXXXXXXXXXXXXXXXXXXX&group_id=769584362&message=【小雪喵】%s

架设方法见 首页 - CoolQ HTTP API 插件

电报机器人(Telegram机器人)

一个典型的电报机器人的上报地址如下

https://api.telegram.org/bot$$$$$$$$$$:xxx_xxxxxxxxxxxxxxxxxxxxxxxxxx-xxx/sendMessage?chat_id=${BOT和你聊天的ID}&text=%s

其中 $$$$$$$$$$ 是你的 bot ID,xxx_xxxxxxxxxxxxxxxxxxxxxxxxxx-xxx 是你的访问令牌,chat_id=${BOT和你聊天的ID} 在对 Bot 发送 /start 之后可以通过 API 看到

详细说明请见 教程|Telegram Bot 搭建 - 知乎

部署自动签到

比如……每天 8点到17点,每隔 7 分钟自动运行一次(签到啦检查作业啦之类)

Linux

  1. 终端输入 crontab -e 然后添加这行 */7 08-17 * * * /bin/bash /${你的项目路径}/launch.sh

Windows

  1. 开始菜单 - 运行 - 输入 taskschd.msc 回车,打开任务计划管理器
  2. 然后图形化界面,添加本目录下的 chaoxing-assistant.bat 就可以了

二次开发

见包内 test.js 测试用例

const {
    学生登录有效检查,
    学生登录,
    学生基本资料填充,
    学生课程表填充,
    学生网课巡视,
} = require('./chaoxing-assistant.js')

!module.parent && (async () => {
    // var 学生 = Object.values(缓存.学生表)[1]
    var 学生 = { 账号: '...', 密码: '...' }
    // 学生登录
    var re = await 学生登录有效检查(学生)
    console.assert(re === false);
    var re = await 学生登录(学生)
    console.assert(re === "登录成功") // 填入 { 'Cookie': ... }
    var re = await 学生登录有效检查(学生)
    console.assert(re === true);
    var re = await 学生登录(学生)
    console.assert(re === "登录有效");
    // 学生昵称填充、学生基本资料填充
    var re = await 学生基本资料填充(学生) // 填入 { '性别': '女', '学号': 'xxxxxxxxxx', 't基本资料': 1588xxxxx5754 }
    console.assert(re === "基本资料刷新");
    var re = await 学生基本资料填充(学生)
    console.assert(re === "基本资料有效");
    // 学生课程表填充
    var re = await 学生课程表填充(学生) // 填入 { '课程表': { "xxxx": { '名称':  'xxx', ...}, ...} }
    console.assert(re === "课程表刷新");
    var re = await 学生课程表填充(学生)
    console.assert(re === "课程表有效");
    // 对签到任务签到, 对学生课程签到, 学生课程任务检查, 向学生报告,学生网课巡视
    var re = await 学生网课巡视(学生)
    // 输出概况信息
    console.log(学生);
})().then(console.log()).catch(console.error)

关于

免责声明

请自行脑补滥用代码被超星封号后被学校找麻烦哭诉无门的场景(/doge 🐶)

版权信息

作者:雪星(snomiao@gmail.com) 版权协议:GPLv3

技术交流

技术交流群: 1067970377

Readme

Keywords

none

Package Sidebar

Install

npm i chaoxing-assistant

Weekly Downloads

1

Version

1.0.2

License

GPLv3

Unpacked Size

60.7 kB

Total Files

7

Last publish

Collaborators

  • snomiao