Api hash telegram как узнать
спросил(а) 2017-04-08T11:28:00+03:00 4 года, 7 месяцев назад ответил(а) 2017-04-08T13:53:00+03:00 4 года, 7 месяцев назад
Зарегистрируйтесь в Telegram, используя любое приложение. Войдите в свое ядро Telegram: https://my.telegram.org. Перейдите к " Инструменты разработки API и заполните форму. Вы получите основные адреса, а также параметры api_id и api_hash, необходимые для авторизации пользователя. На данный момент к каждому номеру может быть подключен только один api_id.
Но если вам нужен API для бота Telegram, вы можете проверить API вашего бота с помощью BotFather. для деталей, вы можете проверить по этой ссылке
Я надеюсь, что это полезно для вас.
ответил(а) 2019-01-11T14:25:00+03:00 2 года, 10 месяцев назадВы просите найти бот-токен? или ищете код api для телеграммы клиента?
@BotFather, дает вам знак каждого бота, который вы создали.
для получения токена api для создания клиента, вы должны сделать учетную запись разработчика для телеграммы. это может быть ваш личный счет для телеграммы.
ответил(а) 2017-04-10T14:33:00+03:00 4 года, 7 месяцев назадЕсли кто-то знает, как сделать изображения немного меньше с помощью форматирования, пожалуйста, продолжайте и делайте это, потому что этот размер сумасшедший.
Как упоминается в своем ответе ihoru, вы можете найти всех своих ботов соответствующую информацию в BotFather.
Итак, перейдите к @BotFather в Telegram. Если вы еще не создали бота, введите /newbot и следуйте инструкциям на экране. Вы должны получить свой ключ в конце процесса.
Но теперь предположим, что у вас уже есть бот и больше не можете найти ключ. Опять же, перейдите в @BotFather, но на этот раз введите /mybots . Вы должны увидеть что-то вроде этого:
Нажмите/Коснитесь любого бота, для которого вы хотите использовать свой API-ключ, тогда вы должны увидеть следующее:
Прокручиваем страницу вниз и видим нечто подобное (данные могут отличаться):
Указываем новые значения:
На этом все. Дальше можно не читать и идти авторизовать свои аккаунты, без банов как минимум ближайшие недели, а то и месяцы после момента написания данной статьи.
Как только Telegram придумает какой-нибудь новый «фильтр» — способ может перестать работать (временно). А может и не перестать ¯\_(ツ)_/¯
Разберем некоторые из пунктов новых настроек:
это «пара» (APP_ID + APP_HASH) от официального Telegram Web. Регистрировать аккаунты на данную пару не получится, так как в самом Telegram Web это не предусмотрено, а вот авторизовать уже существующие — можно, чем мы и воспользуемся.
Так как доступ к Telegram Web осуществляется через браузер, то указывать нужно не какой-то определенный девайс, типа «PC», а User-agent браузера. Пример: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36
Мы же, в свою очередь, прописываем так: [user-agent] . В этом случае значения будут браться в случайном порядке из файла user_agents.txt , в котором почти 2000 юзерагентов (полный путь к файлу: Inviter/data/user_agents.txt ). Тем самым мы максимально уникализируем данные значения.
— не будем заострять внимание.
Где и как все это отображается?
Берем аккаунт, который мы уже перенесли в софт данным способом, авторизуем его в Telegram Desktop, идем в Настройки > Конфиденциальность > Активные сеансы:
Telegram Web - это наша «пара», 0.7.0 - app_version, Chrome, Windows - данный юзерагент: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 YaBrowser/16.7.1.20808 Yowser/2.5 Safari/537.36
Для указанных задач будет использоваться Python не ниже версии 3.5, а также высокоуровневая библиотека для работы с Telegram API – Telethon. Установить библиотеку можно с помощью менеджера пакетов pip :
Регистрируем в Telegram новое приложение
Для подключения к Telegram API необходимы api_id и api_hash . Эти параметры выдаются при регистрации приложения в инструментах разработчика (при отсутствии доступа используйте VPN). Для авторизации указываем номер телефона, к которому привязан аккаунт Telegram.
Вводим пришедший в Telegram численно-буквенный код и попадаем на страницу регистрации нового приложения. Заполняем форму, достаточно первых двух граф:
В результате попадаем на страницу конфигурации приложения. Находим оба параметра, а также доступные MTProto-сервера и открытые (публичные) ключи.
Избегая проблем с безопасностью, сохраняем учетные данные в отдельном файле config.ini следующей структуры:
Поле username далее будет использоваться лишь для автоматического сохранения сессии под именем username.session . Одному клиенту соответствует одна сессия, учтите это в случае запуска нескольких клиентов.
Создаем клиент Telegram
Начнем с импорта библиотек.
Теперь считаем учетные данные из config.ini :
Создадим объект клиента Telegram API:
При необходимости прописываем прокси. При использовании протокола MTProxy прокси задается в виде кортежа (сервер, порт, ключ) .
При первом запуске платформа запросит номер телефона, и вслед – код подтверждения. Так же, как если бы вы входили в учетную запись в приложении или браузере.
Для сбора, обработки и сохранения информации мы создадим две функции:
Обе функции будут вызываться в теле функции main , в которой пользователь передаст ссылку на интересующий источник:
Касательно написания вызова функций стоит оговориться, что Telethon является асинхронной библиотекой. Поэтому в коде используются операторы async и await. В связи с этим функция main полностью будет выглядеть так:
Заметим, что из-за асинхронности Telethon может некорректно работать в средах, использующих те же подходы (Anaconda, Spyder, Jupyter).
Рекомендуемым способом управления клиентом является менеджер контекстов with . Его мы запустим в конце скрипта после описания вложенных в main функций.
Собираем данные об участниках
Telegram не выводит все запрашиваемые данные за один раз, а выдает их в пакетном режиме, по 100 записей за каждый запрос.
Устанавливаем ограничение в 100, начинаем со смещения 0, создаем список всех участников канала all_participants . Внутри бесконечного цикла передаем запрос GetParticipantsRequest .
Проверяем, есть ли у объекта participants свойство users . Если нет, выходим из цикла. В обратном случае добавляем новых членов в список all_participants , а длину полученного списка добавляем к смещению offset_user . Следующий запрос забирает пользователей, начиная с этого смещения. Цикл продолжается до тех пор, пока не соберет всех фолловеров канала.
Самый простой способ сохранить собранные данные в структурированном виде – воспользоваться форматом JSON. Базы данных, такие как MySQL, MongoDB и т. д., стоит рассматривать лишь для очень популярных каналов и большого количества сохраняемой информации. Либо если вы планируете такое расширение в будущем.
В JSON-файле можно хранить и всю информацию о каждом пользователе, но обычно достаточно лишь нескольких параметров. Покажем на примере, как ограничиться набором определенных данных:
Итак, для каждого пользователя создается свой словарь данных и добавляется в общий список all_user_details , который записывается в JSON-файл.
Таким образом, с помощью Python и Telethon мы написали скрипт, собирающий и сохраняющий данные и реплики участников сообществ Telegram.
На 2021 год боты в Telegram так и не имеют метода, позволяющего получать информацию о подписчиках канала. Тем не менее, существует достаточно сложное в освоении Telegram API и построенная на нём библиотека Telethon. Сегодня мы посмотрим, как при помощи библиотеки выгрузить информацию о подписчиках своего канала.
Создание приложения
После успешной авторизации перейдите на страницу API development tools:
Заполните все поля и жмите на создание приложения:
Из полученной конфигурации нам необходим app api_id и app api_hash:
Запрос к API
Импортируем telethon — он поможет сформировать запрос, и pandas — полученный ответ мы запишем в DataFrame.
Вводим api_id, api_hash, наш номер телефона и ссылку на канал, информацию о подписчиках которого хотим получить. Доступ к информации о подписчиках есть только у администраторов канала.
Создаём новую сессию — вместо session_name можно подставить любое другое название. Методы в библиотеке работают асинхронно, поэтому ответа от них требуется ожидать:
Собираем все каналы текущего пользователя. Из ссылки забираем часть с именем канала и вытаскиваем из словаря нужный:
Подписчиков, доступ к которым не ограничен приватностью, можно получить методом get_participants. С 20 июля 2018 года Telegram установил ограничение в 200 подписчиков для вызова метода, и установка параметра aggressive на True поможет получить всех подписчиков за раз.
Из полученных библиотечных структур извлекаем информацию о пользователях — их имена и телефоны:
Из четырёх списков собираем DataFrame и пишем его в csv-таблицу:
Результат работы — такая таблица:
Для запуска в Jupyter Notebook описанный ниже код можно просто вставить в ячейку, но при запуске из Python-файла будет такая ошибка:
Устранить проблему можно, записав весь код в асинхронную функцию. Целиком выглядеть код будет так:
Читайте также: