78c755a7a28f6561a030bc85474160d30fd223f5
The cloud api refuses getFile over 20 MB, so an oversize video or gif never reached ffmpeg and the bridge blamed the fetch. Six of the nine media failures in the last month were that; the other three were a dropped read. - config.local_api() turns TELEGRAM_API_BASE_URL into base_url/base_file_url/ local_mode. Both directions read it, or only one of them migrates. - in local mode getFile hands back a path on disk and ptb reads it directly, so there is no 20 MB cap and no http transfer to drop. - MAX_INGEST_BYTES keeps that from being a way to pull a gigabyte into the bot's memory; falls back to stat() when the server omits file_size. - explicit read_timeout: ptb defaults to 5s, which is what "Timed out" was. one retry covers a dropped read. BadRequest subclasses NetworkError, so it is re-raised first or an oversize rejection gets re-sent. - the note now distinguishes too-large from could-not-fetch, and the warning records which attachment and which message. Co-Authored-By: Claude Opus 5 <[email protected]>
yuuka
personal discord bot running on my debian laptop. named after hayase yuuka. it started as a simple music bot and became a massive mess of features i sometimes use.
features
- ai — uses deepseek v4 (flash/pro). text-only (no image/vision input), continuous memory summarization (so it doesn't forget context), per-channel personas (yuuka/rem), and native deepseek-reasoner thinking toggles. doesn't break character.
- bridges — two-way telegram <-> discord message forwarding. twitter/x leaks: new @CalabiyauLeaks tweets go to two servers as fxtwitter links (
twitterbridge/), from a self-hosted RSSHub feed on yuuka (esefrss).!leaksshows the latest 5. if the feed breaks for 90 min the bot DMs the owner. - media & music — lavalink + wavelink music playback (youtube search + http/icecast radio streams). also has ffmpeg media conversion slash commands (/togif, /caption, /reverse, /speed, /tomp4, /tomp3, /toopus).
- sysinfo — live monitoring of my laptop's cpu, ram, temps (lm-sensors), top processes, and fastfetch.
- utilities — live currency conversion (/currency), steam stat tracking (strinova player counts).
- calendar — firestore-backed event booking via modal. autoconverts local times to UTC using a country list, feeds a web calendar frontend.
- timestamp —
/timestampmodal that generates Discord<t:unix:FORMAT>tags. accepts day numbers or day names ("Sunday"), handles month rollover, outputs all 7 Discord time formats. - timestamp (friends) — passive message listener: when a whitelisted user says "my time" in chat, the bot parses the surrounding text for time expressions, auto-converts to their timezone, and replies with timestamp tags. no commands needed.
- junk — dice, coinflip, aura meter, rank, gifs, copypastas.
stack
- python +
discord.py - deepseek api for the ai stuff
- wavelink + lavalink (java) for music
- psutil + lm-sensors for hardware stats
- runs as systemd services:
discordbot,lavalink, and a weeklydiscordbot-refresh.timerthat auto-updates the Blue Archive roster
commands
run these to see the sub-commands:
!ai— lists all ai-related commands (setting personas, activechat, toggling thinking/temperature)!music— music playback controls!sysinfo— hardware monitoring!gifs— the gif list!fun— the junk commands!gacha help— blue archive recruitment simulator (pick banners, pull with live rates)!book/!unbook— calendar event booking (whitelisted users only)!time— Discord timestamp generator modal
Description
Yuuka — my Discord bot: music & radio, Blue Archive gacha, Telegram/Twitter bridges, AI chat and more.
9.9 MiB
0 Stars
1 Watchers
0 Forks
Languages
Python
100%