Тип бота
Сигналы с отметкой времени, которую можно защитить
Telegram-бот торговых сигналов рассылает сигналы подписчикам по тарифам, фиксирует, что именно и когда было отправлено, и ведёт состояние подписок. Доставить сообщение большому списку одновременно Telegram не умеет, и это ограничение определяет всю конструкцию. О качестве самих сигналов бот не судит никак.
Боты торговых сигналов: цена, сроки и ограничения
- Фиксированная цена
- $6,700 USD
- Срок
- 28 календарных дней с момента старта
- Потолок рассылки
- ~30 сообщений/сек по всем чатам
- Экономика каналов
- Один пост канала обслуживает всех подписчиков, а не по сообщению каждому
- Исправления
- Бот может редактировать собственные отправленные сообщения
- Доказательство доставки
- Только подтверждение отправки, без отметки о прочтении
As of 2025-10-01, Telegram Bot API 13.4
Какую задачу это решает
Рассылка сигналов выглядит задачей про вещание, а на деле это задача про подотчётность. Подписчики платят за информацию, ценность которой распадается за секунды, поэтому значимых вопросов ровно два: все ли получили одно и то же и можно ли защитить проставленную на этом отметку времени. Групповой чат не отвечает ни на один: сообщения правятся, удаляются и уходят разным тарифам в разное время без всякой записи.
Архитектуру определяет то, что Telegram разгоняет сообщения бота примерно до тридцати в секунду суммарно. Список из пяти тысяч подписчиков поэтому обходится примерно за три минуты. Первого и последнего получателя разделяет реальный интервал, а на рынке это реальное преимущество. Делать вид, что это не так, или обещать одновременную доставку — значит давать обещание, которое платформа выполнить не позволяет.
Защитимая конструкция принимает это и делает прозрачным. Содержимое сигнала фиксируется и хешируется в момент создания, порядок доставки перемешивается на каждой рассылке, поэтому никто не оказывается первым систематически, а время доставки каждому подписчику записывается и ему видно. Подписчик может убедиться, что полученное им совпадает с полученным остальными и что он не был последним раз за разом. Это достижимо, это честно и это заметно больше того, что предлагает большинство сигнальных каналов.
Как идёт разработка
Сигнал создаётся и тут же замораживается
Содержимое, отметка времени и хеш записываются до начала любой доставки. Именно заморозка в момент создания делает журнал осмысленным — сигнал, который можно править задним числом, не фиксирует ничего полезного.
commandsСписок получателей собирается по действующим правам
Проверка идёт в момент отправки, а не по закешированному списку, — поэтому отписавшийся не получит ещё один сигнал, а новый подписчик не будет пропущен.
webhookПорядок доставки перемешивается на каждой рассылке
Telegram разгоняет отправку, значит кто-то окажется первым, а кто-то последним. Перемешивание на каждой рассылке означает, что это не один и тот же человек, — и это вся справедливость, доступная при таком ограничении.
broadcastВремя фиксируется по каждой доставке отдельно
Запись ведётся по подписчику, а не по сигналу. Подписчик, запросивший свою историю, видит, когда именно к нему пришёл каждый сигнал, — это и превращает утверждение о справедливости в проверяемый факт.
webhookПодписчик может убедиться, что получил то же самое
Команда возвращает хеш любого сигнала вместе с собственным временем доставки. Двое подписчиков, сверив записи, устанавливают, что содержимое совпало, не доверяя оператору на слово.
commandsНеудавшиеся доставки повторяются и попадают в отчёт
Заблокировавший бота подписчик или сетевая ошибка записываются и выносятся наверх, а не тихо сокращают список получателей. Подписчик, который заплатил и ничего не получил, — это возврат денег, и увидеть это надо раньше, чем он спросит.
webhook
Что Telegram разрешает, а что нет
Бот отправляет примерно 30 сообщений в секунду суммарно по всем чатам.
Пять тысяч подписчиков обходятся примерно за три минуты. Одновременная доставка недостижима, и любой продукт, который её обещает, либо использует каналы — где подписчик забирает сообщение сам, — либо искажает устройство платформы.
Пост в канале — это одно сообщение, которое читают все подписчики, а не по сообщению на каждого.
Каналы действительно одновременны — ценой потери прав доступа по подписчику и записей о доставке. Поэтому тарифные продукты рассылают лично и принимают окно доставки как данность.
Бот может редактировать собственные отправленные сообщения.
Без хеширования содержимого в момент создания сигнал остаётся правимым задним числом, и история ничего не доказывает. Именно хеш делает журнал защитимым.
Если пользователь заблокировал бота, отправка падает с явной ошибкой.
Платящие подписчики изредка блокируют бота по неосторожности. Ошибка выносится в операционный контур, а не тихо сокращает список, потому что человек заплатил за то, чего не получает.
Telegram подтверждает отправку, но не сообщает о прочтении.
Доказать можно доставку, но не то, что сигнал увидели. В условиях надо писать про доставку, а не намекать, что подписчик получил сигнал вовремя и успел по нему действовать.
Когда это не нужно строить
- Вы обещаете одновременную доставку большому списку. Telegram так не умеет, и разработка под это обещание означает продукт, нарушающий собственную рекламу.
- У вас нет лицензии на инвестиционные рекомендации в тех юрисдикциях, где находятся подписчики. Бот доставит всё, что вы ему дадите; права это говорить он не добавляет.
- Подписчиков мало и тарифов нет. Канал проще, действительно одновременен и бесплатен.
- Вы хотите, чтобы бот ещё и порождал сигналы, а не только рассылал их. Это другой продукт с другим профилем риска, и смешение двух даёт систему, которую невозможно проверить.
На чём это работает
| Компонент | Версия | Зачем |
|---|---|---|
| grammY | 1.45 | Фреймворк бота с ритмичной рассылкой и записью результата по каждому получателю. |
| Cloudflare Workers | current | Среда исполнения, доставка разбита на пакеты между вызовами. |
| Cloudflare D1 | current | Сигналы, хеши, подписки и записи о доставке по каждому подписчику. |
| Cloudflare Queues or cron | current | Ритмичная доставка, переживающая упор в лимит вызова посреди рассылки. |
| TypeScript | 5.9 | Строгий режим по всему проекту. |
О чём спрашивают перед стартом
Могут ли все подписчики получить сигнал в одну и ту же секунду?
Через личные сообщения — нет. Telegram разгоняет отправку бота примерно до тридцати сообщений в секунду, поэтому список из пяти тысяч проходит целиком примерно за три минуты. Пост в канале действительно одновременен, но отказывается от прав доступа по подписчику и от записей о доставке.
Как подписчик узнает, что он не оказывается последним каждый раз?
Порядок доставки перемешивается на каждой рассылке, и время фиксируется по каждой доставке отдельно. Подписчик запрашивает собственную историю и видит распределение во времени — так утверждение о справедливости становится проверяемым, а не принимаемым на веру.
Что мешает поправить сигнал после того, как исход стал известен?
Содержимое хешируется в момент создания, до начала доставки, и хеш доступен любому подписчику. Отредактированное сообщение с ним уже не сойдётся — ради этого заморозка и делается первой.
Решает ли бот, каким будет сигнал?
Нет. Он рассылает то, что вы публикуете, и записывает, что именно разослал. Порождение сигналов — отдельный продукт с совсем другим профилем риска, и объединение двух лишило бы журнал смысла.
Как принимаются подписки?
Через Telegram Stars для небольших сумм или обычного платёжного провайдера для крупных, причём право доступа проверяется на каждой отправке, а не при оформлении. Именно поэтому окончание и продление подписки ведут себя правильно.
А как быть с регулированием?
Распространение инвестиционных сигналов регулируется в большинстве юрисдикций, где вероятно находятся ваши подписчики, и бот этого вопроса никак не решает. Это вопрос к вашим юристам, и он стоит до разработки, а не внутри неё.