Спинтакс для Telegram: синтаксис, подсчёт вариантов и честные ограничения

· 5 min

Что такое спинтакс и как писать его для сообщений в Telegram: фигурные скобки, вложенные группы, пустой вариант, формула числа вариантов, примеры и чек-лист.

Спинтакс — это способ записать в одном шаблоне несколько формулировок. Варианты пишут в фигурных скобках через знак |, и при каждой отправке случайно выбирается один из них. Напишите {Привет|Здравствуйте|Добрый день}, и один получатель увидит «Привет», а другой «Добрый день».

Ниже разберём синтаксис, формулу числа вариантов, отличие спинтакса от переменных вроде {isim} и то, чего спинтакс не решает. Любой пример можно вставить в бесплатную проверку спинтакса и посмотреть результат.

Синтаксис

Правил всего три.

1. Группа вариантов. Откройте фигурную скобку, перечислите варианты через |, закройте скобку:

{Привет|Здравствуйте|Добрый день}, ваш заказ готов.

2. Пустой вариант. Если с одной стороны от | ничего нет, вариантом становится «ничего не писать». В этом примере фраза заканчивается то восклицательным знаком, то без знака:

Спасибо за заказ{|!}

3. Вложенная группа. Внутри варианта можно открыть ещё одну группу:

{сегодня {до обеда|вечером}|завтра утром}

Получится три результата: «сегодня до обеда», «сегодня вечером» и «завтра утром».

