Commit Graph
100 Commits
Author SHA1 Message Date
esef 5faf305ea5 Delete TGBRIDGE.md 2026-09-09 11:37:46 +03:00
esef 89bf238b0e test #2 2026-09-09 11:26:27 +03:00
esef 0b5ba6511e better compression for GIFs 2026-09-09 10:19:09 +03:00
esefandClaude Opus 5 eac6dbda3a tgbridge: rework both directions — avatars, stickers, replies, edits
fixes that were dropping messages:
- d->tg sent parse_mode=Markdown with an unescaped body, so any message
  with a stray * _ ` or [ got a 400 from telegram and vanished. now html
  with proper escaping + a plain-text retry
- no allowed_mentions on webhook posts, so telegram could @everyone
- forwarder.start() ran from on_ready, which fires again on every gateway
  reconnect -> second poller on the same token -> 409s and dupes
- document.mime_type is nullable and was called directly
- sticker finally block hit UnboundLocalError when mkstemp raised
- ffmpeg timeouts leaked temp files and orphaned the process

stickers, per format instead of one blanket gif convert:
- static .webp now passes through (the gif convert crushed 228 alpha
  levels to 2 and made the file 4x bigger)
- video .webm -> animated webp, keeps 8-bit alpha, ~7x smaller than gif.
  needs -c:v libvpx-vp9 before -i or ffmpeg silently drops the alpha
- .tgs is gzipped lottie, ffmpeg exits 183 on it and we were uploading
  the raw file. renders via optional lottie lib, else thumbnail + emoji

added: telegram profile photos as webhook avatars (re-hosted in a private
channel, AVATAR_CACHE_CHANNEL_ID), reply threading both ways, edit sync
both ways, delete sync d->tg, album batching, voice/poll/location/contact/
dice/forward attribution, utf-16-safe entity conversion, mention and custom
emoji resolution, message splitting instead of truncation, shared aiohttp
session with 429 backoff, route discovery from env, !bridge status

main.py just loads the extension now; routes come from credentials.env

Co-Authored-By: Claude Opus 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RXrxDFpyq3VjvxWGuW3CZe
2026-09-07 12:19:18 +03:00
esef f6ba74394f new ai 2026-08-16 01:47:06 +03:00
esef 2ce4a2a263 yems 2026-08-16 01:19:11 +03:00
esef d405b23f04 fix: _cache_ready.set() in finally so commands dont hang on banner fetch failure 2026-08-03 20:47:13 +03:00
esef 23258f0c4b fuck 2026-08-03 20:29:42 +03:00
esef 3ef57f85fe gacha_renderer: font caching, threaded bg/png, spark_target; gacha: file i/o out of lock; paths from pkg root 2026-08-03 20:08:27 +03:00
esef 30efb9105f rollback checkpoint: hardened gacha, disabled ffmpeg, deleted rio, async db 2026-08-03 20:05:45 +03:00
esef 05c0599d1c drop gensokyo api poller, use standard icy metadata instead 2026-07-25 13:26:09 +03:00
esef b1e06a4cec Update timestamp command to use '!time' 2026-07-25 13:17:28 +03:00
esef 66f9eb774c add bucketlist access control, drop credential hashing, gitignore radio_check 2026-07-25 13:10:00 +03:00
esef d1536666f7 radio: add Gensokyo Radio API poller for rich now-playing embeds 2026-07-25 12:57:39 +03:00
esef 3d2d19b0b7 radio: update The Jazz Groove URL (migrated to radiomast.io), add to ICY supported list 2026-07-25 12:39:02 +03:00
esef 82d07eac3d remove dead country_autocomplete function from tz_data 2026-07-23 23:47:23 +03:00
esef b51967dc9b fix timestamp_friends: ignore ordinal suffixes (st/nd/rd/th) in bare-hour regex 2026-07-23 23:45:04 +03:00
esef c485c4f6bf shortenecd ocmmmnand 2026-07-23 23:38:40 +03:00
esef 89d7f4289f "/" prefix bad "!" prefix good 2026-07-23 21:49:14 +03:00
esef 7c2fd2a1ac clean up firebase_website: offload cpu_percent to thread, cache fastfetch, fix regex, drop processes 2026-07-22 22:21:23 +03:00
esef ab3265667c remove dead _all_formats helper, fix docstring 2026-07-22 19:44:32 +03:00
esef 4bb4fec2c5 gitignore: add _get_id.py and AGENTS.md, untrack AGENTS.md 2026-07-22 19:28:04 +03:00
esef 09f69e1c83 simplify /timestamp to single Long Date+Time output, fix timestamp_friends HAS_DATEPARSER NameError 2026-07-22 18:26:03 +03:00
esef bf4ea13d4b bucketlist feature added 2026-07-20 23:16:25 +03:00
esef 14926aa77b Merge branch 'main' of https://github.com/esefxdz/discordbot 2026-07-20 22:22:56 +03:00
esef 16cef19077 trigger removal: no longer needed 2026-07-20 22:22:39 +03:00
esef bce4d268a5 Remove 'archive' extension from bot loading
Removed loading of the 'archive' extension from the bot.
2026-07-20 22:19:43 +03:00
esef 8ec13d9c13 Delete cogs/archive.py 2026-07-20 22:19:16 +03:00
esef bbee62f2d9 fix timestamp_friends: normalize N am/pm, fix 3:00 double-colon, AM fallback when PM past 2026-07-20 22:15:45 +03:00
esef 697012963a simplify timestamp_friends: single tag reply, bare hour fallback, shared utils in tz_data 2026-07-20 21:54:40 +03:00
esef 7018366068 new timestamp feature and make tz data shared across cogs that need it 2026-07-20 21:18:43 +03:00
esef 7d754367ae add timeouts to tg download, fix ffprobe tempfile leak 2026-07-18 13:57:29 +03:00
esef 5e69d316db forwarder polish 2026-07-18 13:53:58 +03:00
esef e11d712ba0 disable twitter bridge, fix rss stale-feed duplicate spam 2026-07-18 13:34:19 +03:00
esef ff8696850f add calendar link to booking confirmation, add !koharu command 2026-07-17 13:35:05 +03:00
esef 300f2fa8f0 harden twitter rss forwarder with timeout, rotation, link-only posts 2026-07-16 12:26:32 +03:00
esef b7c11cf51a calendar polishes 2026-07-15 13:11:13 +03:00
esef 6be198cb31 koharu update dynamic this time (my idea didnt work) 2026-07-14 17:25:20 +03:00
esef f9b89a7498 koharu update dynamic this time (my idea didnt work) 2026-07-14 17:25:06 +03:00
esef 7f6290fbd1 delete after command crashed and bot now more dynamic 2026-07-14 17:12:49 +03:00
esef e314599d33 simple preset for discord webhook agent for larp 2026-07-14 16:57:59 +03:00
esef 1286168f98 nvm i ll take care of it later 2026-07-13 18:50:04 +03:00
esef 75948e055d another delete code 2026-07-13 18:48:57 +03:00
esef 3ef326767a delete message after 10 seconds 2026-07-13 18:47:17 +03:00
esef d935ebe8fb circular import issue 2026-07-13 12:21:53 +03:00
esef c66195d4cd user authorization for calendar added 2026-07-13 11:23:14 +03:00
esef f16d848e42 security audit 2026-07-13 11:01:42 +03:00
esef 19e2db7fd4 fix little calendar bug 2026-07-13 00:53:08 +03:00
esef d944064091 calendar / to ! prefix 2026-07-13 00:45:59 +03:00
esef 9c4fb421dd calendar emoji removal 2026-07-13 00:42:06 +03:00
esef 56168b5251 calendar polish 2026-07-13 00:41:57 +03:00
esef f8c7fc4fc6 calendar command qol 2026-07-13 00:32:01 +03:00
esef 61de4c3933 calendar polish 2026-07-13 00:25:37 +03:00
esef 1dcd53a581 calendar update 2026-07-13 00:12:51 +03:00
esef 7725dfb8b9 icy bug found fixed 2026-07-12 19:35:37 +03:00
esef e986af95c6 icy debug method added 2026-07-12 19:33:40 +03:00
esef 4c2a4c8937 no more duplicate students (i found this fr) 2026-07-12 19:30:12 +03:00
esef 973330d21a moved to a better sysinfo method 2026-07-12 19:23:29 +03:00
esef b7a2338de8 sys info addition 2026-07-12 19:05:58 +03:00
esef ab15f3ac8c website connected 2026-07-12 18:46:17 +03:00
esef 9a65621153 gacha pull gif shortened (gif sucks and low quality) 2026-07-12 17:32:33 +03:00
esef 4aecc81d2a icy metadata support for 30 radios added 2026-07-12 17:32:16 +03:00
esef a59ffac93c added frame counter to gif 2026-07-12 17:14:40 +03:00
esef 79555de939 assets uploaded for simple update 2026-07-12 17:09:53 +03:00
esef 1fe1098a5e assets uploaded 2026-07-12 17:09:44 +03:00
esef cc0e154385 gif loop fix 2026-07-12 17:04:59 +03:00
esef 4d1949bdc2 new gacha animation added 2026-07-12 16:57:43 +03:00
esef 7367eb2cc4 now playing feature added 2026-07-11 22:08:04 +03:00
esef aaad0b6ed6 Merge branch 'main' of https://github.com/esefxdz/discordbot 2026-07-11 21:44:32 +03:00
esef f6df3c7658 bruh wtv 2026-07-11 21:44:22 +03:00
esef 04df9e8f62 found a new portrait site 2026-07-11 21:40:18 +03:00
esef 4715dad580 Update gacha command description in README 2026-07-11 19:36:25 +03:00
esef 9a907df72e add gacha help command, list all commands in default gacha view 2026-07-11 19:30:49 +03:00
esef 7a309f19e8 fix gacha info NameError, fix banner id int/str mismatch, cleanup 2026-07-11 19:28:40 +03:00
esef de63e3b098 extract constants to central module, brighter rarity colors 2026-07-11 19:24:26 +03:00
esef 9500a2902f interactive collection browser with dashboard, pagination, rarity filter buttons 2026-07-11 19:19:26 +03:00
esef 11d7c139e6 add sqlite inventory, per-banner spark, eligma, collection commands 2026-07-11 19:14:52 +03:00
esef e61b0f1d88 brighter rarity colors, fix comments, verify pool accuracy 2026-07-11 18:27:57 +03:00
esef ed95c7ac30 accurate banner pools: standard, pickup, limited, fes with weighted rate-up 2026-07-11 18:23:37 +03:00
esef 5e67782e58 swap 2-star and 3-star colors, brighten all rarity colors 2026-07-11 18:19:02 +03:00
esef 9faacbc519 add error handling to render pipeline, graceful portrait fallback 2026-07-11 18:16:26 +03:00
esef 6dbd8f09ca fix pool filtering exclude welfare and limited from regular, remove pull embed, single process 2026-07-11 18:06:12 +03:00
esef 55824e8a5a update gitignore for gacha assets and ssh scripts 2026-07-11 18:00:46 +03:00
esef 95228a425d add blue archive gacha simulator cog with live banners and wiki portraits 2026-07-11 17:57:11 +03:00
esef c2133705fe trimmed down music.py 2026-07-09 17:40:23 +03:00
esef f88fd7989a update polish again 2026-07-05 20:53:22 +03:00
esef 10f372173f restart function restarts later race condition 2026-07-05 20:50:23 +03:00
esef ea6a5ce15e gitpull polished 2026-07-05 20:47:51 +03:00
esef a8d1534cb2 discord want it dict 2026-07-05 20:39:49 +03:00
esef 64ccb125ee removed @everyone unnecessary thing 2026-07-05 20:37:41 +03:00
esef 12275fdb2c removed custom tag 2026-07-05 19:50:54 +03:00
esef 9ec834047a simplified list 2026-07-05 19:05:48 +03:00
esef 71d2d7a563 update gitignore lol 2026-07-05 19:03:09 +03:00
esef a9359c3f85 Add track-identity check to prevent stale radio event handlers from corrupting state 2026-07-05 19:02:07 +03:00
esef 19b51f16aa Fix radio race conditions, add mode re-check, add stream-drop notifications 2026-07-05 18:53:49 +03:00
esef 83383e74e0 Add radio mode with two-step interactive picker, mode-aware !stop, concurrency locks 2026-07-05 18:36:53 +03:00
esef 97c244ad51 used deque for more control 2026-07-05 16:51:20 +03:00
esef e38f56bbe0 Fix music cog: requester display, autoplay status, add !stop, polish 2026-07-05 16:25:30 +03:00
esef 38ea83d862 channel status update 2026-07-05 16:20:40 +03:00
esef d1d07a3c3b debug emojis removed 2026-07-05 15:52:10 +03:00