This commit is contained in:
@@ -17,9 +17,7 @@ async def get_unread_counter(chat_id: str, author_id: int) -> int:
|
||||
|
||||
|
||||
# NOTE: not an API handler
|
||||
async def load_messages(
|
||||
chat_id: str, limit: int = 5, offset: int = 0, ids: Optional[List[int]] = None
|
||||
) -> List[Message]:
|
||||
async def load_messages(chat_id: str, limit: int = 5, offset: int = 0, ids: Optional[List[int]] = None) -> List[Message]:
|
||||
"""load :limit messages for :chat_id with :offset"""
|
||||
if ids is None:
|
||||
ids = []
|
||||
@@ -28,11 +26,11 @@ async def load_messages(
|
||||
message_ids = [] + ids
|
||||
if limit:
|
||||
mids = (await redis.lrange(f"chats/{chat_id}/message_ids", offset, offset + limit)) or []
|
||||
mids = [mid for mid in mids]
|
||||
message_ids += mids
|
||||
if message_ids:
|
||||
message_keys = [f"chats/{chat_id}/messages/{mid}" for mid in message_ids]
|
||||
messages = (await redis.mget(*message_keys)) or []
|
||||
messages = [json.loads(m) if m else None for m in messages]
|
||||
replies = []
|
||||
for m in messages:
|
||||
if m:
|
||||
|
Reference in New Issue
Block a user