Skip to main content

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:

  • xmu
  • xmu-rollcall-cli
  • XMUrollcall-cli

Quick Start

  1. Configure at least one account:
xmu config
  1. (Optional) Switch active account:
xmu switch
  1. Start monitoring:
xmu start
  1. If session becomes invalid, refresh cookies:
xmu refresh

Commands

  • xmu config - Add/delete accounts and set current account
  • xmu switch - Switch the current account
  • xmu start - Start rollcall monitoring loop
  • xmu refresh - Remove cached cookies for current account
  • xmu --help - Show help

Configuration

The package stores local data in a .xmu_rollcall directory:

  1. XMU_ROLLCALL_CONFIG_DIR (if set)
  2. ~/.xmu_rollcall (default)
  3. ./.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

License

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xmu_rollcall_cli-3.4.0.tar.gz (16.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

xmu_rollcall_cli-3.4.0-py3-none-any.whl (17.1 kB view details)

Uploaded Python 3

File details

Details for the file xmu_rollcall_cli-3.4.0.tar.gz.

File metadata

  • Download URL: xmu_rollcall_cli-3.4.0.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

Hashes for xmu_rollcall_cli-3.4.0.tar.gz
Algorithm Hash digest
SHA256 2afcee563da5481cb481d8e78ac7cb5da5f2e969381700ac371780144633d9f9
MD5 7ed18821851e509a5b63b1beac700a68
BLAKE2b-256 b4582f759b18de471efe20a574e85da789bfc0039e688ec30030fbdeff4805de

See more details on using hashes here.

Provenance

The following attestation bundles were made for xmu_rollcall_cli-3.4.0.tar.gz:

Publisher: python-publish.yml on KrsMt-0113/XMU-Rollcall-Bot

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file xmu_rollcall_cli-3.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for xmu_rollcall_cli-3.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6561c3c19965bee5d181fd9c54c23fcc461d8ca0d14ee5587dc20b0502f19db9
MD5 937e45952511e4855dd758a4f2e56a2d
BLAKE2b-256 c2ada94ba89fa8ef2f19787e59b5d5d8ab57cc0e44a42f171a17e2ae30da4419

See more details on using hashes here.

Provenance

The following attestation bundles were made for xmu_rollcall_cli-3.4.0-py3-none-any.whl:

Publisher: python-publish.yml on KrsMt-0113/XMU-Rollcall-Bot

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page