Skip to main content

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

Project description

Wheatley

PyPI version Tests and Linting

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).

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 (unless otherwise specified).

Notable features

  • Configurable rhythm detection that updates in real time
  • Holding up over people when they hesitate
  • 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

Wheatley needs a working Python3 environment - see the Windows simple setup guide for help.

Installation (using Pip)

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

pip install --upgrade wheatley

Examples

Pick an example below to run Wheatley!

For help with what parameters Wheatley has and what they do, type wheatley --help.

  • 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 [ID NUMBER] --use-up-down-in --method [METHOD TITLE]
    # or
    wheatley [ID NUMBER] -u --method [METHOD TITLE]
    
  • Ring full handbell style, i.e. 'up, down and in' and standing at rounds (-H is equivalent to -us):

    wheatley [ID NUMBER] --use-up-down-in --stop-at-rounds --method [METHOD TITLE]
    # or
    wheatley [ID NUMBER] -us --method [METHOD TITLE]
    # or
    wheatley [ID NUMBER] -H --method [METHOD TITLE]
    
  • Join a server other than ringingroom.com:

    wheatley [ID NUMBER] --url otherwebsite.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] --method [METHOD TITLE] --peal-speed 3h30
    # or
    wheatley [ID NUMBER] --method [METHOD TITLE] -S 3h30
    
  • Make Wheatley push on with the rhythm rather than waiting for people to ring.

    wheatley [ID NUMBER] --method [METHOD TITLE] --keep-going
    # or
    wheatley [ID NUMBER] --method [METHOD TITLE] -k
    
  • Completely ignore other users' changes in rhythm (useful if he's ringing most of the bells and you don't want him to randomly change speed when you make mistakes):

    wheatley [ID NUMBER] --method [METHOD TITLE] --inertia 1.0
    # or
    wheatley [ID NUMBER] --method [METHOD TITLE] -I 1.0
    

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.6.0.tar.gz (45.7 kB view details)

Uploaded Source

Built Distribution

wheatley-0.6.0-py3-none-any.whl (58.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: wheatley-0.6.0.tar.gz
  • Upload date:
  • Size: 45.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.8.0 pkginfo/1.7.0 requests/2.24.0 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.5

File hashes

Hashes for wheatley-0.6.0.tar.gz
Algorithm Hash digest
SHA256 ec4c4dcdaa917e5410af29332a99160d80062a3e7151b9d809e0a3e64dc760f3
MD5 b8d795243742bee4b8f577bdb541f300
BLAKE2b-256 f7220f9419718cb74d9c737e68f4432cf0f3ee4548e33f408ec7d6634a3ea0c0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: wheatley-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 58.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.8.0 pkginfo/1.7.0 requests/2.24.0 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.5

File hashes

Hashes for wheatley-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e64c8206cec12ff0168422bb0d000df26381b3855d9940545ad608d5d9524c58
MD5 c5d36938dd203bd67e907c835784ee7f
BLAKE2b-256 2d3bbac479c44d60b0c240fe73be642a0426de875f50ffed85a0d412ea866c45

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