Восстановление пользователей для бота Telegram
Я создаю Telegram-bot на aiogram v3. И мне нужно научить его смотреть с кем он ранее общался или кто с этим ботом когда-либо хоть как-то взаимодействовал. То есть, кто с ним контактировал ещё при другом коде. Я просто нашёл одного неофициального бота, который это делает, и он как-то находит информацию из вне, не имя БД или чего-либо ещё кроме самого токена бота. Фишка крутая, хочу применить на своём тренировочном проекте. Заранее спасибо за ответ!
P.S. Не пишите мне, что это не реально, потому-что есть реальные пример. И не пишите мне про то, что можно сохранять в БД.
Ответы (1 шт):
Я немного пойду против автора вопроса, но в свою защиту скажу что если так не сделать, то ответа на вопрос, вероятно, дать невозможно.
1. Почему нельзя
Телеграмм не хочет чтобы вы могли получить такую информацию, либо не хранит её вовсе, скорее всего из-за приватности, иначе это было бы написано в официальной документации.
2. Точно нельзя?
Просмотрев https://github.com/tdlib/telegram-bot-api, я убедился что таких методов точно нет в официальном api. Далее я проверил каждую функцию из td_api.h
с помощью которой можно получить список чатов, ни одна из них не поддерживала bot api. Учитывая что во всех интернет источниках написано что это не возможно, то можно сделать вывод: нельзя.
3. Что насчёт приведённого бота?
Я действительно не знаю как он работает. Вот некоторые идеи которые пришли в голову:
- Создатель действительно нашёл баг API и ни с кем не делится. В данном случае нет другого варианта кроме как перебирать различные варианты в поисках такого.
- Данный бот имеет свою базу данных пользователей, и брут форсит каждого в надежде найти пользователей. За такое бот может охватить бан, и метод очень не эффективен.
- Это что-то ещё и действительно работает
- Это что-то ещё, но работает только для тех аккаунтов которые пользователь бота действительно сможет проверить (нахождение взаимоотношений).
Вы можете попробовать написать в поддержку того бота с целью выяснить природу этой функции.
4. Я понял как это работает, что делать?
Если это баг телеграмм, то лучше сообщить про него https://bugs.telegram.org/
Если это что-то другое, то оставьте это ответом на этот вопрос