Skip to content

Commit

Permalink
1.1.20
Browse files Browse the repository at this point in the history
- Add legacy fs modules migration
- Add `ready` asyncio Event to help track userbot loading process from outside
- Replace logging in loader with module-dependent one
- Fix some bugs and bug-rist issues
- Refactor code
- Send big logs as file, rather than an infinite series of messages
- HTML-escape `# meta developer:`
- Make `self.animate` available for core modules and modules, loaded from file
  • Loading branch information
hikariatama committed May 11, 2022
1 parent 0893947 commit e713035
Show file tree
Hide file tree
Showing 7 changed files with 167 additions and 136 deletions.
29 changes: 12 additions & 17 deletions hikka/dispatcher.py
Original file line number Diff line number Diff line change
Expand Up @@ -219,12 +219,10 @@ async def _handle_command(
if not event.message.message:
return False

if event.message.message.startswith(prefix):
pass
elif event.message.message.startswith(str.translate(prefix, change)):
if event.message.message.startswith(str.translate(prefix, change)):
prefix = str.translate(prefix, change)
message.message = str.translate(message.message, change)
else:
elif not event.message.message.startswith(prefix):
return False

if (
Expand All @@ -247,29 +245,26 @@ async def _handle_command(

if (
message.out
and len(message.message) > len(prefix)
and message.message[: len(prefix) * 2] == prefix * 2
and message.message != len(message.message) // len(prefix) * prefix
and len(message.message) > 2
and message.message.startswith(prefix * 2)
):
# Allow escaping commands using .'s
entities = utils.relocate_entities(
message.entities,
-len(prefix),
message.message,
)

await message.edit(
message.message[len(prefix) :],
parse_mode=lambda s: (s, entities or ()),
message.message[1:],
parse_mode=lambda s: (
s,
utils.relocate_entities(message.entities, -1, message.message)
or (),
),
)
return False

message.message = message.message[len(prefix) :]
message.message = message.message[1:]

if not message.message:
return False # Message is just the prefix

utils.relocate_entities(message.entities, -len(prefix))
utils.relocate_entities(message.entities, -1)

initiator = getattr(event, "sender_id", 0)

Expand Down
8 changes: 6 additions & 2 deletions hikka/fast_uploader.py
Original file line number Diff line number Diff line change
Expand Up @@ -437,7 +437,7 @@ async def download_file(

if progress_callback is None and message_object is not None:

async def progress_callback(current: int, total: int):
async def default_progress_callback(current: int, total: int):
nonlocal message_object, ratelimiter
if ratelimiter > time.time():
return
Expand All @@ -456,6 +456,8 @@ async def progress_callback(current: int, total: int):
except Exception:
pass

progress_callback = default_progress_callback

_out = io.BytesIO()

async for x in downloaded:
Expand Down Expand Up @@ -489,7 +491,7 @@ async def upload_file(

if progress_callback is None and message_object is not None:

async def progress_callback(current: int, total: int):
async def default_progress_callback(current: int, total: int):
nonlocal message_object, ratelimiter
if ratelimiter > time.time():
return
Expand All @@ -508,6 +510,8 @@ async def progress_callback(current: int, total: int):
except Exception:
pass

progress_callback = default_progress_callback

res = (
await _internal_transfer_to_telegram(_client, file, progress_callback, filename)
)[0]
Expand Down
Loading

0 comments on commit e713035

Please sign in to comment.