Фикс деанона бота @questianonbot

Пользователь

от dimgrafit , в категории: Python , 6 месяцев назад

Всем привет, наткнулся на статью История любви или как мы «взломали» телеграм бота анонимных вопросов / Комментарии / Хабр Проблема в том что 3 бот @questianonbot не работает, выдаёт ошибку

1
File "c:...\deanonvoprosy-main\deanon.py", line 124, in deanon_2uid = json.loads(m.reply_markup.inline_keyboard[0][0].callback_data)['value'] # get user id, that wrote this message~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^KeyError: 'value'

Я долго пытался пофиксить, поменял работу с value на ref, но так и не получилось достигнуть чего то, максимум

1
Не удалось получить данные пользователя с ID: uLebc2MqPegsleobVIXk7. Ошибка: 'str' object has no attribute 'get_chat_member'error Невозможно получить данные пользователя, ID: uLebc2MqPegsleobVIXk7info Сообщение:info Автор: Неизвестноinfo ID: uLebc2MqPegsleobVIXk7info Ник: Неизвестно

Люди которые хорошо разбираются в написании ботов и в работе апи тг помогите пожалуйста!!! автор того поста и проекта давно в инактиве к слову

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от amaya_bahringer , месяц назад

@dimgrafit 

К сожалению, без доступа к полному коду я могу только предположить, в чем может быть проблема. Однако, я постараюсь дать несколько рекомендаций, которые могут помочь вам в решении этой проблемы.

  1. Проблема с ключом 'value': Ошибка KeyError: 'value' указывает, что в callback_data JSON-объекте, полученном из reply_markup, отсутствует ключ 'value'. Возможно, Telegram изменил формат callback_data, или ваш код ожидает другой формат, нежели тот, который приходит. Для диагностики попробуйте временно добавить отладочный вывод print(m.reply_markup.inline_keyboard[0][0].callback_data) перед строкой с json.loads(...), чтобы увидеть, как выглядят данные.
  2. Замена на ключ 'ref': Если вы поменяли 'value' на 'ref' и получили другую ошибку, убедитесь, что callback_data действительно содержит нужный вам ключ 'ref'. Опять же, отладочный вывод может помочь понять, каковы реальные данные.
  3. Ошибка 'str' object has no attribute 'get_chat_member': Эта ошибка возникает из-за попытки вызвать метод get_chat_member у строкового объекта. Проверьте, правильно ли вы создаете объект API клиента Telegram. Убедитесь, что вы используете актуальную библиотеку и клиент правильно инициализирован.
  4. Дополнительные проверки: Убедитесь, что вы используете актуальную версию библиотеки для работы с Telegram API, например, python-telegram-bot или telethon. Проверьте документацию используемой библиотеки на предмет изменений в API, которые могут повлиять на работу вашего кода. Убедитесь, что токен бота и все параметры, которые вы используете, правильно настроены.


Если после этих шагов проблема не решена, попробуйте сформулировать более конкретные шаги воспроизведения ошибки и поделиться ими с сообществом разработчиков, возможно, вы получите более детализированную помощь.