A bot for Ringing Room that can fill in any set of bells to increase the scope of potential practices, designed to be a 'ninja helper with no ego'.
If you just want to use Wheatley for normal ringing without caring about how it works, then check out how to use Wheatley directly inside Ringing Room - no installation required, just a flick of a switch. If you want more control than the Ringing Room interface provides or are interested in how Wheatley works, then this is the place to go. This repository contains Wheatley's source code, and documentation of the 'classic' command line version.
Contributions are very welcome! To keep this readme short, all contribution info is in CONTRIBUTING.md. If you have any issues/suggestions, either make an issue, or drop me a message on Facebook.
(This quickstart refers to the command-line Wheatley, not the integrated version). Also, if
anything here doesn't work or is confusing, please let us know. For help with what parameters
Wheatley has and what they do, run wheatley --help
.
Installation is very platform specific, so I've split this by OS.
Command Prompt
application. This creates a
black window, into which you can type and then run commands (including Wheatley).py --version
and then pressing enter. If all is well, this will print a
version string - otherwise something has gone wrong.Instructions should be here.
Almost all Linux distros come with Python installed, so this step can probably be skipped.
Once Python is installed, installing Wheatley should be done through Python's package manager pip
.
The exact commands vary from system to system (and I can't keep track of them all), but one of the
following should work:
# Should work on Windows
py -m pip install --upgrade wheatley
# Should work on MacOS and Linux
python3 -m pip install --upgrade wheatley
NOTE: The name of the Wheatley command will sometimes vary. If you're getting errors like
'wheatley not found', then try replacing the wheatley
prefix with py -m wheatley
(Windows) or
python3 -m wheatley
(MacOS/Linux). So therefore, a complete command would look like:
py -m wheatley [ID NUMBER] --method "Plain Bob Major"
# or
python3 -m wheatley [ID NUMBER] --method "Plain Bob Major"
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 and make calls taken from a composition from complib.org, in this case https://complib.org/composition/65034:
wheatley [ID NUMBER] --comp 65034
Ring rows but don't send the calls to Ringing Room taken from a composition from complib.org, in this case https://complib.org/composition/65034:
wheatley [ID NUMBER] --comp 65034 --no-calls
Ring compositions with substituted methods by copying the id and query string or full url from complib.org):
wheatley [ID NUMBER] --comp 68549?substitutedmethodid=28000
# or
wheatley [ID NUMBER] --comp https://complib.org/composition/68549?substitutedmethodid=28000
Ring private compositions by copying the share link from complib.org:
wheatley [ID NUMBER] --comp 51155?accessKey=9e1fcd2b11435552cf236be93c7ff73058870995
# or
wheatley [ID NUMBER] --comp https://complib.org/composition/51155?accessKey=9e1fcd2b11435552cf236be93c7ff73058870995
Combine method substitution and private composition
wheatley [ID NUMBER] --comp 51155?substitutedmethodid=27600&accessKey=9e1fcd2b11435552cf236be93c7ff73058870995
Ring rows specified by place notation, in this case Plain Bob Minor:
wheatley [ID NUMBER] --place-notation 6:x16x16x16,12
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
Start from a different row
wheatley [ID NUMBER] --method [METHOD TITLE] --start-row 13572468