Skip to content

Releases: Napuu/gpsp-bot

Release 20260606121202

06 Jun 12:14

Choose a tag to compare

Add daymeme scheduler for periodic easter egg posting in active groups.

Wire activity tracking, DuckDB schedule state, and background posting with Discord member count fallback, UTC overlay dates, and graceful shutdown.

Co-authored-by: Cursor <cursoragent@cursor.com>

Release 20260428193249

28 Apr 19:35

Choose a tag to compare

Restore version flags and add CLI argument tests

Fixes a regression where version flags were removed during the doctor command addition.
Adds subprocess-based tests to verify flag handling and usage output.

Release 20260428185732

28 Apr 19:00

Choose a tag to compare

fix: use json_object for video cutting and improve error handling

- Switch Mistral response format from json_schema to json_object to avoid strict validation errors
- Fix mathematical typo in system prompt examples
- Add proper API error checking with resp.IsError() to prevent silent failures

Release 20260427210011

27 Apr 21:02

Choose a tag to compare

Add doctor command for diagnostics and configuration validation

- Implement doctor command to validate bot configuration, external services, and dependencies
- Add doctor handler in internal/doctor/doctor.go with comprehensive checks:
  - Enabled features validation
  - External service token verification (Telegram, Discord, Mistral)
  - Extractor availability (yt-dlp, ffmpeg, playwright)
  - Proxy connectivity tests
  - Directory permissions validation
- Update main.go to support doctor command and improve error handling
- Update AGENTS.md with new doctor command documentation
- Update README.md with doctor command usage and examples

Release 20260426193916

26 Apr 19:41

Choose a tag to compare

Extend stats retention window to 90 days

Release 20260426131822

26 Apr 13:20
508f5f9

Choose a tag to compare

Expand stats emoji mapping beyond plain 👍/👎 (#30)

* Initial plan

* Add more positive and negative emojis to stats emoji mapping

Agent-Logs-Url: https://github.com/Napuu/gpsp-bot/sessions/d03844a2-4ad9-4c40-b409-efb0324edcb2

Co-authored-by: Napuu <15855436+Napuu@users.noreply.github.com>

* Inline emoji literals in switch, remove named constants

Agent-Logs-Url: https://github.com/Napuu/gpsp-bot/sessions/6fa0466a-495a-4286-a908-66c0cfda3cc7

Co-authored-by: Napuu <15855436+Napuu@users.noreply.github.com>

* Use positiveEmojis/negativeEmojis slices instead of switch literals

Agent-Logs-Url: https://github.com/Napuu/gpsp-bot/sessions/8e67eaaf-e8eb-4097-8dfc-4d92ab5298a2

Co-authored-by: Napuu <15855436+Napuu@users.noreply.github.com>

* Add dedicated tests for 🔥 and 🤮 emojis

Agent-Logs-Url: https://github.com/Napuu/gpsp-bot/sessions/559588a1-73f6-4e7b-8767-64570caf736d

Co-authored-by: Napuu <15855436+Napuu@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Napuu <15855436+Napuu@users.noreply.github.com>

Release 20260425142809

25 Apr 14:30

Choose a tag to compare

fix: set Telegram parse mode explicitly per handler and use Markdown …

Release 20260425135539

25 Apr 13:58

Choose a tag to compare

feat: prettier links

Release 20260425132317

25 Apr 13:25
74bc5fe

Choose a tag to compare

feat: use direct platform deep links for stats URLs (#29)

* feat: use direct platform deep links for stats URLs

Modifies the stats handler to generate platform-specific message URLs for the top liked and disliked videos, linking directly to the bot's post in Telegram or Discord instead of using the generic source URL.

* fix: keep stats links on safe fallbacks

Release 20260419095807

19 Apr 10:00

Choose a tag to compare

Add OCR text check to repost detection to reduce false positives

Same video template with different text overlays (meme formats) were
triggering false repost detections. This extracts text from a middle
frame via tesseract, hashes it with SHA-256, and stores the hash
alongside the fingerprint. During comparison, if both videos have
high-confidence OCR text but the hashes differ, the visual match is
overridden. Gracefully degrades when tesseract is not installed.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>