Skip to content

Fix common issues - #512

Merged
xditya merged 25 commits into
mainfrom
fix/common-issues
Nov 5, 2026
Merged

xditya merged 25 commits into
mainfrom
fix/common-issues

Conversation

@xditya

@xditya xditya commented Nov 5, 2026

Copy link
Copy Markdown
Member

No description provided.

xditya added 25 commits November 5, 2026 00:25
- telethon 1.45 replaced the KeyboardButton* types and telethon-patch still imports them
- fresh installs crashed on import telethonpatch before startup
- python 3.14 no longer creates a loop on demand
- older telethon releases then crashed with "no current event loop" at startup
- catch AuthKeyNotFound next to AuthKeyDuplicatedError instead of dumping a traceback
- re-raise for clients that don't exit, so vc_connection can drop a dead VC_SESSION
- python 3.12+ prints a SyntaxWarning for these at startup
- the strings stay the same; invalid escapes become errors in a later release
- akipy 1.x renamed async_akipy to async_akinator, so the games plugin failed to load
- require akipy>=1.2.4 so existing installs upgrade
- collect REDIS_URI and REDIS_PASSWORD too; out[3] and out[4] raised IndexError
- wait on the child processes instead of get_event_loop(), which fails on python 3.14
- exit with a message when no client is configured
- set an event loop before pyrogram is imported
- print the bot session with an f-string
- reinstall telethon with pip after uninstalling it in session.sh
- stickermanager caught StickerSetInvalidError, but the import is StickersetInvalidError
- cleanaction called eod without importing it
- beautify and weather logged through LOGS without importing it
- beautify matched timeouts via an unimported playwright module
- get_paste returns (ok, {link, raw, error}) now; the callback still used the old key
- tapping the paste button in plugin help always raised UnboundLocalError
- the "video as doc" assignment ran unconditionally after the streaming check
- notes, filters, snips and greetings skipped their upload path for every video
- json_parser falls back on raw bodies from third-party APIs (carbon, youtube scraping)
- eval ran whatever those servers returned
- get() wrapped the None from an unset key into a list, so empty lists looked non-empty
- fresh installs got phantom entries in pmpermit, broadcast, nightmode and other lists
- add() then saved [None, item] back to the database
- apscheduler 3.11 looks up the running loop in start(), and plugins start it at import
- nightmode jobs never ran, and autopic failed to load after a restart
- the README runs sessiongen after installing requirements, inside the bot's venv
- the reinstall pulled the newest telethon back in, past the <1.45 cap
- ssgen.py already installs telethon when it is missing
- debian 13 and newer ubuntu releases no longer ship neofetch, so the single apt/pacman call failed and installed nothing
- install neofetch on its own and carry on if it is missing; only .sysinfo uses it
- the dpkg/pacman check was inverted: it installed only when a package was already present
- messages.createChat returns InvitedUsers now, so r.chats raised and .create b always failed
- pass the chat object to ExportChatInviteRequest so it resolves without the entity cache
- .alive and inline alive read Repo().active_branch, which raises on a detached HEAD
- fall back to the short commit, or to the main repo link when there is no .git
- every boot after the first calls updater() from ready(), and it raised on a detached HEAD
- fetching a branch that upstream doesn't have, or fetching offline, raised too
- skip the check in those cases; .update reads the branch name the safe way
- on shells whose not-found message the check doesn't recognise, .sysinfo sent an empty render
- the carbon API rejects empty input, so telegram failed with ImageProcessFailedError
- add_snip() stores the snips under the SNIP key, so the "first snip?" check right after it was always false
- the handler was never registered until the next restart; add_handler already skips duplicates
- Poll() now requires a hash, so .poll, .suggest and the trivia quiz all raised TypeError
- correct_answers takes 0-based option indices instead of option bytes
- .suggest passed plain strings where TextWithEntities is required
- youtube-search-python is abandoned and passes proxies= to httpx, which httpx 0.28 removed
- .ytsa/.ytsv and the inline yt search raised TypeError on every query
- search through yt-dlp's flat ytsearch instead; it is already a dependency
- reading im.size leaves PIL's file handle open, so os.remove() failed on Windows
- it also leaked one handle per call elsewhere
- .zip shelled out to the zip binary, which installer.sh never installs
- without it the archive was never written and the upload raised FileNotFoundError
- password-protected zips still need the zip binary; zipfile can't write them
- the python 3.13 rework ran eval code in a bare dict with only event, client and reply
- snippets using asst, udB, ultroid_bot or LOGS raised NameError
- start the dict from the plugin's globals; it stays separate from the module
@xditya
xditya merged commit 25a5dc2 into main Nov 5, 2026
5 checks passed
@xditya
xditya deleted the fix/common-issues branch November 5, 2026 04:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant