XMU Rollcall Bot CLI - Automated rollcall monitoring and answering for Xiamen University Tronclass
Project description
xmu-rollcall-cli
A command-line tool for monitoring and auto-answering Tronclass rollcalls at Xiamen University.
This project is intended for personal learning and automation convenience. Use it at your own risk and comply with your school's rules.
Features
- Login with XMU unified authentication through
xmulogin - Continuous rollcall polling (1-second interval)
- Automatic handling for:
- Number rollcalls (fetch number code and answer directly)
- Radar rollcalls (location solving)
- Multi-account management in one local config
- Session cookie cache and refresh support
Installation
Install from PyPI:
pip install xmu-rollcall-cli
After installation, these command aliases are available:
xmuxmu-rollcall-cliXMUrollcall-cli
Quick Start
- Configure at least one account:
xmu config
- (Optional) Switch active account:
xmu switch
- Start monitoring:
xmu start
- If session becomes invalid, refresh cookies:
xmu refresh
Commands
xmu config- Add/delete accounts and set current accountxmu switch- Switch the current accountxmu start- Start rollcall monitoring loopxmu refresh- Remove cached cookies for current accountxmu --help- Show help
Configuration
The package stores local data in a .xmu_rollcall directory:
XMU_ROLLCALL_CONFIG_DIR(if set)~/.xmu_rollcall(default)./.xmu_rollcall(fallback when home is not writable)
Main files:
config.json: account list and selected account<account_id>.json: cached cookies per account
Example (custom config directory):
export XMU_ROLLCALL_CONFIG_DIR="$HOME/Documents/.xmu_rollcall"
Limitations
- QR code rollcalls are currently not supported.
- This tool depends on Tronclass/XMU API behavior and may break if upstream endpoints change.
Supported Python Versions
- Python 3.7+
Project Links
- Homepage: https://github.com/KrsMt-0113/XMU-Rollcall-Bot
- Issues: https://github.com/KrsMt-0113/XMU-Rollcall-Bot/issues
License
MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file xmu_rollcall_cli-3.4.1.tar.gz.
File metadata
- Download URL: xmu_rollcall_cli-3.4.1.tar.gz
- Upload date:
- Size: 16.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
83fb89f5fb557aa1ab12d4f0790cd500f5b31cb06cf6c17cfe61a9832b0358da
|
|
| MD5 |
fcbf0da6c6b9a88b297a6e81418b7f1f
|
|
| BLAKE2b-256 |
c3376dbb6b54a60c7d84268b2e72452dd325db9d1db4e806b761f46f6958b8f5
|
Provenance
The following attestation bundles were made for xmu_rollcall_cli-3.4.1.tar.gz:
Publisher:
python-publish.yml on KrsMt-0113/XMU-Rollcall-Bot
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
xmu_rollcall_cli-3.4.1.tar.gz -
Subject digest:
83fb89f5fb557aa1ab12d4f0790cd500f5b31cb06cf6c17cfe61a9832b0358da - Sigstore transparency entry: 1347958650
- Sigstore integration time:
-
Permalink:
KrsMt-0113/XMU-Rollcall-Bot@3e6b6e25a3f3a7d9735aeea6b278df78f4bda91c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/KrsMt-0113
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@3e6b6e25a3f3a7d9735aeea6b278df78f4bda91c -
Trigger Event:
push
-
Statement type:
File details
Details for the file xmu_rollcall_cli-3.4.1-py3-none-any.whl.
File metadata
- Download URL: xmu_rollcall_cli-3.4.1-py3-none-any.whl
- Upload date:
- Size: 17.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7a185932edddd2cbd4caa4295098c94bb146677a24b7b84bbece8926762d5347
|
|
| MD5 |
b2ebd06bea5a1990eaddd0ce68d0fcfe
|
|
| BLAKE2b-256 |
48ef5fcca37093da41ba1c225b3e7467753dcb2ce184b3b3016cebc814589482
|
Provenance
The following attestation bundles were made for xmu_rollcall_cli-3.4.1-py3-none-any.whl:
Publisher:
python-publish.yml on KrsMt-0113/XMU-Rollcall-Bot
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
xmu_rollcall_cli-3.4.1-py3-none-any.whl -
Subject digest:
7a185932edddd2cbd4caa4295098c94bb146677a24b7b84bbece8926762d5347 - Sigstore transparency entry: 1347958656
- Sigstore integration time:
-
Permalink:
KrsMt-0113/XMU-Rollcall-Bot@3e6b6e25a3f3a7d9735aeea6b278df78f4bda91c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/KrsMt-0113
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@3e6b6e25a3f3a7d9735aeea6b278df78f4bda91c -
Trigger Event:
push
-
Statement type: