Callback-кнопками в Telegram называют кнопки, при нажатии на которые отправляется запрос боту. Ответ бота показывается во всплывающем окне.
Вместе с запросом бот получает информацию о том, кто нажал кнопку. Поэтому он может отвечать каждому пользователю по-разному, например подставлять его имя в текст ответа.
FLOWIN позволяет автоматически добавлять callback-кнопки к пересылаемым сообщениям, переносить в них часть текста, копировать существующие кнопки и собирать статистику нажатий.

Зачем нужны callback-кнопки
В callback-кнопку можно спрятать важные детали сообщения. Например, в инвестиционном канале оставить в тексте идею сделки и название акции, а цену покупки или продажи, стоп-лосс и тейк-профит показывать только после нажатия. Если кто-то автоматически копирует только текст сообщения, эти условия в копию не попадут.
Чтобы получить полный сигнал, нужно нажать кнопку. FLOWIN запишет нажатие, и в статистике будет видно, кто и когда открывал подробности. Это помогает находить тех, кто автоматически собирает ваш контент. Сам ответ тоже можно скопировать, поэтому кнопка усложняет копирование, но не исключает его.
Ограничение для альбомов
К обычному альбому из нескольких фото или видео callback-кнопки не добавляются.
Генерация callback-кнопки
В режиме «Генерация» FLOWIN добавляет к пересылаемому сообщению новую кнопку. Вы задаёте её название и выбираете, что показать после нажатия: заранее написанный ответ или фрагмент самого сообщения.
Для настройки потребуется включённая пересылка в режиме «Копия». В качестве отправителя выберите бота, подключённого по токену, поскольку отправлять сообщения с callback-кнопками могут только боты.
Для примера возьмём сигнал по акции вымышленной компании. Условия сделки из строки «Подробности» перенесём в кнопку «Подробнее»:
Пример инвестиционного сигнала
Акции компании «Вектор». Идея: покупка на пробое сопротивления.
Подробности: покупка 150 ₽; стоп-лосс 145 ₽; тейк-профит 165 ₽.
Откройте @flow_in_bot, отправьте команду
/startи нажмите «Панель управления».Откройте «Меню» → «Кнопки» → «Cb кнопки». Нажмите «Создать» и выберите «Генерация».
В поле «Название» введите «Подробнее». В поле «Содержимое» вставьте
<regexp>(?<=Подробности: ).*$</regexp>. Этот шаблон выбирает текст после слов «Подробности: ». Нажмите «Создать».У созданной кнопки нажмите «Применить». В окне «Выбор пересылок» отметьте нужную пересылку и нажмите «Сохранить».
Отправьте пример в чат-источник. В чате назначения вместо условий сделки появится многоточие. Нажмите «Подробнее»: откроются цена покупки, стоп-лосс и тейк-профит.
Копирование исходных callback-кнопок
Режим «Копирование» нужен, если у исходного сообщения уже есть callback-кнопка. FLOWIN прочитает её ответ и добавит к пересланному сообщению кнопку с тем же названием и текстом.
Для копирования также нужна пересылка в режиме «Копия», где отправителем выбран бот, подключённый по токену. Нажимать исходную кнопку будет слушатель, то есть аккаунт, который читает сообщения в чате-источнике. Убедитесь, что кнопка отвечает ему текстом.
Какой ответ увидят читатели
FLOWIN сохраняет ответ, который исходный бот показал слушателю. В копии этот текст будет одинаковым для всех читателей, даже если исходная кнопка отвечала каждому по-разному. Другие действия кнопки и диалог с ботом не переносятся.
Откройте «Меню» → «Пересылки» и нажмите «Настройки» у нужной пересылки.
В окне настроек откройте вкладку «Кнопки». В блоке «Чтение кнопок» включите «Cb кнопки» и нажмите «Сохранить».
Откройте «Меню» → «Кнопки» → «Cb кнопки». Нажмите «Создать» и выберите «Копирование».
В открывшемся окне нажмите «Создать».
У созданной настройки нажмите «Применить». В окне «Выбор пересылок» отметьте пересылку с включённым чтением кнопок и нажмите «Сохранить».
Отправьте в чат-источник новый сигнал с кнопкой. В чате назначения откройте скопированную кнопку: название и условия сделки должны совпасть с исходными.
Как изменить callback-кнопку
Чтобы изменить уже созданную кнопку, откройте список «Cb кнопки».
Нажмите «Изменить» у нужной кнопки.
Измените нужные поля и нажмите «Сохранить». Проверьте новые данные в списке.
Настройки callback-кнопок
В режиме «Генерация» доступны все пять полей, описанных ниже. В режиме «Копирование» можно изменить только «Цвет» и «Описание», поскольку название и содержимое берутся у исходной кнопки.
Название
Укажите текст, который будет виден на кнопке, например «Подробнее». Это обязательное поле.
Можно использовать метатеги, которые подставляют данные сообщения. Например, <src-chat-name> подставляет название чата-источника.
Цвет
Выберите один из четырёх вариантов: «По умолчанию», «Синий», «Красный», «Зелёный». При выборе «По умолчанию» новая кнопка получит стандартный цвет Telegram, а скопированная сохранит исходный цвет.
Содержимое
В этом поле задаётся ответ, который читатель увидит после нажатия на кнопку. Поле нужно заполнить: напишите готовый текст или укажите шаблон для поиска фрагмента в сообщении.
Чтобы перенести часть сообщения в кнопку, заключите шаблон поиска в <regexp>…</regexp>. По умолчанию используется <regexp>\s.{20,180}$</regexp>: он выбирает от 20 до 180 символов в конце сообщения после пробела или переноса строки. Если ответ окажется пустым, FLOWIN не добавит кнопку.
Если написать ответ обычным текстом, без <regexp>, содержимое сообщения останется прежним. В ответ можно добавить метатеги <clicker-name> и <clicker-id>. FLOWIN подставит вместо них имя и Telegram ID того, кто нажал кнопку. Например, Здравствуйте, <clicker-name>! превратится в приветствие с именем читателя.
Ответ может содержать до 200 символов. Некоторые эмодзи считаются за два символа. Если текст длиннее, FLOWIN обрежет начало и оставит конец ответа.
Текст замены
Этот текст появится в сообщении вместо фрагмента, перенесённого в кнопку. По умолчанию на его месте остаётся многоточие .... Если оставить поле пустым, фрагмент будет удалён без замены. Настройка не меняет сообщение, если в «Содержимом» задан готовый ответ без шаблона поиска.
Описание
Здесь можно оставить заметку о том, для чего настроена кнопка. Поле можно оставить пустым: на работу кнопки оно не влияет.
Как выбирать сообщения для кнопки
Чтобы добавлять кнопку только к определённым сообщениям, привяжите к ней фильтр, например по слову «акции». Сообщения без этого слова будут пересылаться, но без кнопки. Если такой фильтр привязать к самой пересылке, сообщения без слова «акции» не будут отправлены. Настройка описана в инструкции по фильтрам.
Другие действия с кнопками
Рядом с каждой настройкой в списке «Cb кнопки» есть меню «Ещё». В нём доступны следующие действия:
- «Применить» открывает выбор пересылок, в которых будет работать кнопка.
- «Дублировать» создаёт копию настройки.
- «Выбрать проект» добавляет кнопку в проект.
- «Удалить» удаляет настройку.
Уже выбранные пересылки можно посмотреть через «Пересылки [1]». Число в скобках показывает их количество. В этом окне можно добавить пересылки или убрать те, где кнопка больше не нужна.
Как посмотреть статистику нажатий
В аналитике видно, кто нажимает ваши кнопки и как быстро открывает их после публикации. Статистика собирается по чату назначения: в неё попадают кнопки из всех пересылок в этот чат.
Откройте «Пересылки» в меню панели. У нужной пересылки нажмите «cb кнопки» с числом привязанных настроек.

Переход от пересылки к статистике нажатий. В списке «Последние 10 кнопок» выберите 10, 20 или 30. Появится статистика по пользователям: имя, Telegram ID и нажатия.

Нажатия пользователей и время до первого нажатия.
Как читать показатели:
- В столбце «клики» указано, сколько разных кнопок нажал пользователь. Например, 3/5 означает, что он нажал 3 кнопки из 5. Повторные нажатия не увеличивают это число.
- «среднее» и «медиана» показывают, сколько времени обычно проходит до первого нажатия. Медиана меньше зависит от отдельных нажатий с большой задержкой.
- «минимум» и «максимум» показывают самую короткую и самую долгую задержку до первого нажатия.
- В полоске кнопок цветом выделены те, которые пользователь нажал. Номер показывает порядок первого нажатия, а число в скобках указывает, сколько раз он нажал эту кнопку.
Если один пользователь открывает почти все новые сигналы с одинаковой короткой задержкой, возможно, он собирает их автоматически. Сравните время его нажатий с появлением ваших сигналов в другом канале. Сами по себе быстрые нажатия ещё не доказывают копирование.

























