Задать вопрос
@kreeplambor

Телеграм бот на from_user показывает свои данные. Что делать?

Учусь писать телеграм ботов. Вот этот кусок кода:
elif call.data=='id':
				bot.send_message(call.message.chat.id, F'Твой ID: {call.message.from_user.id}')
			elif call.data=='nick':
				bot.send_message(call.message.chat.id, f'Твой Nickname: {call.message.from_user.first_name}, {call.message.from_user.last_name}')

В этом месте бот выдаёт свои данные вместо данных пользователя (id я не знаю как проверить, но ник пишет свой).
Где я накосячил?
  • Вопрос задан
  • 1216 просмотров
Подписаться 2 Простой Комментировать
Решения вопроса 2
shurshur
@shurshur
Сисадмин, просто сисадмин...
call.message - исходное сообщение, в котором пользователь нажал на кнопку. Разумеется, автором этого сообщения является бот.

Вместо call.message.from_user надо использовать call.from_user.

Идея использовать call.message.chat.id для получения id пользователя будет работать только до тех пор, пока это используется в личном чате с пользователем, где chat_id всегда равен user_id. В групповых чатах это работать не будет.
Ответ написан
Комментировать
@kreeplambor Автор вопроса
Смог решить проблему заменой from_user на chat.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы