Skip to main content

bot to add live scores to lemmy community for hockey games

Project description

A few things to note currently:

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

lemmy_nhl_bot

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.

Docker image

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 &

Building:

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

Build the .whl

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

Usage:

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!

Run config.py:

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:

Server: Which server the bot will connect to e.g.(https://enterprise.lemmy.ml)

username: account name of the bot (please don't use your normal account for this bot! it's bad practice. Create a bot account instead)

password: Where your password should go

teamID: pick your team number from the options listed e.g.(4 for the Philadelphia Flyers)

Community: name of the community you are posting to

isMod: This bot can't pin posts or run the schedule bot without moderator privileges on the community

bots: select y on the first prompt to enable them all. The bots are:

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

run daemon

Linux:

lemmy_nhl_daemon &

FreeBSD: daemon lemmy_nhl_daemon

Docker: docker run lemmy_nhl (or whatever you named the container image during building)

run draft bot

Unix: lemmy_nhl_draft

See it in action!

To see what the bot can currently do, look here: pinned game, stats, standings

Shared Libraries

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!

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

lemmy_nhl-1.5.11.tar.gz (16.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lemmy_nhl-1.5.11-py3-none-any.whl (17.3 kB view details)

Uploaded Python 3

File details

Details for the file lemmy_nhl-1.5.11.tar.gz.

File metadata

  • Download URL: lemmy_nhl-1.5.11.tar.gz
  • Upload date:
  • Size: 16.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for lemmy_nhl-1.5.11.tar.gz
Algorithm Hash digest
SHA256 0998c6f201d4574764533915e909d8cbdce084a79261d38ff9e3f4dd01195b50
MD5 719bb4303484db950ae11b151b57cccf
BLAKE2b-256 41511a96995045bd04ed0cb4e23cf5c60a23290fcdbe7aeda970e93da8c3e600

See more details on using hashes here.

File details

Details for the file lemmy_nhl-1.5.11-py3-none-any.whl.

File metadata

  • Download URL: lemmy_nhl-1.5.11-py3-none-any.whl
  • Upload date:
  • Size: 17.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for lemmy_nhl-1.5.11-py3-none-any.whl
Algorithm Hash digest
SHA256 8cb2bb34c19bbab95dcc53a7e22fa1853648a8ad563e23958153207682e47f14
MD5 b4eea5eb7c3e23307a8f243e17610a7c
BLAKE2b-256 c6f9748abeb61b9b00515b7ba71ef390d927601e112da14d0f594ce3a9fea881

See more details on using hashes here.

Supported by

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