From d05d0c09044652c9154b31bc6b51246cf561b74e Mon Sep 17 00:00:00 2001 From: miloszowi Date: Thu, 7 Oct 2021 19:15:53 +0200 Subject: [PATCH 1/9] Added inline query handler, updated CHANGELOG, added group name validator --- CHANGELOG.md | 7 ++++ src/app.py | 2 +- src/bot/handler/inlineQueryHandler.py | 46 +++++++++++++++++++++++++++ src/bot/message/messageData.py | 13 +++----- src/config/contents.py | 3 ++ src/validator/groupNameValidator.py | 16 ++++++++++ 6 files changed, 78 insertions(+), 9 deletions(-) create mode 100644 src/bot/handler/inlineQueryHandler.py create mode 100644 src/validator/groupNameValidator.py diff --git a/CHANGELOG.md b/CHANGELOG.md index c14ce3a..fcf55fa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log All notable changes to this project will be documented in this file. +## [UNRELEASED] - 07.10.2021 +### Added +- Inline Query for join/leave/everyone +- Validator class for group name + +### Updated +- start command content ## [0.1.0] - 06.10.2021 ### Features - `/join` command diff --git a/src/app.py b/src/app.py index b70a888..4a2c6b4 100755 --- a/src/app.py +++ b/src/app.py @@ -6,7 +6,7 @@ from telegram.ext.dispatcher import Dispatcher from logger import Logger from config.credentials import BOT_TOKEN, PORT, WEBHOOK_URL from bot.handler import (groupsHandler, joinHandler, mentionHandler, leaveHandler, - silentMentionHandler, startHandler) + silentMentionHandler, startHandler, inlineQueryHandler) from bot.handler.abstractHandler import AbstractHandler diff --git a/src/bot/handler/inlineQueryHandler.py b/src/bot/handler/inlineQueryHandler.py new file mode 100644 index 0000000..059c209 --- /dev/null +++ b/src/bot/handler/inlineQueryHandler.py @@ -0,0 +1,46 @@ +from bot.handler.abstractHandler import AbstractHandler +from entity.group import Group +from telegram import InlineQueryResultArticle +from telegram.ext.callbackcontext import CallbackContext +from telegram.ext.commandhandler import CommandHandler +from telegram.ext.inlinequeryhandler import \ + InlineQueryHandler as CoreInlineQueryHandler +from telegram.inline.inputtextmessagecontent import InputTextMessageContent +from telegram.update import Update + + +class InlineQueryHandler(AbstractHandler): + bot_handler: CommandHandler + + def __init__(self) -> None: + self.bot_handler = CoreInlineQueryHandler(self.handle) + + def handle(self, update: Update, context: CallbackContext) -> None: + group_display = update.inline_query.query or Group.default_name + group = '' if group_display == Group.default_name else group_display + + results = [ + InlineQueryResultArticle( + id='everyone', + title='MENTION', + description=f'Mention members in group "{group_display}"', + input_message_content=InputTextMessageContent(f'/everyone {group}') + ), + InlineQueryResultArticle( + id='join', + title='JOIN', + description=f'Joins group "{group_display}"', + input_message_content=InputTextMessageContent(f'/join {group}') + ), + InlineQueryResultArticle( + id='leave', + title='LEAVE', + description=f'Leaves group "{group_display}"', + input_message_content=InputTextMessageContent(f'/leave {group}') + ) + ] + + update.inline_query.answer(results, cache_time=4800) + + def get_bot_handler(self) -> CoreInlineQueryHandler: + return self.bot_handler diff --git a/src/bot/message/messageData.py b/src/bot/message/messageData.py index 49ab6ff..a63420e 100644 --- a/src/bot/message/messageData.py +++ b/src/bot/message/messageData.py @@ -9,6 +9,8 @@ from exception.invalidArgumentException import InvalidArgumentException from telegram.ext.callbackcontext import CallbackContext from telegram.update import Update +from validator.groupNameValidator import GroupNameValidator + @dataclass class MessageData(): @@ -24,16 +26,11 @@ class MessageData(): if context.args and context.args[0] and include_group: group_name = str(context.args[0]).lower() - if not re.match(r"^[A-Za-z]+$", group_name): - raise InvalidArgumentException(re.escape('Group name must contain only letters.')) - if group_name == Group.default_name: - raise InvalidArgumentException(re.escape(f'Group can not be `{Group.default_name}`.')) + GroupNameValidator.validate(group_name) - if len(group_name) > 20: - raise InvalidArgumentException(re.escape(f'Group name length can not be greater than 20.')) - - chat_id += f'~{group_name}' + if group_name is not Group.default_name: + chat_id += f'~{group_name}' user_id = str(update.effective_user.id) diff --git a/src/config/contents.py b/src/config/contents.py index 6ad7118..8a7f81f 100755 --- a/src/config/contents.py +++ b/src/config/contents.py @@ -29,4 +29,7 @@ To see all available groups use: To display all members in a group: `/silent ` + +You can also try to tag me @everyone\_mention\_bot and then enter group name +Possible results will be displayed """ \ No newline at end of file diff --git a/src/validator/groupNameValidator.py b/src/validator/groupNameValidator.py new file mode 100644 index 0000000..3eca5e4 --- /dev/null +++ b/src/validator/groupNameValidator.py @@ -0,0 +1,16 @@ +import re + +from exception.invalidArgumentException import InvalidArgumentException + + +class GroupNameValidator: + + @staticmethod + def validate(group: str) -> None: + group = group.lower() + + if len(group) > 0 and not re.match(r"^[A-Za-z]+$", group): + raise InvalidArgumentException(re.escape('Group name must contain only letters.')) + + if len(group) > 20: + raise InvalidArgumentException(re.escape(f'Group name length can not be greater than 20.')) From 431b00428469acb322fd4425024210a44a28f16b Mon Sep 17 00:00:00 2001 From: miloszowi Date: Fri, 8 Oct 2021 15:25:47 +0200 Subject: [PATCH 2/9] Banned users env, access validator, removed silent command, code quality improvements --- CHANGELOG.md | 11 ++++- README.md | 12 +---- docker/config/app.dist.env | 4 +- docs/silent.png | Bin 28060 -> 0 bytes src/app.py | 26 +++-------- src/bot/handler/__init__.py | 5 ++ src/bot/handler/abstractHandler.py | 34 ++------------ src/bot/handler/everyoneHandler.py | 35 ++++++++++++++ src/bot/handler/groupsHandler.py | 51 +++++++++------------ src/bot/handler/inlineQueryHandler.py | 19 +++++--- src/bot/handler/joinHandler.py | 35 ++++++-------- src/bot/handler/leaveHandler.py | 44 ++++++++---------- src/bot/handler/mentionHandler.py | 47 ------------------- src/bot/handler/silentMentionHandler.py | 21 --------- src/bot/handler/startHandler.py | 22 ++++----- src/bot/message/messageData.py | 12 ++--- src/bot/message/replier.py | 29 ++++++++++++ src/config/contents.py | 3 +- src/config/credentials.py | 2 + src/database/client.py | 9 ++-- src/entity/group.py | 2 +- src/entity/user.py | 6 +-- src/exception/actionNotAllowedException.py | 2 + src/logger.py | 20 ++++++-- src/repository/groupRepository.py | 17 ++++--- src/repository/userRepository.py | 30 +++++++----- src/utils/messageBuilder.py | 21 +++++++++ src/validator/accessValidator.py | 10 ++++ 28 files changed, 268 insertions(+), 261 deletions(-) delete mode 100644 docs/silent.png create mode 100644 src/bot/handler/__init__.py create mode 100755 src/bot/handler/everyoneHandler.py delete mode 100755 src/bot/handler/mentionHandler.py delete mode 100644 src/bot/handler/silentMentionHandler.py create mode 100644 src/bot/message/replier.py create mode 100644 src/exception/actionNotAllowedException.py create mode 100644 src/utils/messageBuilder.py create mode 100644 src/validator/accessValidator.py diff --git a/CHANGELOG.md b/CHANGELOG.md index fcf55fa..ab1209b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,16 @@ All notable changes to this project will be documented in this file. ## [UNRELEASED] - 07.10.2021 ### Added - Inline Query for join/leave/everyone -- Validator class for group name +- Group name validator +- Banned users env +- Access validator +- ActionNotAllowedException + +### Changed +- code quality improvements + +### Deleted +- `/silent` command ### Updated - start command content diff --git a/README.md b/README.md index d99b678..78eda54 100755 --- a/README.md +++ b/README.md @@ -15,7 +15,6 @@ * [`/leave`](#leave) * [`/everyone`](#everyone) * [`/groups`](#groups) - * [`/silent`](#silent) * [`/start`](#start) ## Description Everyone Mention Bot is simple, but useful telegram bot to gather group members attention. @@ -62,6 +61,7 @@ docker/logs - `MONGODB_PASSWORD` - MongoDB password - `MONGODB_HOSTNAME` - MongoDB host (default `database` - container name) - `MONGODB_PORT` - MongoDB port (default `27017` - given in docker-compose configuration) + - `BANNED_USERS` - user ids separated by comma that are not allowed to use the bot - `database.env` - `MONGO_INITDB_ROOT_USERNAME` - conf from `app.env` @@ -101,16 +101,6 @@ If user does not have nickname, it will first try to assign his firstname, then Will display available groups for this chat as well with members count. ![groups command example](docs/groups.png) - -### `/silent` -``` -/silent -``` - -Will display all every member of given group (`default` if not given) but without notyfing them. - -![silent command example](docs/silent.png) - ### `/start` Start & Help message diff --git a/docker/config/app.dist.env b/docker/config/app.dist.env index cc14bd0..de9bb54 100755 --- a/docker/config/app.dist.env +++ b/docker/config/app.dist.env @@ -6,4 +6,6 @@ MONGODB_DATABASE= MONGODB_USERNAME= MONGODB_PASSWORD= MONGODB_HOSTNAME=localhost -MONGODB_PORT=27017 \ No newline at end of file +MONGODB_PORT=27017 + +BANNED_USERS= \ No newline at end of file diff --git a/docs/silent.png b/docs/silent.png deleted file mode 100644 index 1db4c9b26aaa1574d5ab961a4fc065599c9370be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28060 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%0ARQ*sqFM#VBYxf!>y}R z^m49Tr@JM5t;sPeOH6!otEwO@keWDv>g=}kK!UbMtuKB_+W&nq{q<{e6?pVDu32AvCXzUty}yOl)zv(89uQ zB~|qp+_Ki#J?++5{>Oo2>wN!%_Lu%}!v6D|BaHBS2K(mz@3p*)igbnK$H4yw<>ha| diff --git a/src/app.py b/src/app.py index 4a2c6b4..67ac0b3 100755 --- a/src/app.py +++ b/src/app.py @@ -1,27 +1,21 @@ -from logging import Logger -import logging from telegram.ext import Updater from telegram.ext.dispatcher import Dispatcher -from logger import Logger -from config.credentials import BOT_TOKEN, PORT, WEBHOOK_URL -from bot.handler import (groupsHandler, joinHandler, mentionHandler, leaveHandler, - silentMentionHandler, startHandler, inlineQueryHandler) +from bot.handler import * from bot.handler.abstractHandler import AbstractHandler +from config.credentials import BOT_TOKEN, PORT, WEBHOOK_URL +from logger import Logger class App: updater: Updater dispatcher: Dispatcher - log_file: str = '/var/log/bot.log' - log_format: str = '%(levelname)s-%(asctime)s: %(message)s' - def __init__(self): self.updater = Updater(BOT_TOKEN) def run(self) -> None: - self.setup_logging() + Logger.register() self.register_handlers() self.register_webhook() @@ -29,9 +23,7 @@ class App: def register_handlers(self) -> None: for handler in AbstractHandler.__subclasses__(): - self.updater.dispatcher.add_handler( - handler().get_bot_handler() - ) + self.updater.dispatcher.add_handler(handler().bot_handler) def register_webhook(self) -> None: self.updater.start_webhook( @@ -41,15 +33,9 @@ class App: webhook_url="/".join([WEBHOOK_URL, BOT_TOKEN]) ) - Logger.get_logger(Logger.action_logger).info( - f'Webhook configured, listening on {WEBHOOK_URL}/' - ) + Logger.info(f'Webhook configured, listening on {WEBHOOK_URL}/') - def setup_logging(self) -> None: - logger = Logger() - logger.setup() if __name__ == "__main__": app = App() - app.run() diff --git a/src/bot/handler/__init__.py b/src/bot/handler/__init__.py new file mode 100644 index 0000000..3a55bbb --- /dev/null +++ b/src/bot/handler/__init__.py @@ -0,0 +1,5 @@ +__all__ = [ + 'abstractHandler', 'everyoneHandler', 'groupsHandler', + 'inlineQueryHandler', 'joinHandler', 'leaveHandler', + 'startHandler' +] diff --git a/src/bot/handler/abstractHandler.py b/src/bot/handler/abstractHandler.py index 553f4d8..ea57502 100755 --- a/src/bot/handler/abstractHandler.py +++ b/src/bot/handler/abstractHandler.py @@ -1,37 +1,13 @@ from abc import abstractmethod -from bot.message.messageData import MessageData -from logger import Logger +from telegram.ext import Handler from telegram.ext.callbackcontext import CallbackContext -from telegram.ext.handler import Handler from telegram.update import Update -from telegram.utils.helpers import mention_markdown -class AbstractHandler: - @abstractmethod - def get_bot_handler(self) -> Handler: raise Exception('get_bot_handler method is not implemented') +class AbstractHandler: + bot_handler: Handler @abstractmethod - def handle(self, update: Update, context: CallbackContext) -> None: raise Exception('handle method is not implemented') - - @abstractmethod - def log_action(self, message_data: MessageData) -> None: raise Exception('log_action method is not implemented') - - def interpolate_reply(self, reply: str, message_data: MessageData): - return reply.format( - mention_markdown(message_data.user_id, message_data.username), - message_data.group_name - ) - - def reply_markdown(self, update: Update, message: str) -> None: - try: - update.effective_message.reply_markdown_v2(text=message) - except Exception as err: - Logger.error(str(err)) - - def reply_html(self, update: Update, html: str) -> None: - try: - update.effective_message.reply_html(text=html) - except Exception as err: - Logger.error(str(err)) + def handle(self, update: Update, context: CallbackContext) -> None: + raise Exception('handle method is not implemented') diff --git a/src/bot/handler/everyoneHandler.py b/src/bot/handler/everyoneHandler.py new file mode 100755 index 0000000..9f717e8 --- /dev/null +++ b/src/bot/handler/everyoneHandler.py @@ -0,0 +1,35 @@ +from telegram.ext.callbackcontext import CallbackContext +from telegram.ext.commandhandler import CommandHandler +from telegram.update import Update + +from bot.handler.abstractHandler import AbstractHandler +from bot.message.messageData import MessageData +from bot.message.replier import Replier +from config.contents import mention_failed +from logger import Logger +from repository.userRepository import UserRepository +from utils.messageBuilder import MessageBuilder + + +class EveryoneHandler(AbstractHandler): + bot_handler: CommandHandler + user_repository: UserRepository + action: str = 'everyone' + + def __init__(self) -> None: + self.bot_handler = CommandHandler(self.action, self.handle) + self.user_repository = UserRepository() + + def handle(self, update: Update, context: CallbackContext) -> None: + try: + message_data = MessageData.create_from_arguments(update, context) + except Exception as e: + return Replier.markdown(update, str(e)) + + users = self.user_repository.get_all_for_chat(message_data.chat_id) + + if users: + Replier.markdown(update, MessageBuilder.mention_message(users)) + return Logger.action(message_data, self.action) + + Replier.markdown(update, mention_failed) diff --git a/src/bot/handler/groupsHandler.py b/src/bot/handler/groupsHandler.py index 0270404..9414d5a 100644 --- a/src/bot/handler/groupsHandler.py +++ b/src/bot/handler/groupsHandler.py @@ -1,45 +1,36 @@ -from typing import Iterable - -import prettytable as pt -from bot.handler.abstractHandler import AbstractHandler -from bot.message.messageData import MessageData -from config.contents import no_groups -from entity.group import Group -from logger import Logger -from repository.groupRepository import GroupRepository from telegram.ext.callbackcontext import CallbackContext from telegram.ext.commandhandler import CommandHandler from telegram.update import Update +from bot.handler.abstractHandler import AbstractHandler +from bot.message.messageData import MessageData +from bot.message.replier import Replier +from config.contents import no_groups +from exception.notFoundException import NotFoundException +from logger import Logger +from repository.groupRepository import GroupRepository +from utils.messageBuilder import MessageBuilder + class GroupsHandler(AbstractHandler): bot_handler: CommandHandler group_repository: GroupRepository + action: str = 'groups' def __init__(self) -> None: - self.bot_handler = CommandHandler('groups', self.handle) + self.bot_handler = CommandHandler(self.action, self.handle) self.group_repository = GroupRepository() def handle(self, update: Update, context: CallbackContext) -> None: - message_data = MessageData.create_from_arguments(update, context, False) + try: + message_data = MessageData.create_from_arguments(update, context, False) + except Exception as e: + return Replier.markdown(update, str(e)) - groups = self.group_repository.get_by_chat_id(message_data.chat_id) + try: + groups = self.group_repository.get_by_chat_id(message_data.chat_id) + Replier.html(update, MessageBuilder.group_message(groups)) - if groups: - self.reply_html(update, self.build_groups_message(groups)) - return self.log_action(message_data) - - self.reply_markdown(update, no_groups) - - def get_bot_handler(self) -> CommandHandler: - return self.bot_handler - - def log_action(self, message_data: MessageData) -> None: - Logger.info(f'User {message_data.username} called /groups for {message_data.chat_id}') - - def build_groups_message(self, groups: Iterable[Group]) -> str: - resultTable = pt.PrettyTable(['Name', 'Members']) - - resultTable.add_rows([[record.group_name, record.users_count] for record in groups]) - - return f'
{str(resultTable)}
' + Logger.action(message_data, self.action) + except NotFoundException: + Replier.markdown(update, no_groups) diff --git a/src/bot/handler/inlineQueryHandler.py b/src/bot/handler/inlineQueryHandler.py index 059c209..f2a5d88 100644 --- a/src/bot/handler/inlineQueryHandler.py +++ b/src/bot/handler/inlineQueryHandler.py @@ -1,21 +1,29 @@ -from bot.handler.abstractHandler import AbstractHandler -from entity.group import Group from telegram import InlineQueryResultArticle from telegram.ext.callbackcontext import CallbackContext -from telegram.ext.commandhandler import CommandHandler from telegram.ext.inlinequeryhandler import \ InlineQueryHandler as CoreInlineQueryHandler from telegram.inline.inputtextmessagecontent import InputTextMessageContent from telegram.update import Update +from bot.handler.abstractHandler import AbstractHandler +from entity.group import Group +from exception.actionNotAllowedException import ActionNotAllowedException +from validator.accessValidator import AccessValidator + class InlineQueryHandler(AbstractHandler): - bot_handler: CommandHandler + bot_handler: CoreInlineQueryHandler def __init__(self) -> None: self.bot_handler = CoreInlineQueryHandler(self.handle) def handle(self, update: Update, context: CallbackContext) -> None: + try: + AccessValidator.validate(str(update.effective_user.id)) + except ActionNotAllowedException: + update.inline_query.answer([]) + return + group_display = update.inline_query.query or Group.default_name group = '' if group_display == Group.default_name else group_display @@ -41,6 +49,3 @@ class InlineQueryHandler(AbstractHandler): ] update.inline_query.answer(results, cache_time=4800) - - def get_bot_handler(self) -> CoreInlineQueryHandler: - return self.bot_handler diff --git a/src/bot/handler/joinHandler.py b/src/bot/handler/joinHandler.py index 5262a16..8252033 100755 --- a/src/bot/handler/joinHandler.py +++ b/src/bot/handler/joinHandler.py @@ -1,46 +1,41 @@ -from telegram.utils.helpers import mention_markdown -from bot.handler.abstractHandler import AbstractHandler -from bot.message.messageData import MessageData -from config.contents import joined, not_joined -from exception.invalidArgumentException import InvalidArgumentException -from exception.notFoundException import NotFoundException -from logger import Logger -from repository.userRepository import UserRepository from telegram.ext.callbackcontext import CallbackContext from telegram.ext.commandhandler import CommandHandler from telegram.update import Update +from bot.handler.abstractHandler import AbstractHandler +from bot.message.messageData import MessageData +from bot.message.replier import Replier +from config.contents import joined, not_joined +from exception.notFoundException import NotFoundException +from logger import Logger +from repository.userRepository import UserRepository + class JoinHandler(AbstractHandler): bot_handler: CommandHandler user_repository: UserRepository + action: str = 'join' def __init__(self) -> None: - self.bot_handler = CommandHandler('join', self.handle) + self.bot_handler = CommandHandler(self.action, self.handle) self.user_repository = UserRepository() def handle(self, update: Update, context: CallbackContext) -> None: try: message_data = MessageData.create_from_arguments(update, context) - except InvalidArgumentException as e: - return self.reply_markdown(update, str(e)) + except Exception as e: + return Replier.markdown(update, str(e)) try: user = self.user_repository.get_by_id(message_data.user_id) if user.is_in_chat(message_data.chat_id): - return self.reply_markdown(update, self.interpolate_reply(not_joined, message_data)) + return Replier.markdown(update, Replier.interpolate(not_joined, message_data)) user.add_to_chat(message_data.chat_id) self.user_repository.save(user) except NotFoundException: self.user_repository.save_by_message_data(message_data) - self.reply_markdown(update, self.interpolate_reply(joined, message_data)) - self.log_action(message_data) - - def get_bot_handler(self) -> CommandHandler: - return self.bot_handler - - def log_action(self, message_data: MessageData) -> None: - Logger.info(f'User {message_data.username} joined {message_data.chat_id}') + Replier.markdown(update, Replier.interpolate(joined, message_data)) + Logger.action(message_data, self.action) diff --git a/src/bot/handler/leaveHandler.py b/src/bot/handler/leaveHandler.py index 73b7588..75a4e97 100755 --- a/src/bot/handler/leaveHandler.py +++ b/src/bot/handler/leaveHandler.py @@ -1,45 +1,37 @@ -from bot.handler.abstractHandler import AbstractHandler -from bot.message.messageData import MessageData -from config.contents import left, not_left -from exception.invalidArgumentException import InvalidArgumentException -from exception.notFoundException import NotFoundException -from logger import Logger -from repository.userRepository import UserRepository from telegram.ext.callbackcontext import CallbackContext from telegram.ext.commandhandler import CommandHandler from telegram.update import Update +from bot.handler.abstractHandler import AbstractHandler +from bot.message.messageData import MessageData +from bot.message.replier import Replier +from config.contents import left, not_left +from exception.notFoundException import NotFoundException +from logger import Logger +from repository.userRepository import UserRepository + class LeaveHandler(AbstractHandler): bot_handler: CommandHandler user_repository: UserRepository + action: str = 'leave' def __init__(self) -> None: - self.bot_handler = CommandHandler('leave', self.handle) + self.bot_handler = CommandHandler(self.action, self.handle) self.user_repository = UserRepository() def handle(self, update: Update, context: CallbackContext) -> None: try: message_data = MessageData.create_from_arguments(update, context) - except InvalidArgumentException as e: - return self.reply_markdown(update, str(e)) + except Exception as e: + return Replier.markdown(update, str(e)) try: - user = self.user_repository.get_by_id(message_data.user_id) + user = self.user_repository.get_by_id_and_chat_id(message_data.user_id, message_data.chat_id) + user.remove_from_chat(message_data.chat_id) + self.user_repository.save(user) - if not user.is_in_chat(message_data.chat_id): - raise NotFoundException() + Replier.markdown(update, Replier.interpolate(left, message_data)) + Logger.action(message_data, self.action) except NotFoundException: - return self.reply_markdown(update, self.interpolate_reply(not_left, message_data)) - - user.remove_from_chat(message_data.chat_id) - self.user_repository.save(user) - - self.reply_markdown(update, self.interpolate_reply(left, message_data)) - self.log_action(message_data) - - def get_bot_handler(self) -> CommandHandler: - return self.bot_handler - - def log_action(self, message_data: MessageData) -> None: - Logger.info(f'User {message_data.username} left {message_data.chat_id}') + return Replier.markdown(update, Replier.interpolate(not_left, message_data)) diff --git a/src/bot/handler/mentionHandler.py b/src/bot/handler/mentionHandler.py deleted file mode 100755 index d44e8cb..0000000 --- a/src/bot/handler/mentionHandler.py +++ /dev/null @@ -1,47 +0,0 @@ -from typing import Iterable - -from telegram.utils.helpers import mention_markdown - -from bot.handler.abstractHandler import AbstractHandler -from bot.message.messageData import MessageData -from config.contents import mention_failed -from entity.user import User -from exception.invalidArgumentException import InvalidArgumentException -from logger import Logger -from repository.userRepository import UserRepository -from telegram.ext.callbackcontext import CallbackContext -from telegram.ext.commandhandler import CommandHandler -from telegram.update import Update - - -class MentionHandler(AbstractHandler): - bot_handler: CommandHandler - user_repository: UserRepository - - def __init__(self) -> None: - self.bot_handler = CommandHandler('everyone', self.handle) - self.user_repository = UserRepository() - - def handle(self, update: Update, context: CallbackContext) -> None: - try: - message_data = MessageData.create_from_arguments(update, context) - except InvalidArgumentException as e: - return self.reply_markdown(update, str(e)) - - users = self.user_repository.get_all_for_chat(message_data.chat_id) - - if users: - self.reply_markdown(update, self.build_mention_message(users)) - return self.log_action(message_data) - - self.reply_markdown(update, mention_failed) - - def get_bot_handler(self) -> CommandHandler: - return self.bot_handler - - def log_action(self, message_data: MessageData) -> None: - Logger.info(f'User {message_data.username} called /everyone for {message_data.chat_id}') - - def build_mention_message(self, users: Iterable[User]) -> str: - return ' '.join([mention_markdown(user.user_id, user.username) for user in users]) - diff --git a/src/bot/handler/silentMentionHandler.py b/src/bot/handler/silentMentionHandler.py deleted file mode 100644 index c1a0248..0000000 --- a/src/bot/handler/silentMentionHandler.py +++ /dev/null @@ -1,21 +0,0 @@ -from typing import Iterable - -from entity.user import User -from logger import Logger -from telegram.ext.commandhandler import CommandHandler - -from bot.handler.abstractHandler import AbstractHandler -from bot.handler.mentionHandler import MentionHandler -from bot.message.messageData import MessageData - - -class MentionHandler(MentionHandler, AbstractHandler): - def __init__(self) -> None: - super().__init__() - self.bot_handler = CommandHandler('silent', self.handle) - - def build_mention_message(self, users: Iterable[User]) -> str: - return ' '.join([user.username for user in users]) - - def log_action(self, message_data: MessageData) -> None: - Logger.info(f'User {message_data.username} called /silent for {message_data.chat_id}') diff --git a/src/bot/handler/startHandler.py b/src/bot/handler/startHandler.py index 8454d08..0c1f283 100644 --- a/src/bot/handler/startHandler.py +++ b/src/bot/handler/startHandler.py @@ -1,25 +1,25 @@ -from config.contents import start_text -from logger import Logger from telegram.ext.callbackcontext import CallbackContext from telegram.ext.commandhandler import CommandHandler from telegram.update import Update from bot.handler.abstractHandler import AbstractHandler from bot.message.messageData import MessageData +from bot.message.replier import Replier +from config.contents import start_text +from logger import Logger class StartHandler(AbstractHandler): bot_handler: CommandHandler + action: str = 'start' def __init__(self) -> None: - self.bot_handler = CommandHandler('start', self.handle) + self.bot_handler = CommandHandler(self.action, self.handle) def handle(self, update: Update, context: CallbackContext) -> None: - self.reply_markdown(update, start_text) - self.log_action(MessageData.create_from_arguments(update, context)) - - def get_bot_handler(self) -> CommandHandler: - return self.bot_handler - - def log_action(self, message_data: MessageData) -> None: - Logger.info(f'User {message_data.username} called /start for {message_data.chat_id}') + try: + MessageData.create_from_arguments(update, context) + except Exception as e: + return Replier.markdown(update, str(e)) + Replier.markdown(update, start_text) + Logger.action(MessageData.create_from_arguments(update, context), self.action) diff --git a/src/bot/message/messageData.py b/src/bot/message/messageData.py index a63420e..de04f31 100644 --- a/src/bot/message/messageData.py +++ b/src/bot/message/messageData.py @@ -1,19 +1,18 @@ from __future__ import annotations -import re from dataclasses import dataclass import names -from entity.group import Group -from exception.invalidArgumentException import InvalidArgumentException from telegram.ext.callbackcontext import CallbackContext from telegram.update import Update +from entity.group import Group +from validator.accessValidator import AccessValidator from validator.groupNameValidator import GroupNameValidator @dataclass -class MessageData(): +class MessageData: user_id: str chat_id: str group_name: str @@ -21,6 +20,9 @@ class MessageData(): @staticmethod def create_from_arguments(update: Update, context: CallbackContext, include_group: bool = True) -> MessageData: + user_id = str(update.effective_user.id) + AccessValidator.validate(user_id) + chat_id = str(update.effective_chat.id) group_name = Group.default_name @@ -31,9 +33,7 @@ class MessageData(): if group_name is not Group.default_name: chat_id += f'~{group_name}' - - user_id = str(update.effective_user.id) username = update.effective_user.username or update.effective_user.first_name if not username: diff --git a/src/bot/message/replier.py b/src/bot/message/replier.py new file mode 100644 index 0000000..b2f7c02 --- /dev/null +++ b/src/bot/message/replier.py @@ -0,0 +1,29 @@ +from telegram import Update +from telegram.utils.helpers import mention_markdown + +from bot.message.messageData import MessageData +from logger import Logger + + +class Replier: + + @staticmethod + def interpolate(content: str, message_data: MessageData): + return content.format( + mention_markdown(message_data.user_id, message_data.username), + message_data.group_name + ) + + @staticmethod + def markdown(update: Update, message: str) -> None: + try: + update.effective_message.reply_markdown_v2(message) + except Exception as err: + Logger.error(str(err)) + + @staticmethod + def html(update: Update, html: str) -> None: + try: + update.effective_message.reply_html(html) + except Exception as err: + Logger.error(str(err)) diff --git a/src/config/contents.py b/src/config/contents.py index 8a7f81f..3a750dc 100755 --- a/src/config/contents.py +++ b/src/config/contents.py @@ -5,7 +5,6 @@ not_left = '{} did not join group `{}` before' mention_failed = 'There are no users to mention' no_groups = 'There are no groups for this chat' - start_text = """ Hello there I am @everyone\_mention\_bot @@ -32,4 +31,4 @@ To display all members in a group: You can also try to tag me @everyone\_mention\_bot and then enter group name Possible results will be displayed -""" \ No newline at end of file +""" diff --git a/src/config/credentials.py b/src/config/credentials.py index ef89331..fccb6bd 100755 --- a/src/config/credentials.py +++ b/src/config/credentials.py @@ -13,3 +13,5 @@ MONGODB_USERNAME = os.environ['MONGODB_USERNAME'] MONGODB_PASSWORD = os.environ['MONGODB_PASSWORD'] MONGODB_HOSTNAME = os.environ['MONGODB_HOSTNAME'] MONGODB_PORT = os.environ['MONGODB_PORT'] + +BANNED_USERS = os.environ['BANNED_USERS'].split(',') or [] diff --git a/src/database/client.py b/src/database/client.py index e3ef7be..e8df0be 100755 --- a/src/database/client.py +++ b/src/database/client.py @@ -1,13 +1,14 @@ from urllib.parse import quote_plus +from pymongo import MongoClient +from pymongo.database import Database + from config.credentials import (MONGODB_DATABASE, MONGODB_HOSTNAME, MONGODB_PASSWORD, MONGODB_PORT, MONGODB_USERNAME) -from pymongo import MongoClient -from pymongo.database import Database -class Client(): +class Client: mongo_client: MongoClient database: Database @@ -32,7 +33,7 @@ class Client(): def update_one(self, collection: str, filter: dict, data: dict) -> None: self.database.get_collection(collection).update_one( filter, - { "$set" : data } + {"$set": data} ) def aggregate(self, collection, pipeline: list): diff --git a/src/entity/group.py b/src/entity/group.py index ff526f9..113202d 100644 --- a/src/entity/group.py +++ b/src/entity/group.py @@ -4,7 +4,7 @@ from dataclasses import dataclass @dataclass -class Group(): +class Group: chat_id: str group_name: str users_count: int diff --git a/src/entity/user.py b/src/entity/user.py index 50a32a8..75611db 100644 --- a/src/entity/user.py +++ b/src/entity/user.py @@ -1,14 +1,14 @@ from __future__ import annotations from dataclasses import dataclass -from typing import Iterable +from typing import List @dataclass -class User(): +class User: user_id: str username: str - chats: Iterable[str] + chats: List[str] collection: str = 'users' id_index: str = '_id' diff --git a/src/exception/actionNotAllowedException.py b/src/exception/actionNotAllowedException.py new file mode 100644 index 0000000..e20e369 --- /dev/null +++ b/src/exception/actionNotAllowedException.py @@ -0,0 +1,2 @@ +class ActionNotAllowedException(Exception): + pass diff --git a/src/logger.py b/src/logger.py index 4d0bbba..51bcd27 100644 --- a/src/logger.py +++ b/src/logger.py @@ -3,7 +3,10 @@ from __future__ import annotations import logging import os +from bot.message.messageData import MessageData + +# noinspection SpellCheckingInspection class Logger: action_logger: str = 'action-logger' action_logger_file: str = '/var/log/bot/action.log' @@ -11,9 +14,10 @@ class Logger: main_logger: str = 'main-logger' main_logger_file: str = '/var/log/bot/app.log' - formatter: str = logging.Formatter('%(asctime)s[%(levelname)s]: %(message)s') + # noinspection SpellCheckingInspection + formatter: logging.Formatter = logging.Formatter('%(asctime)s[%(levelname)s]: %(message)s') - def setup(self) -> None: + def __init__(self): self.configure(self.action_logger, self.action_logger_file, logging.INFO) self.configure(self.main_logger, self.main_logger_file, logging.ERROR) @@ -32,12 +36,22 @@ class Logger: logger.addHandler(file_handler) logger.addHandler(stream_handler) + @staticmethod + def register() -> None: + Logger() + @staticmethod def get_logger(logger_name) -> logging.Logger: return logging.getLogger(logger_name) + @staticmethod def info(message: str) -> None: Logger.get_logger(Logger.action_logger).info(message) + @staticmethod def error(message: str) -> None: - Logger.get_logger(Logger.main_logger).error(message) \ No newline at end of file + Logger.get_logger(Logger.main_logger).error(message) + + @staticmethod + def action(message_data: MessageData, action: str) -> None: + Logger.info(f'User {message_data.username}({message_data.user_id}) called {action.upper()} for {message_data.chat_id}') diff --git a/src/repository/groupRepository.py b/src/repository/groupRepository.py index 82363df..43832e0 100644 --- a/src/repository/groupRepository.py +++ b/src/repository/groupRepository.py @@ -1,13 +1,13 @@ -import itertools import re from typing import Iterable from database.client import Client from entity.group import Group from entity.user import User +from exception.notFoundException import NotFoundException -class GroupRepository(): +class GroupRepository: client: Client count: str = 'count' @@ -19,22 +19,22 @@ class GroupRepository(): groups = self.client.aggregate( User.collection, [ - { "$unwind": f'${User.chats_index}' }, + {"$unwind": f'${User.chats_index}'}, { "$match": { - User.chats_index: { "$regex": re.compile(f'^{chat_id}.*$') }, + User.chats_index: {"$regex": re.compile(f'^{chat_id}.*$')}, }, }, { "$group": { "_id": { - "$last": { "$split": [f'${User.chats_index}', "~"] }, + "$last": {"$split": [f'${User.chats_index}', "~"]}, }, - self.count: { "$count": {} }, + self.count: {"$count": {}}, }, }, { - "$sort": { '_id': 1 } + "$sort": {'_id': 1} } ] ) @@ -50,4 +50,7 @@ class GroupRepository(): Group(chat_id, group_name, group[self.count]) ) + if not groups: + raise NotFoundException + return result diff --git a/src/repository/userRepository.py b/src/repository/userRepository.py index d4371f6..94d5d62 100644 --- a/src/repository/userRepository.py +++ b/src/repository/userRepository.py @@ -1,4 +1,4 @@ -from typing import Iterable, Optional +from typing import Iterable from bot.message.messageData import MessageData from database.client import Client @@ -6,57 +6,65 @@ from entity.user import User from exception.notFoundException import NotFoundException -class UserRepository(): +class UserRepository: client: Client def __init__(self) -> None: self.client = Client() - def get_by_id(self, id: str) -> User: + def get_by_id(self, user_id: str) -> User: user = self.client.find_one( User.collection, { - User.id_index: id + User.id_index: user_id } ) if not user: - raise NotFoundException(f'Could not find user with "{id}" id') + raise NotFoundException(f'Could not find user with "{user_id}" id') return User( user[User.id_index], user[User.username_index], user[User.chats_index] ) - + + def get_by_id_and_chat_id(self, user_id: str, chat_id: str) -> User: + user = self.get_by_id(user_id) + + if not user.is_in_chat(chat_id): + raise NotFoundException + + return user + def save(self, user: User) -> None: self.client.update_one( User.collection, - { User.id_index: user.user_id }, + {User.id_index: user.user_id}, user.to_mongo_document() ) def save_by_message_data(self, data: MessageData) -> None: self.client.insert_one( - User.collection, + User.collection, { User.id_index: data.user_id, User.username_index: data.username, User.chats_index: [data.chat_id] } ) - + def get_all_for_chat(self, chat_id: str) -> Iterable[User]: result = [] users = self.client.find_many( User.collection, { User.chats_index: { - "$in" : [chat_id] + "$in": [chat_id] } } ) - + for record in users: result.append(User.from_mongo_document(record)) diff --git a/src/utils/messageBuilder.py b/src/utils/messageBuilder.py new file mode 100644 index 0000000..396664e --- /dev/null +++ b/src/utils/messageBuilder.py @@ -0,0 +1,21 @@ +from typing import Iterable + +from prettytable import prettytable +from telegram.utils.helpers import mention_markdown + +from entity.group import Group +from entity.user import User + + +class MessageBuilder: + @staticmethod + def group_message(groups: Iterable[Group]) -> str: + table = prettytable.PrettyTable(['Name', 'Members']) + + table.add_rows([[record.group_name, record.users_count] for record in groups]) + + return f'
{str(table)}
' + + @staticmethod + def mention_message(users: Iterable[User]) -> str: + return ' '.join([mention_markdown(user.user_id, user.username) for user in users]) diff --git a/src/validator/accessValidator.py b/src/validator/accessValidator.py new file mode 100644 index 0000000..8d1dac8 --- /dev/null +++ b/src/validator/accessValidator.py @@ -0,0 +1,10 @@ +from config.credentials import BANNED_USERS +from exception.actionNotAllowedException import ActionNotAllowedException + + +class AccessValidator: + + @staticmethod + def validate(user_id: str) -> None: + if user_id in BANNED_USERS: + raise ActionNotAllowedException('You are banned') From b451569ddb7f79f600f7c1f42b65f7edfe0589de Mon Sep 17 00:00:00 2001 From: miloszowi Date: Fri, 8 Oct 2021 15:54:17 +0200 Subject: [PATCH 3/9] removed /silent from start help text --- src/config/contents.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/config/contents.py b/src/config/contents.py index 3a750dc..9b5e7b7 100755 --- a/src/config/contents.py +++ b/src/config/contents.py @@ -26,9 +26,6 @@ To gather everyone attention use: To see all available groups use: `/groups` -To display all members in a group: -`/silent ` - You can also try to tag me @everyone\_mention\_bot and then enter group name Possible results will be displayed """ From fb223556cbf6083e2909cd4df693fc63aa9fa7e6 Mon Sep 17 00:00:00 2001 From: miloszowi Date: Fri, 8 Oct 2021 17:35:03 +0200 Subject: [PATCH 4/9] group name validation changed to accept all alphanumeric characters, fixed no groups reply --- src/repository/groupRepository.py | 2 +- src/validator/groupNameValidator.py | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/repository/groupRepository.py b/src/repository/groupRepository.py index 43832e0..004683f 100644 --- a/src/repository/groupRepository.py +++ b/src/repository/groupRepository.py @@ -50,7 +50,7 @@ class GroupRepository: Group(chat_id, group_name, group[self.count]) ) - if not groups: + if not result: raise NotFoundException return result diff --git a/src/validator/groupNameValidator.py b/src/validator/groupNameValidator.py index 3eca5e4..4c89902 100644 --- a/src/validator/groupNameValidator.py +++ b/src/validator/groupNameValidator.py @@ -4,13 +4,14 @@ from exception.invalidArgumentException import InvalidArgumentException class GroupNameValidator: + MAX_GROUP_NAME_LENGTH: int = 20 @staticmethod def validate(group: str) -> None: group = group.lower() - if len(group) > 0 and not re.match(r"^[A-Za-z]+$", group): - raise InvalidArgumentException(re.escape('Group name must contain only letters.')) + if len(group) > 0 and not re.match('^\w+$', group): + raise InvalidArgumentException(re.escape('Special characters are not allowed.')) - if len(group) > 20: - raise InvalidArgumentException(re.escape(f'Group name length can not be greater than 20.')) + if len(group) > GroupNameValidator.MAX_GROUP_NAME_LENGTH: + raise InvalidArgumentException(re.escape(f'Group name length can not be greater than {GroupNameValidator.MAX_GROUP_NAME_LENGTH}.')) From ea2fddff40f87623ba0505a34165d19604482944 Mon Sep 17 00:00:00 2001 From: miloszowi Date: Mon, 11 Oct 2021 17:20:39 +0200 Subject: [PATCH 5/9] AbstractHandler wrap method addition, updated start text content and added buttons, changed MessageData to InboundMessage, better logging, code quality improvements, changed env files naming --- CHANGELOG.md | 18 +++----- README.md | 4 +- docker/config/{app.dist.env => app.env.local} | 0 .../{database.dist.env => database.env.local} | 0 src/app.py | 2 +- src/bot/handler/abstractHandler.py | 21 +++++++++ src/bot/handler/everyoneHandler.py | 19 +++----- src/bot/handler/groupsHandler.py | 15 +++---- src/bot/handler/joinHandler.py | 22 ++++------ src/bot/handler/leaveHandler.py | 18 +++----- src/bot/handler/startHandler.py | 27 ++++++++---- .../{messageData.py => inboundMessage.py} | 8 ++-- src/bot/message/replier.py | 20 +++++---- src/config/contents.py | 44 ++++++++++++------- src/config/{credentials.py => envs.py} | 0 src/database/client.py | 6 +-- src/logger.py | 16 ++++--- src/repository/userRepository.py | 13 +++--- src/validator/accessValidator.py | 4 +- 19 files changed, 142 insertions(+), 115 deletions(-) rename docker/config/{app.dist.env => app.env.local} (100%) rename docker/config/{database.dist.env => database.env.local} (100%) rename src/bot/message/{messageData.py => inboundMessage.py} (78%) rename src/config/{credentials.py => envs.py} (100%) diff --git a/CHANGELOG.md b/CHANGELOG.md index ab1209b..8d7c61c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,22 +1,16 @@ # Change Log All notable changes to this project will be documented in this file. -## [UNRELEASED] - 07.10.2021 +## [UNRELEASED] - 11.10.2021 ### Added -- Inline Query for join/leave/everyone -- Group name validator -- Banned users env -- Access validator -- ActionNotAllowedException - +- Inline Query for `join`, `leave` & `everyone` +- Banned users +- Buttons for `start` message ### Changed -- code quality improvements - +- Code quality improvements +- `start` text ### Deleted - `/silent` command - -### Updated -- start command content ## [0.1.0] - 06.10.2021 ### Features - `/join` command diff --git a/README.md b/README.md index 78eda54..d37470f 100755 --- a/README.md +++ b/README.md @@ -34,8 +34,8 @@ git clone https://github.com/miloszowi/everyone-mention-telegram-bot.git - copy environment files and fulfill empty values ```bash cp .env.local .env -cp docker/config/app.dist.env docker/config/app.env -cp docker/config/database.dist.env docker/config/app.env +cp docker/config/app.env.local docker/config/app.env +cp docker/config/database.env.local docker/config/app.env ``` - start the project (`-d` flag will run containers in detached mode) ```bash diff --git a/docker/config/app.dist.env b/docker/config/app.env.local similarity index 100% rename from docker/config/app.dist.env rename to docker/config/app.env.local diff --git a/docker/config/database.dist.env b/docker/config/database.env.local similarity index 100% rename from docker/config/database.dist.env rename to docker/config/database.env.local diff --git a/src/app.py b/src/app.py index 67ac0b3..a5ccf9b 100755 --- a/src/app.py +++ b/src/app.py @@ -3,7 +3,7 @@ from telegram.ext.dispatcher import Dispatcher from bot.handler import * from bot.handler.abstractHandler import AbstractHandler -from config.credentials import BOT_TOKEN, PORT, WEBHOOK_URL +from config.envs import BOT_TOKEN, PORT, WEBHOOK_URL from logger import Logger diff --git a/src/bot/handler/abstractHandler.py b/src/bot/handler/abstractHandler.py index ea57502..c52118d 100755 --- a/src/bot/handler/abstractHandler.py +++ b/src/bot/handler/abstractHandler.py @@ -4,10 +4,31 @@ from telegram.ext import Handler from telegram.ext.callbackcontext import CallbackContext from telegram.update import Update +from bot.message.inboundMessage import InboundMessage +from bot.message.replier import Replier +from exception.actionNotAllowedException import ActionNotAllowedException +from exception.invalidArgumentException import InvalidArgumentException +from logger import Logger + class AbstractHandler: bot_handler: Handler + inbound: InboundMessage @abstractmethod def handle(self, update: Update, context: CallbackContext) -> None: raise Exception('handle method is not implemented') + + def wrap(self, update: Update, context: CallbackContext) -> None: + try: + group_specific = self.is_group_specific() + + self.inbound = InboundMessage.create(update, context, group_specific) + self.handle(update, context) + except (ActionNotAllowedException, InvalidArgumentException) as e: + Replier.markdown(update, str(e)) + except Exception as e: + Logger.exception(e) + + def is_group_specific(self) -> bool: + return True diff --git a/src/bot/handler/everyoneHandler.py b/src/bot/handler/everyoneHandler.py index 9f717e8..36ac603 100755 --- a/src/bot/handler/everyoneHandler.py +++ b/src/bot/handler/everyoneHandler.py @@ -3,9 +3,9 @@ from telegram.ext.commandhandler import CommandHandler from telegram.update import Update from bot.handler.abstractHandler import AbstractHandler -from bot.message.messageData import MessageData from bot.message.replier import Replier from config.contents import mention_failed +from exception.notFoundException import NotFoundException from logger import Logger from repository.userRepository import UserRepository from utils.messageBuilder import MessageBuilder @@ -17,19 +17,14 @@ class EveryoneHandler(AbstractHandler): action: str = 'everyone' def __init__(self) -> None: - self.bot_handler = CommandHandler(self.action, self.handle) + self.bot_handler = CommandHandler(self.action, self.wrap) self.user_repository = UserRepository() def handle(self, update: Update, context: CallbackContext) -> None: try: - message_data = MessageData.create_from_arguments(update, context) - except Exception as e: - return Replier.markdown(update, str(e)) - - users = self.user_repository.get_all_for_chat(message_data.chat_id) - - if users: - Replier.markdown(update, MessageBuilder.mention_message(users)) - return Logger.action(message_data, self.action) + users = self.user_repository.get_all_for_chat(self.inbound.chat_id) - Replier.markdown(update, mention_failed) + Replier.markdown(update, MessageBuilder.mention_message(users)) + Logger.action(self.inbound, self.action) + except NotFoundException: + Replier.markdown(update, mention_failed) diff --git a/src/bot/handler/groupsHandler.py b/src/bot/handler/groupsHandler.py index 9414d5a..deff1c4 100644 --- a/src/bot/handler/groupsHandler.py +++ b/src/bot/handler/groupsHandler.py @@ -3,7 +3,6 @@ from telegram.ext.commandhandler import CommandHandler from telegram.update import Update from bot.handler.abstractHandler import AbstractHandler -from bot.message.messageData import MessageData from bot.message.replier import Replier from config.contents import no_groups from exception.notFoundException import NotFoundException @@ -18,19 +17,17 @@ class GroupsHandler(AbstractHandler): action: str = 'groups' def __init__(self) -> None: - self.bot_handler = CommandHandler(self.action, self.handle) + self.bot_handler = CommandHandler(self.action, self.wrap) self.group_repository = GroupRepository() def handle(self, update: Update, context: CallbackContext) -> None: try: - message_data = MessageData.create_from_arguments(update, context, False) - except Exception as e: - return Replier.markdown(update, str(e)) - - try: - groups = self.group_repository.get_by_chat_id(message_data.chat_id) + groups = self.group_repository.get_by_chat_id(self.inbound.chat_id) Replier.html(update, MessageBuilder.group_message(groups)) - Logger.action(message_data, self.action) + Logger.action(self.inbound, self.action) except NotFoundException: Replier.markdown(update, no_groups) + + def is_group_specific(self) -> bool: + return False diff --git a/src/bot/handler/joinHandler.py b/src/bot/handler/joinHandler.py index 8252033..d6f2067 100755 --- a/src/bot/handler/joinHandler.py +++ b/src/bot/handler/joinHandler.py @@ -3,7 +3,6 @@ from telegram.ext.commandhandler import CommandHandler from telegram.update import Update from bot.handler.abstractHandler import AbstractHandler -from bot.message.messageData import MessageData from bot.message.replier import Replier from config.contents import joined, not_joined from exception.notFoundException import NotFoundException @@ -17,25 +16,20 @@ class JoinHandler(AbstractHandler): action: str = 'join' def __init__(self) -> None: - self.bot_handler = CommandHandler(self.action, self.handle) + self.bot_handler = CommandHandler(self.action, self.wrap) self.user_repository = UserRepository() def handle(self, update: Update, context: CallbackContext) -> None: try: - message_data = MessageData.create_from_arguments(update, context) - except Exception as e: - return Replier.markdown(update, str(e)) + user = self.user_repository.get_by_id(self.inbound.user_id) - try: - user = self.user_repository.get_by_id(message_data.user_id) + if user.is_in_chat(self.inbound.chat_id): + return Replier.markdown(update, Replier.interpolate(not_joined, self.inbound)) - if user.is_in_chat(message_data.chat_id): - return Replier.markdown(update, Replier.interpolate(not_joined, message_data)) - - user.add_to_chat(message_data.chat_id) + user.add_to_chat(self.inbound.chat_id) self.user_repository.save(user) except NotFoundException: - self.user_repository.save_by_message_data(message_data) + self.user_repository.save_by_inbound_message(self.inbound) - Replier.markdown(update, Replier.interpolate(joined, message_data)) - Logger.action(message_data, self.action) + Replier.markdown(update, Replier.interpolate(joined, self.inbound)) + Logger.action(self.inbound, self.action) diff --git a/src/bot/handler/leaveHandler.py b/src/bot/handler/leaveHandler.py index 75a4e97..e031596 100755 --- a/src/bot/handler/leaveHandler.py +++ b/src/bot/handler/leaveHandler.py @@ -3,7 +3,6 @@ from telegram.ext.commandhandler import CommandHandler from telegram.update import Update from bot.handler.abstractHandler import AbstractHandler -from bot.message.messageData import MessageData from bot.message.replier import Replier from config.contents import left, not_left from exception.notFoundException import NotFoundException @@ -17,21 +16,16 @@ class LeaveHandler(AbstractHandler): action: str = 'leave' def __init__(self) -> None: - self.bot_handler = CommandHandler(self.action, self.handle) + self.bot_handler = CommandHandler(self.action, self.wrap) self.user_repository = UserRepository() def handle(self, update: Update, context: CallbackContext) -> None: try: - message_data = MessageData.create_from_arguments(update, context) - except Exception as e: - return Replier.markdown(update, str(e)) - - try: - user = self.user_repository.get_by_id_and_chat_id(message_data.user_id, message_data.chat_id) - user.remove_from_chat(message_data.chat_id) + user = self.user_repository.get_by_id_and_chat_id(self.inbound.user_id, self.inbound.chat_id) + user.remove_from_chat(self.inbound.chat_id) self.user_repository.save(user) - Replier.markdown(update, Replier.interpolate(left, message_data)) - Logger.action(message_data, self.action) + Replier.markdown(update, Replier.interpolate(left, self.inbound)) + Logger.action(self.inbound, self.action) except NotFoundException: - return Replier.markdown(update, Replier.interpolate(not_left, message_data)) + return Replier.markdown(update, Replier.interpolate(not_left, self.inbound)) diff --git a/src/bot/handler/startHandler.py b/src/bot/handler/startHandler.py index 0c1f283..46e0427 100644 --- a/src/bot/handler/startHandler.py +++ b/src/bot/handler/startHandler.py @@ -1,9 +1,9 @@ +from telegram import InlineKeyboardButton, InlineKeyboardMarkup from telegram.ext.callbackcontext import CallbackContext from telegram.ext.commandhandler import CommandHandler from telegram.update import Update from bot.handler.abstractHandler import AbstractHandler -from bot.message.messageData import MessageData from bot.message.replier import Replier from config.contents import start_text from logger import Logger @@ -14,12 +14,23 @@ class StartHandler(AbstractHandler): action: str = 'start' def __init__(self) -> None: - self.bot_handler = CommandHandler(self.action, self.handle) + self.bot_handler = CommandHandler(self.action, self.wrap) def handle(self, update: Update, context: CallbackContext) -> None: - try: - MessageData.create_from_arguments(update, context) - except Exception as e: - return Replier.markdown(update, str(e)) - Replier.markdown(update, start_text) - Logger.action(MessageData.create_from_arguments(update, context), self.action) + markup = InlineKeyboardMarkup( + [ + [ + InlineKeyboardButton('Inline Mode', switch_inline_query_current_chat='example'), + ], + [ + InlineKeyboardButton('GitHub', url='https://github.com/miloszowi/everyone-mention-telegram-bot'), + InlineKeyboardButton('Creator', url='https://t.me/miloszowi') + ] + ] + ) + + Replier.html(update, start_text, markup) + Logger.action(self.inbound, self.action) + + def is_group_specific(self) -> bool: + return False diff --git a/src/bot/message/messageData.py b/src/bot/message/inboundMessage.py similarity index 78% rename from src/bot/message/messageData.py rename to src/bot/message/inboundMessage.py index de04f31..697f7c6 100644 --- a/src/bot/message/messageData.py +++ b/src/bot/message/inboundMessage.py @@ -12,21 +12,21 @@ from validator.groupNameValidator import GroupNameValidator @dataclass -class MessageData: +class InboundMessage: user_id: str chat_id: str group_name: str username: str @staticmethod - def create_from_arguments(update: Update, context: CallbackContext, include_group: bool = True) -> MessageData: + def create(update: Update, context: CallbackContext, group_specific: bool) -> InboundMessage: user_id = str(update.effective_user.id) AccessValidator.validate(user_id) chat_id = str(update.effective_chat.id) group_name = Group.default_name - if context.args and context.args[0] and include_group: + if context.args and context.args[0] and group_specific: group_name = str(context.args[0]).lower() GroupNameValidator.validate(group_name) @@ -39,4 +39,4 @@ class MessageData: if not username: username = names.get_first_name() - return MessageData(user_id, chat_id, group_name, username) + return InboundMessage(user_id, chat_id, group_name, username) diff --git a/src/bot/message/replier.py b/src/bot/message/replier.py index b2f7c02..6d207dd 100644 --- a/src/bot/message/replier.py +++ b/src/bot/message/replier.py @@ -1,29 +1,31 @@ -from telegram import Update +from typing import Optional + +from telegram import InlineKeyboardMarkup, Update from telegram.utils.helpers import mention_markdown -from bot.message.messageData import MessageData +from bot.message.inboundMessage import InboundMessage from logger import Logger class Replier: @staticmethod - def interpolate(content: str, message_data: MessageData): + def interpolate(content: str, inbound_message: InboundMessage): return content.format( - mention_markdown(message_data.user_id, message_data.username), - message_data.group_name + mention_markdown(inbound_message.user_id, inbound_message.username), + inbound_message.group_name ) @staticmethod - def markdown(update: Update, message: str) -> None: + def markdown(update: Update, message: str, reply_markup: Optional[InlineKeyboardMarkup] = None) -> None: try: - update.effective_message.reply_markdown_v2(message) + update.effective_message.reply_markdown_v2(message, reply_markup=reply_markup) except Exception as err: Logger.error(str(err)) @staticmethod - def html(update: Update, html: str) -> None: + def html(update: Update, html: str, reply_markup: Optional[InlineKeyboardMarkup] = None) -> None: try: - update.effective_message.reply_html(html) + update.effective_message.reply_html(html, reply_markup=reply_markup, disable_web_page_preview=True) except Exception as err: Logger.error(str(err)) diff --git a/src/config/contents.py b/src/config/contents.py index 9b5e7b7..3aa3cdb 100755 --- a/src/config/contents.py +++ b/src/config/contents.py @@ -1,3 +1,4 @@ +# markdownv2 python-telegram-bot specific joined = '{} joined group `{}`' not_joined = '{} is already in group `{}`' left = '{} left group `{}`' @@ -5,27 +6,38 @@ not_left = '{} did not join group `{}` before' mention_failed = 'There are no users to mention' no_groups = 'There are no groups for this chat' + +# html python-telegram-bot specific start_text = """ -Hello there -I am @everyone\_mention\_bot -I am here to help you with mass notifies +Hello! +@everyone_mention_bot here. +I am here to help you with multiple user mentions. -Please take a look at available commands -`` is not required, if not given, it is set to `default` +Using Inline Mode is recommended because
policy of bots with privacy mode enabled says that command trigger is sent (without mentioning the bot) only to the last mentioned bot. So if you do have multiple bots in current chat, I might not receive your command! -To join group: -`/join ` -for example: `/join games` +Available commands: +Please note +{group-name} is not required, default if not given. -To leave group: -`/leave ` +Join +Joins (or creates if group did not exist before) group. +
/join {group-name}
-To gather everyone attention use: -`/everyone ` +Leave +Leaves (or deletes if no other users are left) the group +
/leave {group-name}
-To see all available groups use: -`/groups` +Everyone +Mentions everyone that joined the group. +
/everyone {group-name}
-You can also try to tag me @everyone\_mention\_bot and then enter group name -Possible results will be displayed +Groups +Show all created groups in this chat. +
/groups
+ +Start +Show start & help text +
/start
+ +Reach out to Creator in case of any issues/questions regarding my usage. """ diff --git a/src/config/credentials.py b/src/config/envs.py similarity index 100% rename from src/config/credentials.py rename to src/config/envs.py diff --git a/src/database/client.py b/src/database/client.py index e8df0be..5ea9f50 100755 --- a/src/database/client.py +++ b/src/database/client.py @@ -3,9 +3,9 @@ from urllib.parse import quote_plus from pymongo import MongoClient from pymongo.database import Database -from config.credentials import (MONGODB_DATABASE, MONGODB_HOSTNAME, - MONGODB_PASSWORD, MONGODB_PORT, - MONGODB_USERNAME) +from config.envs import (MONGODB_DATABASE, MONGODB_HOSTNAME, + MONGODB_PASSWORD, MONGODB_PORT, + MONGODB_USERNAME) class Client: diff --git a/src/logger.py b/src/logger.py index 51bcd27..6dc33f5 100644 --- a/src/logger.py +++ b/src/logger.py @@ -3,7 +3,7 @@ from __future__ import annotations import logging import os -from bot.message.messageData import MessageData +from bot.message.inboundMessage import InboundMessage # noinspection SpellCheckingInspection @@ -41,17 +41,21 @@ class Logger: Logger() @staticmethod - def get_logger(logger_name) -> logging.Logger: + def get(logger_name: str) -> logging.Logger: return logging.getLogger(logger_name) @staticmethod def info(message: str) -> None: - Logger.get_logger(Logger.action_logger).info(message) + Logger.get(Logger.action_logger).info(message) @staticmethod def error(message: str) -> None: - Logger.get_logger(Logger.main_logger).error(message) + Logger.get(Logger.main_logger).error(message) @staticmethod - def action(message_data: MessageData, action: str) -> None: - Logger.info(f'User {message_data.username}({message_data.user_id}) called {action.upper()} for {message_data.chat_id}') + def exception(exception: Exception) -> None: + Logger.get(Logger.main_logger).exception(exception) + + @staticmethod + def action(inbound: InboundMessage, action: str) -> None: + Logger.info(f'User {inbound.username}({inbound.user_id}) called {action.upper()} for {inbound.chat_id}') diff --git a/src/repository/userRepository.py b/src/repository/userRepository.py index 94d5d62..0ea3716 100644 --- a/src/repository/userRepository.py +++ b/src/repository/userRepository.py @@ -1,6 +1,6 @@ from typing import Iterable -from bot.message.messageData import MessageData +from bot.message.inboundMessage import InboundMessage from database.client import Client from entity.user import User from exception.notFoundException import NotFoundException @@ -44,13 +44,13 @@ class UserRepository: user.to_mongo_document() ) - def save_by_message_data(self, data: MessageData) -> None: + def save_by_inbound_message(self, inbound_message: InboundMessage) -> None: self.client.insert_one( User.collection, { - User.id_index: data.user_id, - User.username_index: data.username, - User.chats_index: [data.chat_id] + User.id_index: inbound_message.user_id, + User.username_index: inbound_message.username, + User.chats_index: [inbound_message.chat_id] } ) @@ -68,4 +68,7 @@ class UserRepository: for record in users: result.append(User.from_mongo_document(record)) + if not result: + raise NotFoundException + return result diff --git a/src/validator/accessValidator.py b/src/validator/accessValidator.py index 8d1dac8..135bce2 100644 --- a/src/validator/accessValidator.py +++ b/src/validator/accessValidator.py @@ -1,4 +1,4 @@ -from config.credentials import BANNED_USERS +from config.envs import BANNED_USERS from exception.actionNotAllowedException import ActionNotAllowedException @@ -7,4 +7,4 @@ class AccessValidator: @staticmethod def validate(user_id: str) -> None: if user_id in BANNED_USERS: - raise ActionNotAllowedException('You are banned') + raise ActionNotAllowedException('User is banned') From 9c8f5795f806db0b7d7a7474efcd3b68506bf0c1 Mon Sep 17 00:00:00 2001 From: miloszowi Date: Wed, 13 Oct 2021 18:40:24 +0200 Subject: [PATCH 6/9] Singleton mongo client, added mongosh easy enter command, better logging, added idle time to mongo connection --- docker-compose.yml | 1 - docker/mongosh | 8 ++++++++ docker/start | 5 +++++ src/config/envs.py | 11 ++++++----- src/database/client.py | 26 +++++++++++++------------- src/decorators/singleton.py | 8 ++++++++ src/logger.py | 10 +++++----- 7 files changed, 45 insertions(+), 24 deletions(-) create mode 100755 docker/mongosh create mode 100755 docker/start create mode 100644 src/decorators/singleton.py diff --git a/docker-compose.yml b/docker-compose.yml index 32d7996..1677662 100755 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -22,7 +22,6 @@ services: - ./docker/config/app.env volumes: - ./src:/src - - ./logs:/var/log/bot ports: - $APP_EXPOSED_PORT:$APP_INTERNAL_PORT depends_on: diff --git a/docker/mongosh b/docker/mongosh new file mode 100755 index 0000000..a87a43e --- /dev/null +++ b/docker/mongosh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +if [ -f docker/config/app.env ] +then + source docker/config/app.env +fi + +docker-compose exec database mongosh --port $MONGODB_PORT --host $MONGODB_HOSTNAME --username $MONGODB_USERNAME --password $MONGODB_PASSWORD --authenticationDatabase admin $MONGODB_DATABASE \ No newline at end of file diff --git a/docker/start b/docker/start new file mode 100755 index 0000000..596f2d9 --- /dev/null +++ b/docker/start @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +docker-compose stop +docker-compose up -d +docker logs -f $(docker-compose ps -q app) &> app.log & \ No newline at end of file diff --git a/src/config/envs.py b/src/config/envs.py index fccb6bd..76b45e7 100755 --- a/src/config/envs.py +++ b/src/config/envs.py @@ -1,4 +1,5 @@ import os +from urllib.parse import quote_plus from dotenv import load_dotenv @@ -8,10 +9,10 @@ BOT_TOKEN = os.environ['BOT_TOKEN'] WEBHOOK_URL = os.environ['WEBHOOK_URL'] PORT = os.environ['PORT'] -MONGODB_DATABASE = os.environ['MONGODB_DATABASE'] -MONGODB_USERNAME = os.environ['MONGODB_USERNAME'] -MONGODB_PASSWORD = os.environ['MONGODB_PASSWORD'] -MONGODB_HOSTNAME = os.environ['MONGODB_HOSTNAME'] -MONGODB_PORT = os.environ['MONGODB_PORT'] +MONGO_DATABASE = os.environ['MONGODB_DATABASE'] +MONGO_CONNECTION_STRING = "mongodb://%s:%s@%s:%s/%s?authSource=admin" % ( + os.environ['MONGODB_USERNAME'], quote_plus(os.environ['MONGODB_PASSWORD']), + os.environ['MONGODB_HOSTNAME'], os.environ['MONGODB_PORT'], MONGO_DATABASE +) BANNED_USERS = os.environ['BANNED_USERS'].split(',') or [] diff --git a/src/database/client.py b/src/database/client.py index 5ea9f50..31aa468 100755 --- a/src/database/client.py +++ b/src/database/client.py @@ -1,25 +1,25 @@ -from urllib.parse import quote_plus - +from __future__ import annotations from pymongo import MongoClient from pymongo.database import Database -from config.envs import (MONGODB_DATABASE, MONGODB_HOSTNAME, - MONGODB_PASSWORD, MONGODB_PORT, - MONGODB_USERNAME) +from config.envs import MONGO_CONNECTION_STRING, MONGO_DATABASE +from decorators.singleton import Singleton -class Client: +class Client(metaclass=Singleton): mongo_client: MongoClient database: Database - def __init__(self) -> None: - uri = "mongodb://%s:%s@%s:%s/%s?authSource=admin" % ( - MONGODB_USERNAME, quote_plus(MONGODB_PASSWORD), - MONGODB_HOSTNAME, MONGODB_PORT, MONGODB_DATABASE - ) + # allow only 10 minutes on idle, close connection after + max_idle_time: int = 10 * (60 * 1000) - self.mongo_client = MongoClient(uri) - self.database = self.mongo_client[MONGODB_DATABASE] + def __init__(self) -> None: + self.mongo_client = MongoClient( + MONGO_CONNECTION_STRING, + connect=False, + maxIdleTimeMS=self.max_idle_time + ) + self.database = self.mongo_client[MONGO_DATABASE] def insert_one(self, collection: str, data: dict) -> None: self.database.get_collection(collection).insert_one(data) diff --git a/src/decorators/singleton.py b/src/decorators/singleton.py new file mode 100644 index 0000000..3886cfd --- /dev/null +++ b/src/decorators/singleton.py @@ -0,0 +1,8 @@ +class Singleton(type): + _instances: dict = {} + + def __call__(cls, *args, **kwargs): + if cls not in cls._instances: + cls._instances[cls] = super(Singleton, cls).__call__(*args, **kwargs) + + return cls._instances[cls] diff --git a/src/logger.py b/src/logger.py index 6dc33f5..57a9c9a 100644 --- a/src/logger.py +++ b/src/logger.py @@ -14,9 +14,6 @@ class Logger: main_logger: str = 'main-logger' main_logger_file: str = '/var/log/bot/app.log' - # noinspection SpellCheckingInspection - formatter: logging.Formatter = logging.Formatter('%(asctime)s[%(levelname)s]: %(message)s') - def __init__(self): self.configure(self.action_logger, self.action_logger_file, logging.INFO) self.configure(self.main_logger, self.main_logger_file, logging.ERROR) @@ -27,10 +24,13 @@ class Logger: os.makedirs(directory) logger = logging.getLogger(logger_name) + logger.propagate = False + file_handler = logging.FileHandler(log_file, mode='w') - file_handler.setFormatter(self.formatter) + formatter = logging.Formatter('%(asctime)s [%(levelname)s]: %(message)s', datefmt='%H:%M:%S %Y/%m/%d') + file_handler.setFormatter(formatter) stream_handler = logging.StreamHandler() - stream_handler.setFormatter(self.formatter) + stream_handler.setFormatter(formatter) logger.setLevel(level) logger.addHandler(file_handler) From e0916441b92b9bf21d994b9c8e4da6bbd97a9302 Mon Sep 17 00:00:00 2001 From: miloszowi Date: Thu, 14 Oct 2021 20:24:58 +0200 Subject: [PATCH 7/9] mongodb new structure, added new collection chats --- src/bot/handler/abstractHandler.py | 5 +- src/bot/handler/everyoneHandler.py | 12 ++-- src/bot/handler/groupsHandler.py | 17 +++--- src/bot/handler/inlineQueryHandler.py | 6 +- src/bot/handler/joinHandler.py | 21 +++---- src/bot/handler/leaveHandler.py | 27 ++++++--- src/bot/message/inboundMessage.py | 8 +-- src/database/client.py | 5 +- src/entity/chat.py | 32 ++++++++++ src/entity/group.py | 12 ---- src/entity/user.py | 33 ++++------ src/exception/invalidActionException.py | 2 + src/repository/abstractRepository.py | 9 +++ src/repository/chatRepository.py | 55 +++++++++++++++++ src/repository/groupRepository.py | 56 ----------------- src/repository/userRepository.py | 81 ++++++++----------------- src/utils/messageBuilder.py | 6 +- 17 files changed, 194 insertions(+), 193 deletions(-) create mode 100644 src/entity/chat.py delete mode 100644 src/entity/group.py create mode 100644 src/exception/invalidActionException.py create mode 100644 src/repository/abstractRepository.py create mode 100644 src/repository/chatRepository.py delete mode 100644 src/repository/groupRepository.py diff --git a/src/bot/handler/abstractHandler.py b/src/bot/handler/abstractHandler.py index c52118d..d686924 100755 --- a/src/bot/handler/abstractHandler.py +++ b/src/bot/handler/abstractHandler.py @@ -7,6 +7,7 @@ from telegram.update import Update from bot.message.inboundMessage import InboundMessage from bot.message.replier import Replier from exception.actionNotAllowedException import ActionNotAllowedException +from exception.invalidActionException import InvalidActionException from exception.invalidArgumentException import InvalidArgumentException from logger import Logger @@ -14,6 +15,7 @@ from logger import Logger class AbstractHandler: bot_handler: Handler inbound: InboundMessage + action: str @abstractmethod def handle(self, update: Update, context: CallbackContext) -> None: @@ -25,7 +27,8 @@ class AbstractHandler: self.inbound = InboundMessage.create(update, context, group_specific) self.handle(update, context) - except (ActionNotAllowedException, InvalidArgumentException) as e: + Logger.action(self.inbound, self.action) + except (InvalidActionException, InvalidArgumentException, ActionNotAllowedException) as e: Replier.markdown(update, str(e)) except Exception as e: Logger.exception(e) diff --git a/src/bot/handler/everyoneHandler.py b/src/bot/handler/everyoneHandler.py index 36ac603..a31feac 100755 --- a/src/bot/handler/everyoneHandler.py +++ b/src/bot/handler/everyoneHandler.py @@ -5,26 +5,28 @@ from telegram.update import Update from bot.handler.abstractHandler import AbstractHandler from bot.message.replier import Replier from config.contents import mention_failed +from exception.invalidActionException import InvalidActionException from exception.notFoundException import NotFoundException -from logger import Logger +from repository.chatRepository import ChatRepository from repository.userRepository import UserRepository from utils.messageBuilder import MessageBuilder class EveryoneHandler(AbstractHandler): bot_handler: CommandHandler + chat_repository: ChatRepository user_repository: UserRepository action: str = 'everyone' def __init__(self) -> None: self.bot_handler = CommandHandler(self.action, self.wrap) + self.chat_repository = ChatRepository() self.user_repository = UserRepository() def handle(self, update: Update, context: CallbackContext) -> None: try: - users = self.user_repository.get_all_for_chat(self.inbound.chat_id) + users = self.chat_repository.get_users_for_group(self.inbound.chat_id, self.inbound.group_name) Replier.markdown(update, MessageBuilder.mention_message(users)) - Logger.action(self.inbound, self.action) - except NotFoundException: - Replier.markdown(update, mention_failed) + except NotFoundException as e: + raise InvalidActionException(mention_failed) from e diff --git a/src/bot/handler/groupsHandler.py b/src/bot/handler/groupsHandler.py index deff1c4..9190b45 100644 --- a/src/bot/handler/groupsHandler.py +++ b/src/bot/handler/groupsHandler.py @@ -5,29 +5,30 @@ from telegram.update import Update from bot.handler.abstractHandler import AbstractHandler from bot.message.replier import Replier from config.contents import no_groups +from exception.invalidActionException import InvalidActionException from exception.notFoundException import NotFoundException -from logger import Logger -from repository.groupRepository import GroupRepository +from repository.chatRepository import ChatRepository from utils.messageBuilder import MessageBuilder class GroupsHandler(AbstractHandler): bot_handler: CommandHandler - group_repository: GroupRepository + chat_repository: ChatRepository action: str = 'groups' def __init__(self) -> None: self.bot_handler = CommandHandler(self.action, self.wrap) - self.group_repository = GroupRepository() + self.chat_repository = ChatRepository() def handle(self, update: Update, context: CallbackContext) -> None: try: - groups = self.group_repository.get_by_chat_id(self.inbound.chat_id) - Replier.html(update, MessageBuilder.group_message(groups)) + chat = self.chat_repository.get(self.inbound.chat_id) + if not chat.groups: + raise NotFoundException - Logger.action(self.inbound, self.action) + Replier.html(update, MessageBuilder.group_message(chat.groups)) except NotFoundException: - Replier.markdown(update, no_groups) + raise InvalidActionException(no_groups) def is_group_specific(self) -> bool: return False diff --git a/src/bot/handler/inlineQueryHandler.py b/src/bot/handler/inlineQueryHandler.py index f2a5d88..baa9cd3 100644 --- a/src/bot/handler/inlineQueryHandler.py +++ b/src/bot/handler/inlineQueryHandler.py @@ -6,7 +6,7 @@ from telegram.inline.inputtextmessagecontent import InputTextMessageContent from telegram.update import Update from bot.handler.abstractHandler import AbstractHandler -from entity.group import Group +from bot.message.inboundMessage import InboundMessage from exception.actionNotAllowedException import ActionNotAllowedException from validator.accessValidator import AccessValidator @@ -24,8 +24,8 @@ class InlineQueryHandler(AbstractHandler): update.inline_query.answer([]) return - group_display = update.inline_query.query or Group.default_name - group = '' if group_display == Group.default_name else group_display + group_display = update.inline_query.query or InboundMessage.default_group + group = '' if group_display == InboundMessage.default_group else group_display results = [ InlineQueryResultArticle( diff --git a/src/bot/handler/joinHandler.py b/src/bot/handler/joinHandler.py index d6f2067..92a8a69 100755 --- a/src/bot/handler/joinHandler.py +++ b/src/bot/handler/joinHandler.py @@ -5,8 +5,8 @@ from telegram.update import Update from bot.handler.abstractHandler import AbstractHandler from bot.message.replier import Replier from config.contents import joined, not_joined -from exception.notFoundException import NotFoundException -from logger import Logger +from exception.invalidActionException import InvalidActionException +from repository.chatRepository import ChatRepository from repository.userRepository import UserRepository @@ -18,18 +18,17 @@ class JoinHandler(AbstractHandler): def __init__(self) -> None: self.bot_handler = CommandHandler(self.action, self.wrap) self.user_repository = UserRepository() + self.chat_repository = ChatRepository() def handle(self, update: Update, context: CallbackContext) -> None: - try: - user = self.user_repository.get_by_id(self.inbound.user_id) + user = self.user_repository.provide(self.inbound) + chat = self.chat_repository.provide(self.inbound) + users = chat.groups.get(self.inbound.group_name) - if user.is_in_chat(self.inbound.chat_id): - return Replier.markdown(update, Replier.interpolate(not_joined, self.inbound)) + if user.user_id in users: + raise InvalidActionException(Replier.interpolate(not_joined, self.inbound)) - user.add_to_chat(self.inbound.chat_id) - self.user_repository.save(user) - except NotFoundException: - self.user_repository.save_by_inbound_message(self.inbound) + users.append(user.user_id) + self.chat_repository.save(chat) Replier.markdown(update, Replier.interpolate(joined, self.inbound)) - Logger.action(self.inbound, self.action) diff --git a/src/bot/handler/leaveHandler.py b/src/bot/handler/leaveHandler.py index e031596..2c29b4a 100755 --- a/src/bot/handler/leaveHandler.py +++ b/src/bot/handler/leaveHandler.py @@ -5,27 +5,34 @@ from telegram.update import Update from bot.handler.abstractHandler import AbstractHandler from bot.message.replier import Replier from config.contents import left, not_left -from exception.notFoundException import NotFoundException -from logger import Logger +from exception.invalidActionException import InvalidActionException from repository.userRepository import UserRepository +from repository.chatRepository import ChatRepository class LeaveHandler(AbstractHandler): bot_handler: CommandHandler user_repository: UserRepository + chat_repository: ChatRepository action: str = 'leave' def __init__(self) -> None: self.bot_handler = CommandHandler(self.action, self.wrap) self.user_repository = UserRepository() + self.chat_repository = ChatRepository() def handle(self, update: Update, context: CallbackContext) -> None: - try: - user = self.user_repository.get_by_id_and_chat_id(self.inbound.user_id, self.inbound.chat_id) - user.remove_from_chat(self.inbound.chat_id) - self.user_repository.save(user) + user = self.user_repository.provide(self.inbound) + chat = self.chat_repository.provide(self.inbound) + group = chat.groups.get(self.inbound.group_name) - Replier.markdown(update, Replier.interpolate(left, self.inbound)) - Logger.action(self.inbound, self.action) - except NotFoundException: - return Replier.markdown(update, Replier.interpolate(not_left, self.inbound)) + if user.user_id not in group: + raise InvalidActionException(Replier.interpolate(not_left, self.inbound)) + + group.remove(user.user_id) + if not group: + chat.groups.pop(self.inbound.group_name) + + self.chat_repository.save(chat) + + Replier.markdown(update, Replier.interpolate(left, self.inbound)) diff --git a/src/bot/message/inboundMessage.py b/src/bot/message/inboundMessage.py index 697f7c6..c0f5505 100644 --- a/src/bot/message/inboundMessage.py +++ b/src/bot/message/inboundMessage.py @@ -6,7 +6,6 @@ import names from telegram.ext.callbackcontext import CallbackContext from telegram.update import Update -from entity.group import Group from validator.accessValidator import AccessValidator from validator.groupNameValidator import GroupNameValidator @@ -18,22 +17,21 @@ class InboundMessage: group_name: str username: str + default_group: str = 'default' + @staticmethod def create(update: Update, context: CallbackContext, group_specific: bool) -> InboundMessage: user_id = str(update.effective_user.id) AccessValidator.validate(user_id) chat_id = str(update.effective_chat.id) - group_name = Group.default_name + group_name = InboundMessage.default_group if context.args and context.args[0] and group_specific: group_name = str(context.args[0]).lower() GroupNameValidator.validate(group_name) - if group_name is not Group.default_name: - chat_id += f'~{group_name}' - username = update.effective_user.username or update.effective_user.first_name if not username: diff --git a/src/database/client.py b/src/database/client.py index 31aa468..37d9f4e 100755 --- a/src/database/client.py +++ b/src/database/client.py @@ -30,10 +30,11 @@ class Client(metaclass=Singleton): def find_many(self, collection: str, filter: dict) -> dict: return self.database.get_collection(collection).find(filter) - def update_one(self, collection: str, filter: dict, data: dict) -> None: + def save(self, collection: str, filter: dict, data: dict) -> None: self.database.get_collection(collection).update_one( filter, - {"$set": data} + {"$set": data}, + upsert=True ) def aggregate(self, collection, pipeline: list): diff --git a/src/entity/chat.py b/src/entity/chat.py new file mode 100644 index 0000000..3d70978 --- /dev/null +++ b/src/entity/chat.py @@ -0,0 +1,32 @@ +from __future__ import annotations + +from dataclasses import dataclass +from typing import Iterable + +from bot.message.inboundMessage import InboundMessage + + +@dataclass +class Chat: + chat_id: str + groups: dict + + mongo_chat_id_index: str = '_id' + mongo_groups_index: str = 'groups' + + def to_mongo_document(self) -> dict: + return { + self.mongo_chat_id_index: self.chat_id, + self.mongo_groups_index: self.groups + } + + @staticmethod + def from_mongo_document(mongo_document: dict) -> Chat: + return Chat( + mongo_document[Chat.mongo_chat_id_index], + mongo_document[Chat.mongo_groups_index] + ) + + @staticmethod + def from_inbound_message(inbound: InboundMessage) -> Chat: + return Chat(inbound.chat_id, {inbound.group_name: []}) diff --git a/src/entity/group.py b/src/entity/group.py deleted file mode 100644 index 113202d..0000000 --- a/src/entity/group.py +++ /dev/null @@ -1,12 +0,0 @@ -from __future__ import annotations - -from dataclasses import dataclass - - -@dataclass -class Group: - chat_id: str - group_name: str - users_count: int - - default_name: str = 'default' diff --git a/src/entity/user.py b/src/entity/user.py index 75611db..c8b58b4 100644 --- a/src/entity/user.py +++ b/src/entity/user.py @@ -1,40 +1,31 @@ from __future__ import annotations from dataclasses import dataclass -from typing import List + +from bot.message.inboundMessage import InboundMessage @dataclass class User: user_id: str username: str - chats: List[str] - collection: str = 'users' - id_index: str = '_id' - chats_index: str = 'chats' - username_index: str = 'username' - - def is_in_chat(self, chat_id: str) -> bool: - return chat_id in self.chats - - def add_to_chat(self, chat_id: str) -> None: - self.chats.append(chat_id) - - def remove_from_chat(self, chat_id: str) -> None: - if chat_id in self.chats: - self.chats.remove(chat_id) + mongo_user_id_index: str = '_id' + mongo_username_index: str = 'username' def to_mongo_document(self) -> dict: return { - self.username_index: self.username, - self.chats_index: self.chats + self.mongo_user_id_index: self.user_id, + self.mongo_username_index: self.username } @staticmethod def from_mongo_document(mongo_document: dict) -> User: return User( - mongo_document[User.id_index], - mongo_document[User.username_index], - mongo_document[User.chats_index] + mongo_document[User.mongo_user_id_index], + mongo_document[User.mongo_username_index] ) + + @staticmethod + def from_inbound_message(inbound: InboundMessage) -> User: + return User(inbound.user_id, inbound.username) diff --git a/src/exception/invalidActionException.py b/src/exception/invalidActionException.py new file mode 100644 index 0000000..e7df135 --- /dev/null +++ b/src/exception/invalidActionException.py @@ -0,0 +1,2 @@ +class InvalidActionException(Exception): + pass \ No newline at end of file diff --git a/src/repository/abstractRepository.py b/src/repository/abstractRepository.py new file mode 100644 index 0000000..320caed --- /dev/null +++ b/src/repository/abstractRepository.py @@ -0,0 +1,9 @@ +from database.client import Client + + +class AbstractRepository: + collection_name: str + database_client: Client + + def __init__(self): + self.database_client = Client() diff --git a/src/repository/chatRepository.py b/src/repository/chatRepository.py new file mode 100644 index 0000000..c8786f3 --- /dev/null +++ b/src/repository/chatRepository.py @@ -0,0 +1,55 @@ +from typing import Iterable + +from bot.message.inboundMessage import InboundMessage +from entity.chat import Chat +from entity.user import User +from exception.notFoundException import NotFoundException +from repository.abstractRepository import AbstractRepository +from repository.userRepository import UserRepository + + +class ChatRepository(AbstractRepository): + collection_name: str = 'chats' + user_repository: UserRepository + + def __init__(self): + super().__init__() + self.user_repository = UserRepository() + + def provide(self, inbound: InboundMessage) -> Chat: + try: + chat = self.get(inbound.chat_id) + if not chat.groups.get(inbound.group_name): + chat.groups[inbound.group_name] = [] + except NotFoundException: + chat = Chat.from_inbound_message(inbound) + + return chat + + def get(self, chat_id: str) -> Chat: + chat = self.database_client.find_one( + self.collection_name, + { + Chat.mongo_chat_id_index: chat_id + } + ) + + if not chat: + raise NotFoundException + + return Chat.from_mongo_document(chat) + + def get_users_for_group(self, chat_id: str, group: str) -> Iterable[User]: + chat = self.get(chat_id) + if not chat.groups.get(group): + raise NotFoundException + + return [self.user_repository.get(user_id) for user_id in chat.groups.get(group)] + + def save(self, chat: Chat) -> None: + self.database_client.save( + self.collection_name, + {Chat.mongo_chat_id_index: chat.chat_id}, + chat.to_mongo_document() + ) + diff --git a/src/repository/groupRepository.py b/src/repository/groupRepository.py deleted file mode 100644 index 004683f..0000000 --- a/src/repository/groupRepository.py +++ /dev/null @@ -1,56 +0,0 @@ -import re -from typing import Iterable - -from database.client import Client -from entity.group import Group -from entity.user import User -from exception.notFoundException import NotFoundException - - -class GroupRepository: - client: Client - - count: str = 'count' - - def __init__(self) -> None: - self.client = Client() - - def get_by_chat_id(self, chat_id: str) -> Iterable[Group]: - groups = self.client.aggregate( - User.collection, - [ - {"$unwind": f'${User.chats_index}'}, - { - "$match": { - User.chats_index: {"$regex": re.compile(f'^{chat_id}.*$')}, - }, - }, - { - "$group": { - "_id": { - "$last": {"$split": [f'${User.chats_index}', "~"]}, - }, - self.count: {"$count": {}}, - }, - }, - { - "$sort": {'_id': 1} - } - ] - ) - - result = [] - for group in groups: - group_name = group['_id'] - - if group_name == chat_id: - group_name = Group.default_name - - result.append( - Group(chat_id, group_name, group[self.count]) - ) - - if not result: - raise NotFoundException - - return result diff --git a/src/repository/userRepository.py b/src/repository/userRepository.py index 0ea3716..60dff49 100644 --- a/src/repository/userRepository.py +++ b/src/repository/userRepository.py @@ -1,74 +1,43 @@ -from typing import Iterable - from bot.message.inboundMessage import InboundMessage -from database.client import Client from entity.user import User from exception.notFoundException import NotFoundException +from repository.abstractRepository import AbstractRepository -class UserRepository: - client: Client +class UserRepository(AbstractRepository): + collection_name: str = 'users' - def __init__(self) -> None: - self.client = Client() + def __init__(self): + super().__init__() - def get_by_id(self, user_id: str) -> User: - user = self.client.find_one( - User.collection, + def provide(self, inbound: InboundMessage) -> User: + user = User.from_inbound_message(inbound) + + try: + entity = self.get(user.user_id) + if entity != user: + self.save(user) + except NotFoundException: + self.save(user) + + return user + + def get(self, user_id: str) -> User: + user = self.database_client.find_one( + self.collection_name, { - User.id_index: user_id + User.mongo_user_id_index: user_id } ) if not user: - raise NotFoundException(f'Could not find user with "{user_id}" id') - - return User( - user[User.id_index], - user[User.username_index], - user[User.chats_index] - ) - - def get_by_id_and_chat_id(self, user_id: str, chat_id: str) -> User: - user = self.get_by_id(user_id) - - if not user.is_in_chat(chat_id): raise NotFoundException - return user + return User.from_mongo_document(user) def save(self, user: User) -> None: - self.client.update_one( - User.collection, - {User.id_index: user.user_id}, + self.database_client.save( + self.collection_name, + {User.mongo_user_id_index: user.user_id}, user.to_mongo_document() ) - - def save_by_inbound_message(self, inbound_message: InboundMessage) -> None: - self.client.insert_one( - User.collection, - { - User.id_index: inbound_message.user_id, - User.username_index: inbound_message.username, - User.chats_index: [inbound_message.chat_id] - } - ) - - def get_all_for_chat(self, chat_id: str) -> Iterable[User]: - result = [] - users = self.client.find_many( - User.collection, - { - User.chats_index: { - "$in": [chat_id] - } - } - ) - - for record in users: - result.append(User.from_mongo_document(record)) - - if not result: - raise NotFoundException - - return result diff --git a/src/utils/messageBuilder.py b/src/utils/messageBuilder.py index 396664e..4cfaf52 100644 --- a/src/utils/messageBuilder.py +++ b/src/utils/messageBuilder.py @@ -3,16 +3,16 @@ from typing import Iterable from prettytable import prettytable from telegram.utils.helpers import mention_markdown -from entity.group import Group from entity.user import User class MessageBuilder: @staticmethod - def group_message(groups: Iterable[Group]) -> str: + def group_message(groups: dict) -> str: table = prettytable.PrettyTable(['Name', 'Members']) - table.add_rows([[record.group_name, record.users_count] for record in groups]) + for group in groups: + table.add_row([group, len(groups[group])]) return f'
{str(table)}
' From cd0712a07b6491c1af9da8b7871c4b4eb7dfe119 Mon Sep 17 00:00:00 2001 From: miloszowi Date: Thu, 14 Oct 2021 20:40:35 +0200 Subject: [PATCH 8/9] fixed logging twice same action and added group to log message --- src/bot/handler/startHandler.py | 1 - src/logger.py | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/bot/handler/startHandler.py b/src/bot/handler/startHandler.py index 46e0427..be4b323 100644 --- a/src/bot/handler/startHandler.py +++ b/src/bot/handler/startHandler.py @@ -30,7 +30,6 @@ class StartHandler(AbstractHandler): ) Replier.html(update, start_text, markup) - Logger.action(self.inbound, self.action) def is_group_specific(self) -> bool: return False diff --git a/src/logger.py b/src/logger.py index 57a9c9a..0a19e01 100644 --- a/src/logger.py +++ b/src/logger.py @@ -58,4 +58,4 @@ class Logger: @staticmethod def action(inbound: InboundMessage, action: str) -> None: - Logger.info(f'User {inbound.username}({inbound.user_id}) called {action.upper()} for {inbound.chat_id}') + Logger.info(f'User {inbound.username}({inbound.user_id}) called {action.upper()} for {inbound.chat_id}({inbound.group_name})') From 6150faeee0b72c361c8e91518c41b4a99d67c4db Mon Sep 17 00:00:00 2001 From: miloszowi Date: Tue, 26 Oct 2021 17:52:51 +0200 Subject: [PATCH 9/9] Group name length validation increased, updated contents, readme, changelog --- CHANGELOG.md | 8 +- README.md | 125 ++++++++++++++++++---------- docker/start | 5 -- docs/everyone.png | Bin 33873 -> 0 bytes docs/everyone_default.png | Bin 0 -> 19130 bytes docs/everyone_group.png | Bin 0 -> 20967 bytes docs/flow_command.png | Bin 0 -> 63646 bytes docs/groups.png | Bin 27481 -> 16019 bytes docs/inline_mode_1.png | Bin 0 -> 14017 bytes docs/inline_mode_2.png | Bin 0 -> 13065 bytes docs/join.png | Bin 42005 -> 0 bytes docs/join_default.png | Bin 0 -> 19442 bytes docs/join_group.png | Bin 0 -> 20782 bytes docs/leave.png | Bin 32415 -> 0 bytes docs/leave_default.png | Bin 0 -> 19034 bytes docs/leave_group.png | Bin 0 -> 20639 bytes docs/start.png | Bin 63353 -> 78417 bytes src/config/contents.py | 46 +++++----- src/validator/groupNameValidator.py | 2 +- 19 files changed, 110 insertions(+), 76 deletions(-) delete mode 100755 docker/start delete mode 100644 docs/everyone.png create mode 100644 docs/everyone_default.png create mode 100644 docs/everyone_group.png create mode 100644 docs/flow_command.png create mode 100644 docs/inline_mode_1.png create mode 100644 docs/inline_mode_2.png delete mode 100644 docs/join.png create mode 100644 docs/join_default.png create mode 100644 docs/join_group.png delete mode 100644 docs/leave.png create mode 100644 docs/leave_default.png create mode 100644 docs/leave_group.png diff --git a/CHANGELOG.md b/CHANGELOG.md index 8d7c61c..8046c8a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,14 +1,16 @@ # Change Log All notable changes to this project will be documented in this file. -## [UNRELEASED] - 11.10.2021 +## [0.2.0] - 26.10.2021 ### Added -- Inline Query for `join`, `leave` & `everyone` -- Banned users +- Inline Mode for `join`, `leave` & `everyone` +- Banned users environment variable - Buttons for `start` message ### Changed - Code quality improvements - `start` text +- mongodb data structure +- group name max length to 40 ### Deleted - `/silent` command ## [0.1.0] - 06.10.2021 diff --git a/README.md b/README.md index d37470f..7493542 100755 --- a/README.md +++ b/README.md @@ -1,26 +1,101 @@ -#

[everyone-mention-telegram-bot](http://t.me/everyone_mention_bot) +#

[everyone-mention-telegram-bot](http://t.me/everyone_mention_bot)

# Contents * [Description](#description) -* [Getting started.](#getting-started) - * [Requirements](#requirements) - * [Installation](#installation) - * [Logs](#logs) - * [Env files](#env-files) * [Commands](#commands) * [`/join`](#join) * [`/leave`](#leave) * [`/everyone`](#everyone) * [`/groups`](#groups) * [`/start`](#start) + * [Example command flow](#example-command-flow) +* [Inline Mode](#inline-mode) + * [Usage](#usage) +* [Getting started.](#getting-started) + * [Requirements](#requirements) + * [Installation](#installation) + * [Logs](#logs) + * [Env files](#env-files) ## Description Everyone Mention Bot is simple, but useful telegram bot to gather group members attention. You can create groups per chat to mention every user that joined the group by calling one command instead of mentioning them one by one. +## Commands +*Important*: `{group-name}` is not required, if not given, it will be set to `default`. +### `/join` +Joins the group (if group did not exist before, it will be created). +``` +/join {group_name} +``` +*Examples* + +without group name + +![join default command example](docs/join_default.png) + +with group name + +![join group command example](docs/join_group.png) + +### `/leave` +Leaves the group (and deletes if no members are left). +``` +/leave {group_name} +``` +*Examples* + +without group name + +![leave default command example](docs/leave_default.png) + +with group name + +![leave group command example](docs/leave_group.png) + +### `/everyone` +Mention everyone that joined requested group. +``` +/everyone {group-name} +``` + +*Examples* + +without group name + +![everyone default command example](docs/everyone_default.png) + +with group name + +![everyone group command example](docs/everyone_group.png) + + +### `/groups` +Will display available groups for this chat as well with members count. + +![groups command example](docs/groups.png) +### `/start` +Start & Help message + +![start command example](docs/start.png) + +### Example command flow +![example command flow](docs/flow_command.png) + +## Inline Mode +Using Inline Mode is recommended because policy of bots with privacy mode enabled (https://core.telegram.org/bots/faq#what-messages-will-my-bot-get) says that command trigger is sent (without mentioning the bot) only to the last mentioned bot. So if you do have multiple bots in current chat, I might not receive your command! + +### Usage +To use inline mode, type `@everyone_mention_bot` in telegram message input or click on the `Inline Mode` button from `/start` command. + +![inline popup](docs/inline_mode_1.png) + +Type in your group name (you can leave it blank for `default` group name), then click on one of the three following options. + +![inline answer](docs/inline_mode_2.png) ## Getting started ### Requirements - `docker-compose` in version `1.25.0` @@ -68,40 +143,4 @@ docker/logs - `MONGO_INITDB_ROOT_PASSWORD` - conf from `app.env` - `MONGO_INITDB_DATABASE` - conf from `app.env` - `MONGODB_DATA_DIR` - directory to store MongoDB documents (inside a container) - - `MONDODB_LOG_DIR` - path to logs storage -## Commands -### `/join` -``` -/join -``` -Joins the group (and create if it did not exist before) given in message (`default` if not given) - -![join command example](docs/join.png) - -### `/leave` -``` -/leave -``` - -Leaves the group given in message (`default` if not given) - -![leave command example](docs/leave.png) - -### `/everyone` -``` -/everyone -``` -Will mention every member of given group (`default` if not given). - -If user does not have nickname, it will first try to assign his firstname, then random firstname from `names` python library - -![everyone command example](docs/everyone.png) - -### `/groups` -Will display available groups for this chat as well with members count. - -![groups command example](docs/groups.png) -### `/start` -Start & Help message - -![start command example](docs/start.png) + - `MONDODB_LOG_DIR` - path to logs storage \ No newline at end of file diff --git a/docker/start b/docker/start deleted file mode 100755 index 596f2d9..0000000 --- a/docker/start +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash - -docker-compose stop -docker-compose up -d -docker logs -f $(docker-compose ps -q app) &> app.log & \ No newline at end of file diff --git a/docs/everyone.png b/docs/everyone.png deleted file mode 100644 index 63b2550177535c9ed20a43ca56e5d0b9a2e0d3a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33873 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 diff --git a/docs/everyone_default.png b/docs/everyone_default.png new file mode 100644 index 0000000000000000000000000000000000000000..1f555ab080ae7289876ed54da088a2e579f91026 GIT binary patch literal 19130 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 z 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 literal 27481 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 diff --git a/docs/inline_mode_1.png b/docs/inline_mode_1.png new file mode 100644 index 0000000000000000000000000000000000000000..242cfb757360229fe829cc77d2668d21d2ec2cad GIT binary patch literal 14017 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 literal 0 HcmV?d00001 diff --git a/docs/inline_mode_2.png b/docs/inline_mode_2.png new file mode 100644 index 0000000000000000000000000000000000000000..a11d380153488a2e0de95d64935aa5547fae70e2 GIT binary patch literal 13065 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 LN{|Xkqk#Vbz7bW` literal 0 HcmV?d00001 diff --git a/docs/join.png b/docs/join.png deleted file mode 100644 index 85749ec804872094745769cc9c98b7140341f27c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42005 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 literal 0 HcmV?d00001 diff --git a/docs/join_group.png b/docs/join_group.png new file mode 100644 index 0000000000000000000000000000000000000000..dcf346766f09b085ebee90e7cff1febb6304883d GIT binary patch literal 20782 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

oIXu8AUj&Y!DZCCB-{%_fhN^9q#-FaN|O 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 literal 0 HcmV?d00001 diff --git a/docs/leave.png b/docs/leave.png deleted file mode 100644 index 2d60996c5b5470d42ca371c1e7f27e181a0becc9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32415 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%0DT~+1jy1e#Dpf+c`H)zUw{PA=UDWwGLaP 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: +I do not have access to your messages! I am here to help you with multiple user mentions. -Using Inline Mode is recommended because policy of bots with privacy mode enabled says that command trigger is sent (without mentioning the bot) only to the last mentioned bot. So if you do have multiple bots in current chat, I might not receive your command! +Usage: +Users that joined the group by /join command, can be mentioned after calling /everyone command. + +Commands: +

/join {group-name}
+Joins (or creates if group did not exist before) group. + +
/leave {group-name}
+Leaves (or deletes if no other users are left) the group + +
/everyone {group-name}
+Mentions everyone that joined the group. + +
/groups
+Show all created groups in this chat. + +
/start
+Show start & help text -Available commands: Please note {group-name} is not required, default if not given. -Join -Joins (or creates if group did not exist before) group. -
/join {group-name}
- -Leave -Leaves (or deletes if no other users are left) the group -
/leave {group-name}
- -Everyone -Mentions everyone that joined the group. -
/everyone {group-name}
- -Groups -Show all created groups in this chat. -
/groups
- -Start -Show start & help text -
/start
- -Reach out to Creator in case of any issues/questions regarding my usage. +If your chat does have multiple bots I might not receive your command according to policy of bots with privacy mode enabled - use Inline Mode to avoid this. """ diff --git a/src/validator/groupNameValidator.py b/src/validator/groupNameValidator.py index 4c89902..c910ae6 100644 --- a/src/validator/groupNameValidator.py +++ b/src/validator/groupNameValidator.py @@ -4,7 +4,7 @@ from exception.invalidArgumentException import InvalidArgumentException class GroupNameValidator: - MAX_GROUP_NAME_LENGTH: int = 20 + MAX_GROUP_NAME_LENGTH: int = 40 @staticmethod def validate(group: str) -> None: