Added inline query handler, updated CHANGELOG, added group name validator

This commit is contained in:
miloszowi
2021-10-07 19:15:53 +02:00
parent 88e8e13ff4
commit d05d0c0904
6 changed files with 78 additions and 9 deletions

View File

@@ -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