Telegram bot map user data for callback query (#74302)
fix(component/telegram-bot): map user data for callback query
This commit is contained in:
parent
8fb9b45e42
commit
8b97271c26
1 changed files with 12 additions and 7 deletions
|
@ -19,6 +19,7 @@ from telegram import (
|
|||
ReplyKeyboardMarkup,
|
||||
ReplyKeyboardRemove,
|
||||
Update,
|
||||
User,
|
||||
)
|
||||
from telegram.error import TelegramError
|
||||
from telegram.ext import CallbackContext, Filters
|
||||
|
@ -966,16 +967,17 @@ class BaseTelegramBotEntity:
|
|||
event_data[ATTR_TEXT] = message.text
|
||||
|
||||
if message.from_user:
|
||||
event_data.update(
|
||||
{
|
||||
ATTR_USER_ID: message.from_user.id,
|
||||
ATTR_FROM_FIRST: message.from_user.first_name,
|
||||
ATTR_FROM_LAST: message.from_user.last_name,
|
||||
}
|
||||
)
|
||||
event_data.update(self._get_user_event_data(message.from_user))
|
||||
|
||||
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(
|
||||
self, callback_query: CallbackQuery
|
||||
) -> tuple[str, dict[str, Any]]:
|
||||
|
@ -991,6 +993,9 @@ class BaseTelegramBotEntity:
|
|||
event_data[ATTR_MSG] = callback_query.message.to_dict()
|
||||
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
|
||||
event_data.update(self._get_command_event_data(callback_query.data))
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue