Skip to main content

A program that will ring any set of bells in Ringing Room.

Project description

Wheatley

A bot for Ringing Room that can fill in any set of bells to increase the scope of potential practices.

Wheatley is designed to be a 'ninja helper with no ego'.

He'll ring all unassigned bells perfectly whilst fitting in with whatever you are doing, adjusting to your changes in rhythm. He'll also never try to take control of the ringing by giving instructions or powering on with a different rhythm to everyone else (unless you tell him to). However, by default he'll adjust only to changes to overall rhythm – ignoring individual bells holding up and ringing in the 'right' place regardless.

Only one ringer needs to run the command and Wheatley will ring with you after anyone calls Look to in Ringing Room. He understands all Ringing Room calls – Go, Look to, That's all and Stand next will take effect the handstroke after they are called, and Bob and Single will result in 14 and 1234 lead end calls.

Notable features

  • Configurable rhythm detection that updates in real time
  • Automatic correction for Ringing Room using multiple server URLs for load balancing
  • Very light resource footprint, as Wheatley doesn't interact with a browser to communicate with Ringing Room

Contributing

Contributions are very welcome! See here for guidance.

If you have any issues/suggestions, either make an issue, or drop me a message on Facebook.

Quickstart

Installation (using Pip)

  1. Run the following command to install or update to the latest version of Wheatley:

    pip install --upgrade wheatley
    
  2. Pick an example below to run Wheatley!

Examples

Run the bot with wheatley [ARGS].

  • Join a ringingroom.com tower with (9 digit) ID [ID NUMBER] and ring Plain Bob Major (tower bell style – wait for Go and That's all):

    wheatley [ID NUMBER] --method "Plain Bob Major"
    
  • Ring 'up, down and in' rather than waiting for 'go':

    wheatley --up-down-in --id [ID NUMBER] --method "Plain Bob Major"
    # or
    wheatley [ID NUMBER] -u --method "Plain Bob Major"
    
  • Ring full handbell style, i.e. 'up, down and in' and standing at rounds (-H is equivalent to -us):

    wheatley [ID NUMBER] --up-down-in --stop-at-rounds --method "Plain Bob Major"
    # or
    wheatley [ID NUMBER] -us --method "Plain Bob Major"
    # or
    wheatley [ID NUMBER] -H --method "Plain Bob Major"
    
  • Join a server other than ringingroom.com:

    wheatley [ID NUMBER] --url otherserver.com --method [METHOD TITLE]
    
  • Ring rows taken from a (public) composition from complib.org, in this case https://complib.org/composition/65034:

    wheatley [ID NUMBER] --comp 65034
    
  • Ring at a peal speed of 3 hours 30 minutes (i.e. quite slowly):

    wheatley [ID NUMBER] --peal-speed 3h30
    # or
    wheatley [ID NUMBER] -S 3h30
    
  • Wait for people to ring rather than pushing on with the rhythm:

    wheatley [ID NUMBER] --method "Plain Bob Major" --wait
    
  • Completely ignore other users' changes in rhythm (useful if it's ringing most of the bells and you don't want him to randomly change speed when you make mistakes):

    wheatley [ID NUMBER] --method "Plain Bob Major" --inertia 1.0
    # or
    wheatley [ID NUMBER] --method "Plain Bob Major" -i 1.0
    
  • Print a nice help string:

    wheatley --help
    # or
    wheatley -h
    

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

wheatley-0.1.2.tar.gz (24.2 kB view details)

Uploaded Source

Built Distribution

wheatley-0.1.2-py3-none-any.whl (31.1 kB view details)

Uploaded Python 3

File details

Details for the file wheatley-0.1.2.tar.gz.

File metadata

  • Download URL: wheatley-0.1.2.tar.gz
  • Upload date:
  • Size: 24.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.8.5

File hashes

Hashes for wheatley-0.1.2.tar.gz
Algorithm Hash digest
SHA256 f4725c4386db683bacfe574d73fca396c347eef50ed236b7f95b2be213e301dd
MD5 304370555c95abf0b99570795b8c2ace
BLAKE2b-256 aaff9422da73f065317c634d76794e998a65e7c02230dd3fe45bbec305e4c755

See more details on using hashes here.

File details

Details for the file wheatley-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: wheatley-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 31.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.8.5

File hashes

Hashes for wheatley-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 aacde737227d643d99f0bef09e8b43a8a4b0549655ea01d7fe31364bd4fcc8a1
MD5 7871633a49ffb67b84701b0975ac697a
BLAKE2b-256 bd8581ff851f3c47a38c09f7ac1f44c8a77a513ceb26c745367c6126a73a5777

See more details on using hashes here.

Supported by

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