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,
|
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))
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue