# 微助教签到 **Repository Path**: liu-canmin/micro-assistant-sign-in ## Basic Information - **Project Name**: 微助教签到 - **Description**: 微助教签到(支持普通/GPS/二维码) - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 2 - **Created**: 2023-03-20 - **Last Updated**: 2026-03-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

Welcome to yatm 👋

License: MIT

> yet another teachermate helper ## Features - Multi-mode sign-in support: normal, GPS and QR code. - Automatically sign in **WITHOUT any assistance** from your classmates - System-level notification support (test on windows 10 & macOS & gnome) - Active development - Docker support Incoming! ## Install Simply download the latest release. or you can build on your own. ```sh yarn install yarn build ``` ## Configuration Create a `config.json` fisrt: ```bash cp sample.config.json config.json ``` **Then edit it:** ```javascript { "interval": 10000, // 签到检测轮询间隔,单位 ms "wait": 5000, // 检测到签到后等待时长,单位 ms // 用于 GPS 签到(大概是 Google 坐标) "lat": 30.511227, // 纬度 "lon": 114.41021, // 经度 //剪贴板指令 "clipboard": { // 读写剪贴板的 CLI command "paste": "pbpaste", // 若不为空,则优先尝试从剪贴板获取 openId "copy": "echo {} | pbcopy", // qr.mode == "copy" 时启用,{} 为占位符 }, "qr": { // 用于二维码签到 // 模式 // terminal: 终端打印二维码,微信扫码 // plain: 终端打印签到URL,微信打开 // copy:同 plain,并复制到剪贴板 "mode": "terminal", } "ua": "" // 建议使用自己的微信 UA } ``` ## Usage ### Get your `openId` Get your `openId` from WeChat official account `微助教服务号`. [How?](./docs/AcquireOpenID.md) **Notice that `openId` will expire after thousands of requests or another entrace from WeChat.** ### Run the script Run the script, then paste your `openId` into console: ```sh yarn start ``` or with environments: ```sh env OPEN_ID=${your openId} yarn start ``` For normal & GPS sign-in, the process is automatic. You don't need to care about anything. If the `openId` is expired or invaild, you'll get a notification :) ### For QR Code sign-in Due to the limitation of WeChat API, things are quite different for QR code sign-in. The script will subscribe the sign-in URL generated by teachermate's server, and print its corresponding QR code to the console when it updates. You're expected to scan the QR code **manually via WeChat** from your console. Attention that **the script WILL EXIT INSTANTLY when success, because a QR scan via WeChat will causes the update of `openId`. You have to reacquire your new `openId` and run this script again!** ### *Experimental* Devtools Protocol Due to the limitation of WeChat API, the following WeChat-related processes can't be simulated: * generate new `openId` * simulate the QR scanning However, [Devtools Protocol](https://chromedevtools.github.io/devtools-protocol/) can help automatize the whole thing. Check [this](./docs/DevtoolsProtocol.md) for more details. ## Author 👤 **maniacata** - Website: http://blog.plus1sec.cn - Github: [@ManiaciaChao](https://github.com/ManiaciaChao) ## Show your support Give a ⭐️ if this project helped you! --- _This README was generated with ❤️ by [readme-md-generator](https://github.com/kefranabg/readme-md-generator)_