Инструменты разработчика — небольшие Telegram-боты, которые открываешь, когда пишешь и сопровождаешь своего: зарегистрировать бота, узнать ID пользователя и чата для вызовов API, посмотреть сырые данные сообщения, проверить адрес или домен.
Рейтинг опирается на то, что бот доказуемо умеет, а не на сценарий теста. Каждого бота мы проверили по странице t.me и искали источник, где он описан: открытый репозиторий, канал разработчика, запись его команд и ответов в каталоге. Мы прочитали код и переводы GetIDs, проследили User Info до исходного проекта с открытым кодом и отметили, что у бота сменился владелец. Четыре бота, о которых ничего не известно, кроме имени, — форматировщик JSON, конвертер Base64, генератор UUID и генератор паролей, — сняты: подтвердить, что они делают, было нечем.
Любой бот регистрируется в BotFather (@BotFather): /newbot выдаёт токен, и в том же чате задаются меню команд, режим inline, приватность в группах и описание бота. Обращайтесь с токеном как с паролем. Если он утёк, отзовите его в BotFather: старый токен сразу перестанет работать, а вы получите новый.
Bot API обращается к пользователям, группам и каналам по числовым ID, а приложения Telegram их не показывают. Перешлите сообщение в User Info (@userinfobot) или GetIDs Bot (@GetIDsBot), чтобы узнать ID отправителя; GetIDs покажет ещё исходный чат, данные медиа и по команде /json — сообщение в виде JSON Bot API. Telegram Bot Raw (@RawDataBot) и JsonBOT (@JsonBot) показывают сырые данные всего, что вы отправили или переслали. У всех них два общих ограничения: если отправитель скрыл аккаунт в пересылаемых сообщениях, ID не увидит ни один бот, а всё пересланное обрабатывается на сервере владельца бота — используйте тестовые сообщения, а не личную переписку.
Большинство ботов для разработчиков — проекты одного человека. Код GetIDs Bot открыт, но авторы пишут, что бот больше активно не развивают; User Info начинался как проект с открытым кодом, а теперь в описании указана медиакомпания; информационный канал Markdown Bot исчез. Пользоваться ими это не мешает, но это хороший повод не отдавать токены, пароли и данные клиентов боту, который вы не контролируете.
Перешлите его сообщение в User Info (@userinfobot) или GetIDs Bot (@GetIDsBot). Если в настройках приватности он скрыл аккаунт в пересылаемых сообщениях, в пересылке останется только имя, и ID не покажет ни один бот.
Перешлите пост из канала в GetIDs Bot (@GetIDsBot) — он покажет исходный чат с его ID. ID каналов и супергрупп в Bot API начинаются с -100.
Перешлите его в Telegram Bot Raw (@RawDataBot) или ответьте на него командой /json в чате с GetIDs Bot (@GetIDsBot).
Откройте @BotFather, выберите бота и отзовите токен. Старый сразу перестанет работать; новый пропишите в настройках сервера.
| # | Бот | Цена | Языки | Inline | Группы | Балл |
|---|---|---|---|---|---|---|
| 1 | @BotFather | Бесплатно | EN | нет | нет | 93 |
| 2 | @userinfobot | Бесплатно | EN | нет | да | 80 |
| 3 | @GetIDsBot | Бесплатно | RU · EN · DE · MULTI | да | да | 80 |
| 4 | @DropMailBot | Бесплатно | MULTI | нет | нет | 77 |
| 5 | @httpstatusbot | Бесплатно | EN | нет | нет | 76 |
| 6 | @RawDataBot | Бесплатно | EN | нет | да | 76 |
| 7 | @smsActivateruBot | Платно | RU · EN | нет | нет | 73 |
| 8 | @calcubot | Бесплатно | MULTI | нет | да | 71 |
| 9 | @JsonBot | Бесплатно | EN | нет | нет | 70 |
| 10 | @WhoisBot | Бесплатно | EN | да | нет | 69 |