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 (4-digit code brute-force)
    • 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.1.9.tar.gz (16.3 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.1.9-py3-none-any.whl (17.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: xmu_rollcall_cli-3.1.9.tar.gz
  • Upload date:
  • Size: 16.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for xmu_rollcall_cli-3.1.9.tar.gz
Algorithm Hash digest
SHA256 1445fdf9b6c149b833f71c713b86c4974748de53a53b7ee625abde8afbe7b3a3
MD5 be1640e708b6b637fd97e0c7897f859b
BLAKE2b-256 7c7b02a87cc51e9677d237771ee64b914b9759fe053179dba1f0a3a5445f4c8a

See more details on using hashes here.

Provenance

The following attestation bundles were made for xmu_rollcall_cli-3.1.9.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.1.9-py3-none-any.whl.

File metadata

File hashes

Hashes for xmu_rollcall_cli-3.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 623a7c0994bd47589b3ee9a69e656a1446c9953bf9f2c274ee83ad1b2ea23da0
MD5 b0e2081955d6b72257263613c0f98778
BLAKE2b-256 38a571fe964537184e5987b4a73d6868a90f10d8e2678a721c823332ece202c8

See more details on using hashes here.

Provenance

The following attestation bundles were made for xmu_rollcall_cli-3.1.9-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