Pull to refresh

Comments 39

Жаль что пока Telegram API не позволяет работать с файлами
Позволяет, можно слать файлы и принимать вроде как. Даже обменник на боте сделал кто то слышал

Можно слать много всего. При приеме сообщения вроде как если там контент — есть его ID и по нему можно скачать файл.
вот именно что файл средствами этого API пока не скачать :)
Вот ответ саппорта
Downloading files for bots isn't supported in the API for the moment. But this is just the beginning — a lot more will be possible soon.
Тогда прошу прощения :( Но думаю эта функция будет 100% как и функции вроде множественной рассылки сообщений, которая мне так нужна.
Сейчас тоже пишу бота. Немного не понимаю, почему нужно указывать именно chat_id, а не просто указать имя пользователя для отправки. И насколько этот chat_id будет актуален через какое-то время? Может ли он обновиться? Надо разбираться :)
Chat_id = айди пользователя.
Я думаю это сделано с целью, чтобы не могли спамить по базе логинов через бота. Т.е. пока юзер сам не даст свой ID вы ему ничего не пошлете.

Да он будет действовать вечео. У группового чата — свой айди.
Спасибо, теперь все ясно. Я почему-то подумал что этот ID выдается именно как ID сессии чата :)
Значит буду сохранять в БД эти значения.
Там даже по ответу это видно. Оно кидает 2 массива, один массив — пользователя, второй чата. Если пользователь пишет сам — то они идентичны. Если он вас кинул в чат с кем то еще, то вы можете слать в чат и видеть кто именно пишет вам из него.
chat_id — это ID чата и все. Есть групповые чаты, поэтому нужно отдельное поле, а не просто ID пользователя. Объяснение про спам не нужно, оно бессмысленно, никто не мешает просто не давать слать пользователю, который еще не писал боту, без всякого chat_id.
Да это понятное дело. Просто я как пример привел, почему этот ID не будет меняться, потому что если это чат с пользователем, то айди его чата равен айди пользователя.
А обработка каждого занимает около 50-100 мс, что достаточно долго.

Это еще хорошо. С MPNS можно это время смело умножать на 10.
"№;%!!!
Все таки в телеграме работают безрукие. Ну почему нельзя иметь имя бота начинающееся с [0-9] ???
Как и ожидалось набежала куча минусующих дебилов, ни один из которых словами выразить ничего не смог.
Для Вас настолько критично иметь бота с именем, начинающимся с цифры, что вы моментально перешли на личности?
Я никуда не переходил. Мне вообще поровну что там. Просто количество косяков в телеграмме зашкаливает и это один из них. Что косвенно свидетельствует об уровне разработчиков. В том же самом slack все работает просто и сразу. В телеграмм какие-то приседания в противогазе. Вроде и не мешает, но нахрен так жыть?
напиши свое, сам пользуйся, сам радуйся
Зачем? Есть slack.
Нужно было отсылать сообщения в Телеграм из JS еще до появления их бот платформы, использовал Notificatio чтобы не мучаться с Telegram.API. Думал перейти на bot-api, но судя по комментариям он еще сыроват. Подожду…

Мне кажется, у них сейчас бизнес рухнет.

Моё решение кстати уже лучше по нескольким параметрам:
  • Есть нативная поддкажка Android и Chrome, будет еще нативная iOS и возможно WP
  • Какие у них цены? Я вижу только 100 бесплатных соощений.
  • Не могу посмотреть цены, т.к. нет авторизации через соц сети
  • Пользователи опять никак не контролируют процесс подписки отписки? :)


А вам нужно было именно чисто в телеграм?
А забыл насчет цен, у меня сейчас 5000 уведомлений в сутки беслпатно. Правда никто до такого количества добраться не может, поэтому возможно я буду уменьшать это количество. Но при этом думаю, что к примеру 2000 сообщений в сутки будет стоить в районе 200 рублей в месяц. Это где то 62 тысячи уведомлений в месяц, по 1 копейке за 3 уведомления.
Но как и обещал — все кто сейчас получают безлимит до 5000 уведомлений. А те, кто продвинали сервис в самом начаще так и будут пользоваться полным безлимитом.

Не радует только то, что сейчас никто вообще не платит, т.е. как такового дохода с проекта практически нет. Сегодня зарегалось более 100 новых пользователей, один хороший человек кинул 100 рублей. Один рекламный баннер адсенса принесет мне в месяц в районе 300 рублей думаю. Как раз хватит ровно на оплату сервера.