Ещё две детали. Скобки, внутри которых нет |, спинтаксом не считаются и остаются как есть, поэтому {isim} не ломается. Незакрытая скобка уходит обычным текстом: если написать {Привет|Здравствуйте и забыть закрыть, получатель увидит именно это.

Как считается число вариантов

Формула короткая:

  • варианты внутри одной группы складываются;
  • группы, идущие друг за другом, перемножаются;
  • вложенная группа считается своим числом вариантов на месте того варианта, в котором стоит.

Возьмём шаблон:

{Привет|Здравствуйте|Добрый день}, {isim}! {Ваш заказ|Ваш товар} отправим {сегодня {до обеда|вечером}|завтра утром}{.|!}
ГруппаРасчётИтог
Приветствие3 варианта3
Заказ или товар2 варианта2
Время2 для «сегодня», 1 для «завтра утром»3
Знак в конце2 варианта2

Всего: 3 × 2 × 3 × 2 = 36 вариантов. {isim} — не группа, на счёт не влияет.

Считать вручную не обязательно. Проверка спинтакса показывает общее число вариантов прямо по мере набора и пять примеров текста, а кнопка «Сгенерировать ещё» выдаёт новые.

Переменные — это не спинтакс

И то и другое пишется в фигурных скобках, отсюда путаница. Задачи у них разные.

СпинтаксПеременная
ЗаписьВарианты через вертикальную черту в скобкахОдно имя поля в скобках
Откуда значениеСлучайный выборДанные самого получателя
ЗачемРазнообразить формулировкуСделать сообщение личным

В MyCRM для рассылки в личные сообщения есть встроенные переменные: {isim} (имя), {soyad} (фамилия), {ad_soyad} (имя и фамилия), {kullanici_adi} (юзернейм) и {telefon} (телефон). Названия одинаковы на любом языке интерфейса, то есть имя подставляется через {isim}, а не через {имя}. Свои поля из CRM тоже работают, по их ключам.

Три практических замечания:

  • Держите переменные вне групп. {Привет, {isim}|Здравствуйте} не сработает, сообщение уйдёт сломанным. Правильно: {Привет|Здравствуйте}, {isim}.
  • Переменные подставляются только в личных сообщениях. В публикации в канал или группу {isim} выйдет как есть. Там используйте только спинтакс.
  • Учитывайте пустое значение. Если имя у контакта не указано, на месте переменной ничего не будет. Стройте фразу так, чтобы она читалась и без имени.

Хорошие и плохие примеры

В хорошем шаблоне каждый вариант читается естественно и сообщает одно и то же.

Хорошо:

{Здравствуйте|Добрый день}, {isim}! {Напоминаем о записи|Ждём вас} завтра в 14:00. {Если планы изменились|Если время не подходит}, напишите в этот чат.

Плохо, и почему:

{Здравствуйте|Хай|Уважаемый клиент}, {isim}

Скачет тон. Одному клиенту бренд пишет официально, другому панибратски.

Скидка {10%|20%|30%} до конца недели

Меняются факты. Спинтакс должен менять только формулировку. Цена, дата и обещание обязаны совпадать во всех вариантах.

{Ваш заказ|Ваша посылка} отправлен

Ломается согласование: второй вариант даёт «Ваша посылка отправлен». В русском от слова зависят род, падеж и число, поэтому надёжнее менять целые фразы: {Ваш заказ отправлен|Ваша посылка уже в пути}.

{Привет|Здравствуйте} {друзья|}, заказ готов

Если выпадет пустой вариант, перед запятой останется лишний пробел. Перенесите пробел внутрь варианта: {Привет|Здравствуйте}{ друзья|}, заказ готов.

Спинтакс не делает спам допустимым

Это понимают неправильно чаще всего. Спинтакс меняет текст. Он не меняет того, хотел ли человек получить это сообщение.

Ограничения Telegram во многом появляются из-за жалоб получателей («Сообщить о спаме»). Незнакомый человек пожалуется, какой бы из 36 вариантов ему ни достался. Лимиты на темп от текста тоже не зависят: аккаунт, который слишком быстро пишет слишком многим, может получить PEER_FLOOD или FLOOD_WAIT, даже если все сообщения разные. Точных чисел для пользовательских аккаунтов Telegram не публикует.

Реальная польза спинтакса скромнее: сообщения по базе с согласием не выглядят как копипаст, а одно объявление в нескольких группах не повторяется слово в слово. Про базу, темп и отписки читайте в статье о рассылке без спамблока.

Спинтакс в MyCRM

Кнопка Spintax в редакторе сообщения вставляет в место курсора пример группы, варианты в нём вы заменяете своими. В рассылке в личные сообщения рядом есть меню с персональными переменными. Спинтакс работает и в личных рассылках, и в публикациях в каналы и группы, а выбор делается отдельно для каждой отправки.

Чек-лист

  1. База с согласием? Если нет, сначала разберитесь с базой, а не с текстом.
  2. Все скобки закрыты?
  3. Переменные стоят вне групп?
  4. Факты одинаковы во всех вариантах (цена, дата, время)?
  5. Согласование и пробелы в порядке в каждом варианте?
  6. Вы прочитали хотя бы десять примеров в проверке спинтакса?
  7. Дневной лимит, паузы и список отписавшихся настроены?

Частые вопросы

Спинтакс защитит аккаунт от спамблока? Нет, такой гарантии не даёт ничто. Ограничения зависят от жалоб и темпа отправки. Спинтакс только уменьшает повтор текста. База с согласием, дневной лимит и паузы нужны всё равно.

Сколько вариантов достаточно? Точного числа нет. Не раздувайте счётчик неуклюжими вариантами. Напишите естественные альтернативы в двух-трёх местах: в приветствии, в основной фразе и в концовке. Один странно звучащий вариант вредит больше, чем повтор текста.

Можно ли использовать в сообщении обычные фигурные скобки? Да. Скобки без | спинтаксом не считаются. Содержимое заменяется, только если оно совпадает с именем переменной, например {isim}, и только в личных сообщениях.

Работает ли спинтакс в постах для каналов? Да. Когда один и тот же материал уходит в несколько каналов или групп, для каждого выбирается свой вариант. Переменные в таких публикациях не подставляются.

По теме: Рассылка в Telegram без спамблока · PEER_FLOOD и FLOOD_WAIT · Постинг в несколько групп Telegram