Комментарии 23
Про рассылку и свой сервер, можно чуть подробнее?
Документация: https://core.telegram.org/bots/api#using-a-local-bot-api-server
Исходники сервера: https://github.com/tdlib/telegram-bot-api
Лимиты на работу с файлами до 2Гб увеличиваются, вместо 20мб. Плюс исходники сервера доступны, можно доработать и скомпилировать. Так же и лимиты по запросам увеличиваются.
Это сервер ботов, ограничения он не снимает. По-прежнему нельзя будет кучу сообщений отправлять. Увеличивается порог для параметра max_connections и на объём файлов, в остальном всё через серверы телеграма идёт, поэтому те же лимиты.
Понял. Мы с лимитами для файлов сталкивались, как раз для него сервер для этого дела поднимали. Получается, для отправки сообщений с повышенным лимитом, нужно мудрить с неофициальными уже серверами
А для неофициальных нужен и клиент неофициальный, что почти невозможно вынести на общую аудиторию, только если это что-то внутреннее какой-то большой компании. Но даже в большой компании не будет столько рассылок. В любом случае всегда можно кучу других ботов создать, которые будут разгружать друг друга. Да и в этом случае самой компании проще приложение своё сделать, канал – что угодно, но не бота. То есть как идея со своим сервером – вполне себе да, но вряд ли кто-то будет реализовывать в реальных задачах (легальных).
Сам я не занимался этим, потому что не требовалось. Когда я думал над ограничениями, они меня не беспокоили, однако, поверхностно немного попытался узнать что-то про собственный сервер. Сам телеграм даёт код только для клиента и сервера ботов, поэтому всё осталось на уровне идеи. Она заключается в том, чтобы сделать свой собственный телеграм-мессенджер и использовать неофициальные серверы, которых вроде как предостаточно на гитхабе. Точно не расскажу, к сожалению.
Сложные меню и интерфейсы ботов можно выносить в webview, телеграм уже давно их разрешает встраивать.
А недавно и мини апп заработали – по прямой ссылке можно вьюху бота вызывать из чатом, лс и даже постов в каналах.
Пример(тестовый бот): https://t.me/restaurant_OWL_ExampleBot
Пример(тестовый мини апп): https://t.me/restaurant_OWL_ExampleBot/restaraunt
Например, большой каталог услуг или товаров, очень сложно корректно показать кнопками и сообщениями от бота. Но если перенести его в вебвью, то пользоваться ботом становится в разы удобнее.
Они просто лентяи, вот и сделали вместо нормальных интерфейсов в ботах полубраузер. Это не подходит, ведь там просто обычное веб-приложение. Проще уж иконку сайта на рабочий стол вынести и даже не придётся телеграм открывать.
Для некоторых целей, кажется, что наоборот удобнее – сверстать веб-интерфейс проще и понятней, чем клавиатуру делать. Ну api из веб-вью доступны, с ботом есть связь. Например, насобирать корзину товаров в вебвью и потом оплатить через бота, а так же продолжить переписку с менеджером магазина внутри бота. Все в одном месте, не нужно бегать из мессенджера в браузер.
Думаю, что телеграму стоит оба направления развивать – и вебвью и сам интерфейс внутри бота
Нахрена нужны боты если можно делать нормальные сайты?
А зачем нужны мотоциклы, если есть автомобили? Боты и сайты – это разные инструменты, у каждого свое применение. Бот внутри мессенджера, чтобы его запустить, достаточно телеграм открыть. Так же бот умеет уведомления отправлять в мессенджер, меньше шансов потерять уведомление, чем письмо от сайта или пуш от приложения.
Не нужны. Но раз они есть, приходится пользоваться.
Потому что мне вообще не всралось заходить на сайт ресурсоснабжающей организации, чтобы посмотреть или передать показания счётчиков
Мне проще зайти в бота, тыкнуть одну кнопку и все увидеть/передать, потому что там сессия всегда активна
А нахрена нужны сайты, если есть нормальные боты?)
Ты напоминаешь мне одного знакомого моей подруги, который яро ей доказывал, что одно лучше другого: объяснял крутые преимущества сайтов, и "жестокие" минусы чат-ботов.
Один нюанс - моя подруга не особо разбиралась в IT, и когда я решил в лс лично поведать у него эти плюсы и минусы - оказалось, что треть всего этого не имеет смысла, а всë остальное выдумано... Да и он, как оказалось, может похвастаться только тем, что закончил техникум по специальности веб разработчика, и уже 3 года не может найти себе работу
На самом-то деле, ответ прост - в кодинге все средства хороши, самое главное уметь ими грамотно пользоваться
По поводу ограничений на количество отправляемых сообщений в единицу времени.
1. Сообщений одному пользователю можно отправлять не более одного в секунду.
2. Всего бот не может отправлять больше 30 сообщений в секунду.
3. И не более 20 сообщений в минуту в группу.
https://core.telegram.org/bots/faq#my-bot-is-hitting-limits-how-do-i-avoid-this
Но на практике допускаются некоторые "всплески".
Самое опасно, это то, что если бот превышает лимит, то можно получить бан: ошибка 429.
Причем бан можно получить на весьма длительное время.
Условия бана и его длительности не описаны, эдакий черный ящик.
Поэтому, если ожидается, что сообщений от бота может быть много, стоит сделать троттлинг или что-то подобное.
Ну или хотя бы сделать мониторинг ошибки 429, чтобы вовремя среагировать и не влететь на длительный бан.
Все ограничения уже посчитаны: https://limits.tginfo.me/ru-RU
Я не нашел на этой странице информации об этом ограничении.
Посчитали, что оно не работает?
По нажатии на кнопку ожидаешь, что текст в сообщении обновится, меню перестроится, и будет хорошо, ...
Только стоит учитывать что телеграм апи нерегламентировано выдает бан на ~120 секунд если edit метод вызывается более 100 раз за 2 минуты на юзера (примерные цифры по моим наблюдениям)
а когда бот в одном сообщении так красиво и ловко переключает контент по кнопкам, пользователю очень хочется эти кнопочки нажимать многомного
Пора делать нормальных телеграм-ботов #1