Automate posting and hosting of rounds on /r/picturegame
Project description
Botterino
Botterino allows automation of hosting and posting of /r/picturegame coordinates rounds
When running botterino, if you win a round, your round will automatically be posted. It will reply with 'x' or '+correct' to any comments on your round automatically, with configurable tolerances.
Pre-requisites
- All the files you interact with will live in the botterino-config folder which is located:
- windows:
C:\Users\your username\botterino-config
- mac:
/Users/<your username/botterino-config
- linux:
~/botterino-config
These files are created for you the first time you run the bot
- windows:
- You must have Python installed on your computer
- If on windows it is best to install python from the microsoft store
- Install the bot
- open a terminal or command prompt window and type the following command:
pip install botterino
- open a terminal or command prompt window and type the following command:
- You must create a Reddit app and add authentication details in
botterino-config/praw.ini
; seesample-praw.ini
(on github) for an example- Give app any name you choose, such as 'botterino'
- Choose 'script' as app type
- Fill in 'redirect URI' with
http://localhost:8080
(This is irrelevant unless OAuth2 is used,but it's a required field) - Once created, you'll have a 'secret', copy/paste that as
client_secret
in botterino-config/praw.ini - You'll also have a less obvious client id, in the top left under the app name and the words 'personal use script' - copy/paste that into
client_id
in praw.ini
- Fill out the rest of 'botterino-config/praw.ini' with your Reddit username/password as well as anything you want for
user_agent
Usage
- add round(s) in botterino-config/rounds/rounds.yaml. See sample-rounds.yaml on botterino github page for information on round syntax
- run with
python -m botterino
Normal hosting
Rounds are kept in the 'rounds/rounds.yaml' file, see 'sample.yaml' for some examples
Steps
- Add round(s) to 'botterino-config/rounds/rounds.yaml'
- Open a terminal or command prompt and type
python -m botterino
- Then all you have to do is win. Until you win, botterino will do nothing
- When you win, the top round in rounds.yaml is posted as soon as you are approved to host
Any new rounds added to 'botterino-config/rounds/rounds.yaml' while the app is running will automatically be added to the queue, no need to restart. Once a round is complete, it will be moved to 'botterino-config/rounds/archive.yaml'.
Live rounds
Botterino can be used on a round that is already live
This is useful for cases where
- You post manually and decide you would like bot to host
- Bot posts for you but crashes during hosting for some reason
Steps
- Will use the top round in rounds.yaml
url
field should be omitted
- Run with
python -m botterino.failure
Hints:
Botterino can schedule hints and post them autmoatically.
If the file botterino-config/hints.txt
contains content,
its content will be posted to the currently hosted round as a hint
at the time specified by the user, and then the file is cleared.
Default hint times can be specified
in botterino-config/config.ini
.
The default value is hints=[25,45]
.
The default hint list can be overridden per round by adding the field
hints: [10, 20,30]
as a new field in rounds.yaml.
Hint times are in minutes and are integers.
Hints at hour boundaries do not need to be specified. If the
hint file contains text it will be posted automatically at 60,120,180 etc...
Misc
Customize
Options such as correct message and incorrect message can be customized in botterino-config/config.ini
Update
Update this botterino with
pip install --upgrade botterino
Issues
- Bot does not run, crash message shows 403 error, everything in praw.ini looks correct
- try a different user agent
Colors on windows
This botterino uses colorful output. If you see strange output like this on windows then download Windows terminal from the Microsoft store.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file botterino-0.3.2.tar.gz
.
File metadata
- Download URL: botterino-0.3.2.tar.gz
- Upload date:
- Size: 13.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | db06195473d993bfbc94e93273fcf5d428e7b42853f2d239286b2be800e6cb80 |
|
MD5 | 9ea513e3ea74c53ef6c2bced2f4cc2e6 |
|
BLAKE2b-256 | cde82217fef6997665037966e26f5dbf658cd77563d67ddade3f5e328efe20b9 |
File details
Details for the file botterino-0.3.2-py3-none-any.whl
.
File metadata
- Download URL: botterino-0.3.2-py3-none-any.whl
- Upload date:
- Size: 14.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0119ff8e9f8bd35fb2c604e2177e6976876f6aa39abc2077ee7b54ef821aaf76 |
|
MD5 | bbcd8182af03c7ebd63efb1f88255dcf |
|
BLAKE2b-256 | 45e035df28314bbfc057321ae3b9095fcbfc8d46e1caf987b62c7a39fdc5a358 |