Но проект на самом деле надо как то монетизировать. То есть я хочу отделить тех, у кого денег нет — они могут пользоваться бесплатно как по акции. А те, кто на самом деле повышают эффективность своей деятельности засчет моего сервиса — должны это оплачивать, хотя бы немного, хотя бы рублей 200.
Когда разбирался с API столкнулся с ограничением.
К примеру, webhook можно поднять только по HTTPS, то есть если на сервере нет SSL, то система не дает повесить обработчик.
В своих экспериментах использовал сервер без SSL, который методом getUpdates забирает с сервера Telegram сообщения.

Поделитесь опытом, у вас через HTTPS все работает или есть еще какой-то способ?
Конечно через HTTPS. В статье даже описан метод как был сделан обработчик.
Да, описание обработчика я заметил, спасибо. Хорошо когда на сервере есть SSL )
С такими же ограничениями столкнулся. Пришлось купить домен и добавить его в сертификат. Причем замечу, что самоподписанные сертификаты не работают.
Сделал аналогичным образом. Не приходят никакие данные от телеграма. Если вручную забить, то все ОК. У вас работает?
Вы сделали как в статье? php://input
Я вообще отлаживал через редис сохранял данные от телеграма в редис а читал в другом месте.
Уже разобрался. Проблема была в неправильно настроенном сертификате. В Firefox он нормально работал, а в хроме жаловался :) Сервер на Node.js.

Все таки не хватает функции проверки вебхуков у телеграма. Так сиди, гадай, в чем проблема была :)
Это еще ладно, мы двух ботов зарегистрировали. Установили хук, не приходит ничего и все тут. Руками отправляешь пост на адрес хука — все ок, от телеграма не приходит. Бились с сертификатом, бились с хостером, оказалось все прозаичней, наша система установила адрес хука одному боту, а писали мы другому :-)
Да весело, когда тестируешь на одном сервере, а на самом деле ты подключен к другому и не можешь понять почему ничего не меняется.
А что было настроено не правильно? А то у меня ни один браузер на сертификат не ругается, SSL Labs оценил его на «A+», да и всё остальное настроено, а сервера телеграма даже не пытаются подключаться.
Мне WoSign прислал файлы сертификатов, короче, я не те файлы для NGINX указал. В Firefox работали, а в Chrome хрен.
Сделал уведомления просто зарегистрировав обычного юзера на левый номер телефона и подняв на сервере telegram-cli. Неудобно то, что юзер должен сообщать номер телефона, но такой бот умеет сам инициировать общение, в отличие от ботов которые предложили в телеграм.
Тут еще одна деталь — ограничения. Бот расчитан на рассылку сообщений тем, кто инициировал с ним диалог. А вот бот через пользователя может иметь жесткие рамки по рассылкам.
Итого
— Нужно знать номер телефона. Многие люди не любят им делиться. А по законну это вроде как еще и считается чуть ли не персональными данными
— Больше ограничений
— Нужно держать в фоновом процессе консольного бота, вместо того, чтобы просто отвечать на webhook-запрос.

К слову если брать в расчет мой сервис, то получаем еще вот что — при смене номера телефона или аккаунта телеграма, канал не теряет связи с человеком — человек просто привязывает другой телеграм аккаунт.
В дальнейшем я думаю у меня вообще будет система выходов. Т.е. пользователи смогут прикручивать свои callback и слать уведомления вообще в ЛЮБУЮ систему у которой есть API.

Сейчас же еще доступен андроид и хром напрямую. И уведомление можно слать бродкастом всем пользователям канала за один запрос, а потом вторым запросом собирать статистику приема.
Это всё прекрасно, только ограничения для многих сервисов (и моего в том числе) будут не такими уж большими, а пользователям гораздо проще ввести номер либо логин в телеграме. Обезличенный номер телефона не является персональными данными.

Хорошо, конечно, что вы сделали такого бота, тут я совершенно не против. Но нужно думать как упрощать получение уведомлений, потому что реальные пользователи, в отличие от гиков, ленивы.
В том то вся и суть что они ленивы. У меня вход в один клик, подписка в один клик.
А дальше в одик клик добавляешь любой метод получения уведомлений.

Любой пользователь у меня в системе может подписаться на любой канал без ввода номеров и т.д. нажав одну кнопку.
У вас же если у человека нет телеграма — он уже не сможет получать уведомлений. У меня же можно поставить приложение или получать уведомления через Push API в хроме без установки приложений.
Вроде как телеграм сейчас поддерживает логины вместо номера телефона, посмотрите в настройках.
Так и есть, но telegram-cli пока что не умеет.
Only those users with full accounts are able to leave comments. Log in, please.