jerpint / jerpint/woltspace

Add option to disable Telegram notifications for wolf crons and vulture

Open
#237 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
12
Forks
1
Avg merge
7h 13m
Merged PRs (30d)
31

Description

Problem

Wolf cron notifications (🐺) and vulture session-cleanup notifications (🦅) are sent to Telegram on every cron run and every session reap. There's no way to disable or mute them without editing platform code.

For labs running 10+ crons (keepalive every 10 min, daily scrapes, weekly builds, nudges, recaps), this floods the Telegram chat with system noise.

Proposed solution

Add a per-cron "silent": true option in wolf.json and a global env var DISABLE_WOLF_NOTIFY=true to suppress Telegram notifications.

Per-cron (wolf.json):

{
  "name": "apps-keepalive",
  "schedule": "*/10 * * * *",
  "action": "script",
  "command": "bash /workspace/wolts/LabRat/wolt/tools/apps-keepalive.sh",
  "silent": true
}

Global (env var):

DISABLE_WOLF_NOTIFY=true    # mutes all wolf cron notifications
DISABLE_VULTURE_NOTIFY=true # mutes all vulture cleanup notifications

Where the code lives

  • creatures/wolf.pysend_wolf_notify() at line ~233, called at lines 305, 347, 393
  • creatures/vulture.py_send_notify() at line ~49
  • server/notify.pysend_notification() is the shared endpoint

Workaround

None clean — notifications are hardcoded. Would need to either unset TELEGRAM_ALLOWED_USERS (breaks all notifications) or edit platform code directly.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in creatures/wolf.py at send_wolf_notify() and its calls around lines 305, 347, and 393, then inspect creatures/vulture.py at _send_notify() and the shared server/notify.py endpoint. Trace how wolf.json options and environment variables are read. Done means per-cron silent and the two global notification variables suppress the specified Telegram messages without disabling unrelated notifications.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend, devops
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
72/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.