@CookieMonster32

Ошибка связанная с телетон?

Я написал вот такой код:
from telethon.sync import TelegramClient


api_id = 
api_hash = ''
client = TelegramClient('', api_id, api_hash)
client.start()
dlgs = client.get_dialogs()
for dlg in dlgs:
	print(dlg.title)
for dlg in dlgs:
	if dlg.title == '':
		tegmo = dlg
msgs = client.get_messages(tegmo, limit=100)
for msg in msgs:
	if msg.reply_markup is not None:
		button_data = msg.reply_markup.rows[0].buttons[0]
		message_id = msg.id          
		print(button_data, msg.id)#
from telethon.tl.functions.messages import GetBotCallbackAnswerRequest

resp = client(GetBotCallbackAnswerRequest(
	tegmo,
	5188,
	data=b'2523'
	))
print(resp.message)
#
import time
#
while True:
	msgs = client.get_messages(tegmo, limit=3)
	for msg in msgs:
		button_data = msg.reply_markup.rows[0].buttons[0]
		message_id = msg.id 

		resp = client(GetBotCallbackAnswerRequest(
			tegmo,
			message_id,
			data=button_data
		))
		time.sleep(1)
	time.sleep(5 * 60)

Это скрипт, который нажимает на кнопки в телеграмме .
И вот ошибка:
TypeError: bytes or str expected, not class 'telethon.tl.types.KeyboardButtonCallback'

Я понял что ожидались байты или строки а получилось это 'telethon.tl.types.KeyboardButtonCallback'>.
Можете помочь пофиксить это?
  • Вопрос задан
  • 634 просмотра
Решения вопроса 1
phaggi
@phaggi Куратор тега Python
лужу, паяю, ЭВМы починяю
среди данных какого-то вашего канала есть replay_markup, в котором есть row но нет button. Это говорит о том, что вам надо в своем коде предусмотреть ещё поиск и обработку и этого случая. И, наверно, других подобных случаев.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы