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.1.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.1-py3-none-any.whl (17.1 kB view details)

Uploaded Python 3

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

Hashes for xmu_rollcall_cli-3.4.1.tar.gz
Algorithm Hash digest
SHA256 83fb89f5fb557aa1ab12d4f0790cd500f5b31cb06cf6c17cfe61a9832b0358da
MD5 fcbf0da6c6b9a88b297a6e81418b7f1f
BLAKE2b-256 c3376dbb6b54a60c7d84268b2e72452dd325db9d1db4e806b761f46f6958b8f5

See more details on using hashes here.

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

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.1-py3-none-any.whl.

File metadata

File hashes

Hashes for xmu_rollcall_cli-3.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7a185932edddd2cbd4caa4295098c94bb146677a24b7b84bbece8926762d5347
MD5 b2ebd06bea5a1990eaddd0ce68d0fcfe
BLAKE2b-256 48ef5fcca37093da41ba1c225b3e7467753dcb2ce184b3b3016cebc814589482

See more details on using hashes here.

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

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