Without modifying files, there is currently no way to test this. I've tested that it works with old data, and will be testing/ fixing whatever needs it during the first preseason game of the Flyers (or earlier if someone reports an issue before this).
nhl linescore grabber/poster for lemmy. This app is meant to be run in the background to routinely add scores, standings, and team stats to a lemmy community focusing on a specific hockey team (standings are league wide, as is the draft function). After being configured, the main app is run in the background. It will check weekly for an updated schedule. Once per week (currently set to Sunday), it will post an updated League-wide standings page, and an updated team stats page. Once game days, it will start automatically at game time, and post scores and time updates every five seconds.
There is a branch of this repo to aid in building a Docker image. To build and install with docker:
Download the following to a directory: (these are available on the release page beginning with 1.5.1) Dockerfile config.py
run:
python3 config.py
docker build -t lemmy_nhl_bot .
docker run lemmy_nhl_bot &
This script requires the following to be installed from pip: plemmy, requests, json, build
pip install plemmy >= 0.3.0 source is https://github.com/tjkessler/plemmy/ Many thanks for tjkessler for the simple to use library!
pip install requests
pip install json
pip install build
git clone https://github.com/socphoenix/lemmy_nhl_bot.git
cd lemmy_nhl_bot
git checkout dev
Linux (FreeBSD use python3.9): python3 -m build . --wheel
cd dist
pip install lemmy_nhl-2.0.0-py3-none-any.whl
Before starting lemmy_nhl_daemon, please make sure to run config.py! It is needed to save your login token and teamID/community Name. Without these the script will not work!
Linux: lemmy_nhl_config
FreeBSD: lemmy_nhl_config ##This requires path set. for sh (default shell): "PATH=${PATH}:/home/'put user here'/.local/bin" "export PATH" (as an interesting note, python seems to only add the path to the root user during install)
Configuration Options:
- stats: post a selection of stats from your selected team once per week (Sunday)
- standings: post league-wide standings to the community once per week (Sunday)
- schedule: Every Sunday update the sidebar with the next weeks games (note this assumes it can cut and replace anything
that comes after a "*** " mark on the sidebar. It will preserve everything before that like community rules)
- linescore: This will check for a game in progress every 5 minutes, and then create/pin a post to the community
that displays time left, goals broken up by period, shots on goal broken up by period, if a team is on the powerplay,
any video highlights the api will give, and after the game adds a recap to the game post before unpinning the post.
** note on bots. Current version will check and only start/run stats/standings beginning in October.
Linux:
lemmy_nhl_daemon &
FreeBSD: daemon lemmy_nhl_daemon
Docker: docker run lemmy_nhl (or whatever you named the container image during building)
Unix: lemmy_nhl_draft
To see what the bot can currently do, look here: pinned game, stats, standings
This uses the Plemmy library, which is also released under the Apache 2.0 license. Many thanks to tjkessler for the simple to use library!