Telegram bot map user data for callback query ()

fix(component/telegram-bot): map user data for callback query
This commit is contained in:
Lerosen 2022-07-06 11:21:15 +02:00 committed by GitHub
parent 8fb9b45e42
commit 8b97271c26
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -19,6 +19,7 @@ from telegram import (
ReplyKeyboardMarkup, ReplyKeyboardMarkup,
ReplyKeyboardRemove, ReplyKeyboardRemove,
Update, Update,
User,
) )
from telegram.error import TelegramError from telegram.error import TelegramError
from telegram.ext import CallbackContext, Filters from telegram.ext import CallbackContext, Filters
@ -966,16 +967,17 @@ class BaseTelegramBotEntity:
event_data[ATTR_TEXT] = message.text event_data[ATTR_TEXT] = message.text
if message.from_user: if message.from_user:
event_data.update( event_data.update(self._get_user_event_data(message.from_user))
{
ATTR_USER_ID: message.from_user.id,
ATTR_FROM_FIRST: message.from_user.first_name,
ATTR_FROM_LAST: message.from_user.last_name,
}
)
return event_type, event_data return event_type, event_data
def _get_user_event_data(self, user: User) -> dict[str, Any]:
return {
ATTR_USER_ID: user.id,
ATTR_FROM_FIRST: user.first_name,
ATTR_FROM_LAST: user.last_name,
}
def _get_callback_query_event_data( def _get_callback_query_event_data(
self, callback_query: CallbackQuery self, callback_query: CallbackQuery
) -> tuple[str, dict[str, Any]]: ) -> tuple[str, dict[str, Any]]:
@ -991,6 +993,9 @@ class BaseTelegramBotEntity:
event_data[ATTR_MSG] = callback_query.message.to_dict() event_data[ATTR_MSG] = callback_query.message.to_dict()
event_data[ATTR_CHAT_ID] = callback_query.message.chat.id event_data[ATTR_CHAT_ID] = callback_query.message.chat.id
if callback_query.from_user:
event_data.update(self._get_user_event_data(callback_query.from_user))
# Split data into command and args if possible # Split data into command and args if possible
event_data.update(self._get_command_event_data(callback_query.data)) event_data.update(self._get_command_event_data(callback_query.data))