Обновить
3

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

3
Подписчики
Отправить сообщение

Добрый день. Может я не правильно понял про токены, но...

Я делаю всё, именно через https://my.telegram.org/apps. Только это не совсем «токены»: там Telegram выдаёт api_id и api_hash, которые программа потом использует для подключения через Telegram API.

У меня схема такая: входите на my.telegram.org своим номером → API development tools. Если приложение для этого номера уже когда-то создавалось, там должны сразу отображаться ваши App api_id и App api_hash — новое создавать не надо.

Если там именно форма Create new application, попробуйте для начала заполнить максимально просто:

App title: TelegramNewsAI
Short name: например telegramnewsai12345
Platform: Desktop

Остальные поля без экзотики, латиницей. После создания должны появиться api_id и api_hash.

Если после нажатия Create application Telegram просто пишет ERROR без пояснений, это уже не ошибка TelegramNewsAI — программа на этом этапе вообще ещё не участвует. У самой страницы my.telegram.org встречается такой довольно неинформативный ответ.

Я бы пока не перебирал дальше IP и номера много раз подряд. Если хотите — пришлите скрин страницы непосредственно перед нажатием Create application и скрин самого ERROR (номер телефона и любые секретные данные закройте). Посмотрю, что именно там заполнено, возможно получится понять причину.

Похоже, это действительно наша маленькая «Римская империя» :) Чем дольше делаю программу, тем чаще понимаю, что очередная моя «хотелка» — это ровно то, чего не хватает ещё кому-то.

Так что совпадение "хотелок " хороший признак — значит, решаем не выдуманную проблему)

Да, спасибо, НЯН посмотрел. Там действительно интересно сделано: сборщик ходит прямо в веб-превью канала и листает историю через ?before=, так что публичные каналы можно собирать вообще без пользовательской сессии.

Для моего случая это, пожалуй, хороший кандидат на упрощённый режим без API ID/API Hash. Полностью Telethon заменять им не стал бы — веб-версия даёт более урезанные данные и зависит от HTML Telegram; например, в НЯН посты без текста вообще пропускаются. Но идею точно забрал, спасибо.

Вот это уже серьёзный аргумент, спасибо. Я выше действительно слишком упростил всё до FLOOD_WAIT.

Посмотрел документацию и ваш опыт — раз Telegram сам точные критерии не раскрывает, решил пока закрыть репозиторий и нормально погонять программу на себе под разной нагрузкой. Если всё будет спокойно — открою обратно уже с предупреждениями и, если понадобится, более консервативной работой с API. Спасибо, комментарий реально полезный.

Тут немного не тот случай с кроулерами :) Telethon работает через MTProto API под обычным аккаунтом, то есть веб-страницы Telegram мы не парсим.

Фиксированного лимита вида «столько-то запросов в минуту» Telegram не публикует — ограничения динамические. Если переборщить с запросами, прилетает FLOOD_WAIT с временем, сколько нужно подождать. Telethon это умеет учитывать.

На моих нынешних 35–50 каналах это пока вообще не узкое место. А вот если проект реально пойдёт к 150+ каналам и большим периодам, тогда уже надо будет отдельно смотреть и на частоту запросов к Telegram, и на объём данных перед ИИ. То есть масштабирование там потребуется с двух сторон :)

Сейчас программа именно читает выбранные каналы и историю, а не пытается массово обходить весь Telegram.

Да, у вас масштаб уже совсем другой — 3 тысячи заголовков в сутки через ИИ действительно можно довольно быстро превратить в заметный расход токенов :)

У меня задача немного отличается. Я не пытаюсь прогонять через ИИ непрерывный новостной поток. Идея скорее в том, чтобы после какого-то пропущенного периода взять сообщения из выбранных мной каналов и получить вместо десятков похожих постов нормальную картину событий: что произошло, что добавилось в следующих сообщениях, где источники расходятся, что пока только инсайд и т.д.

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

Но идея с Джаро–Винклером мне нравится именно как предварительный фильтр перед ИИ. Сначала дешёвыми методами убрать очевидные дубли и только потом отдавать оставшееся на смысловую обработку. Возможно, со временем так и сделаю — это как раз тот случай, когда можно заметно уменьшить расход токенов без большой потери качества.

А свой загрузчик Telegram вы, по сути, сделали ровно по той же причине, что и я начал этот проект: в какой-то момент проще один раз сделать инструмент под себя, чем постоянно обходить ограничения чужих сервисов :)

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность