43 lines
1.4 KiB
Python
Raw Normal View History

2021-09-18 15:30:56 +02:00
from ..config.contents import mention_failed
from ..entities.group import Group
from ..entities.user import User
2021-09-18 15:30:56 +02:00
from ..firebaseProxy import FirebaseProxy
from ..repositories.groupRepository import GroupRepository
from .handlerInterface import HandlerInterface
from telegram.ext.callbackcontext import CallbackContext
from telegram.ext.commandhandler import CommandHandler
from telegram.update import Update
class MentionHandler(HandlerInterface):
botHandler: CommandHandler
commandName: str = 'everyone'
def __init__(self) -> None:
self.botHandler = CommandHandler(
self.getCommandName(),
self.handle
)
def handle(self, update: Update, context: CallbackContext) -> None:
groupId = update.effective_chat.id
groupRepository = GroupRepository()
mentionMessage = self.buildMentionMessage(groupRepository.get(id=groupId))
update.message.reply_markdown_v2(text=mentionMessage)
def getBotHandler(self) -> CommandHandler:
return self.botHandler
def getCommandName(self) -> str:
return self.commandName
def buildMentionMessage(self, group: Group) -> str:
2021-09-18 15:30:56 +02:00
result = ''
for user in group.getUsers():
username = user.getUsername() or user.getId()
result += f'*[{username}](tg://user?id={user.getId()})* '
2021-09-18 15:30:56 +02:00
return result or mention_failed