hyperboria/nexus/bot/widgets/banlist_widget.py

27 lines
820 B
Python
Raw Normal View History

import time
from idm.api.proto.chat_manager_service_pb2 import Chat as ChatPb
from nexus.bot.application import TelegramApplication
class BanlistWidget:
def __init__(self, application: TelegramApplication, chat: ChatPb):
self.application = application
self.chat = chat
async def render(self, chat_list: list[ChatPb]):
if not chat_list:
return 'Nobody is banned'
separator = '------------\n'
return separator.join(
map(
lambda chat: (
f'```{chat.username} ({chat.chat_id})\n'
f'Until: {time.ctime(chat.ban_until)}\n'
f'Message: {chat.ban_message}```\n'
f'/unban_{chat.chat_id}\n'
),
chat_list
)
)