@GAFOR

Как исправить ошибку «AttributeError: 'KeyboardButton' object has no attribute 'data' PYTHON»?

Ошибка:
button_data = msg.reply_markup.rows[0].buttons[0].data
AttributeError: 'KeyboardButton' object has no attribute 'data'


Код:
from telethon import TelegramClient, sync, events

api_id = 
api_hash = ''
client = TelegramClient('boters', api_id, api_hash)
client.start()

dlgs = client.get_dialogs()
for dlg in dlgs:
	print(dlg.title)
for dlg in dlgs:
	if dlg.title == '':
		client.send_message('', "")
		tegmo = dlg

msgs = client.get_messages(tegmo, limit=30)

for msg in msgs:
	if msg.reply_markup is not None:

		button_data = msg.reply_markup.rows[0].buttons[0].data
		message_id = msg.id
		print(button_data, message_id)

from telethon.tl.functions.messages import GetBotCallbackAnswerRequest

resp = client(GetBotCallbackAnswerRequest(
	tegmo,
	58462,
	data=b'hatgiong;7187'
))
print(resp.message)
  • Вопрос задан
  • 783 просмотра
Пригласить эксперта
Ответы на вопрос 2
@alekssamos
Программист любитель
Такой кнопки нет! Значит запихай между try except. Если не будет, ничего не произойдёт, если будет, тогда нажмётся.
Или сделай print(msg.reply_markup.rows) и посмотри что там.
Вот ещё похожие вопросы:
* Как исправить AttributeError: 'KeyboardButtonUrl' object has no attribute 'data' ошибку в telethon?
* python - AttributeError: 'KeyboardButtonUrl' objec...
* Question: How would I interact with a bot's button...
Ответ написан
LaRN
@LaRN
Senior Developer
Попробуйте использовать встроенную функцию dir() , через неё можно узнать какие есть атрибуты у объекта.
Вот так например:
dir(msg.reply_markup.rows[0].buttons[0])
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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