QuanBot. Шаблоны опросов. Системные метки
- Шаблоны. Часть 1
- Шаблоны. Часть 2. Пользовательские метки
Шаблоны. Часть 3. Системные метки
В этом посте я показал как использовать {метки}
для быстрого создания однотипных опросов в Телеграм. Также у бота QuanBot есть встроенные системные метки. Вот список всех встроенных меток:
- {author}
- {poll-id}
- {share-url}
- {poll-url}
- {date} и {cdate}
- {votes}
- {opt}
- {index}
- {UserName}
- Игнорирование в шаблоне
- Пример
Для чего они и как работают, читайте далее...
{author}
Метка {author}
заменяется именем автора опроса, вместе со ссылкой на аккаунт.
{poll-id}
Метка {poll-id}
после создания опроса будет заменена на уникальный ID номер этого опроса.
{share-url}
Метка позволяет вставить ссылку для того чтобы поделиться опросом. Если вы хотите сделать текст Поделиться
кнопкой, котороя собственно и позволяет поделиться, необходимо в шаблоне указать какую нибудь разметку, например HTML, и текст в шаблоне указать так:
Текст опроса. <a href="{share-url}">Поделиться</a>
И тогда в момент создания опроса вы получите кнопку Поделиться
. Обратите внимание что метку обязательно надо указать в кавычках.
{poll-url}
Позволяет вставить в текст ссылку на опрос. Работает метка так же как и {share-url}
.
{date} и {cdate}
Напишите в тексте опроса метку {date} и в момент создания опроса эта метка будет автоматически заменена на текущую дату в формате dd.mm.yyyy HH:MM
. Если же вы хотите отобразить на месте метки дату в другом формате, например только дату без времени, вы можете это сделать указав метку в формате: {date|dateformat}
, где dateformat - это строка шаблон, в которой можно закодировать формат выводимой даты/времени. Вот несколько примеров:
{date|dd/mm/yyyy}
- 01/09/2017, полная дата{date|d-m-yy}
- 1-9-17, сокращенная дата{date|HH:MM:ss}
- 22:48:25, время чч:мм:сс
Вы можете комбинировать как угодно следующие спецсимволы:
d
- дата(день)dd
- день с добавление нуля в начало если меньше 10ddd
- день недели на английском, сокращенноdddd
- день недели на английском, полностьюm
- номер месяцаmm
- номер месяца с добавлением нуля в началоmmm
- название месяца на английском, сокращенноmmmm
- название месяца на английском, полностьюyy
- год сокращенноyyyy
- год полностьюhh
- часыMM
- минутыss
- секундыl
- миллисекундыZ
- временная зонаW
- номер неделиN
- номер дня недели
Также в метке {data}
можно указать смещение даты, если вы хотите указать не текущую дату, а скажем через 5 дней, например вы публикуете в понедельник опрос с информацией о том, что в ближайшую субботу опрос будет закрыт, вы можете указать смещение +5d
, что будет означать + 5 дней от текущей даты. Сделать это можно так:
{date|format|+5d}
Список доступных значений для смещения:
m
- минутаh
- часd
- деньw
- неделяM
- месяц
Обратите внимание, что маленькая m
- это минута, а большая M
- это месяц. В случае месяца прибавится НЕ 30 или 31 дней, а просто будет выбрана такая же дата как и в данный момент, но только в следующем месяце.
Метка {cdate}
работает точно так же как и {date}
, только всегда показывает время создания опроса.
{votes}
Общее количество голосов в опросе.
{opt}
Метка {opt}
, служит для отображения информации о варианте, но сама по себе она ничего не делает, ей надо указать ID варианта и дополнительные параметры, например вот так: {opt|123|title}
, что означает текст варианта у которого ID=123
. Список примеров использования:
{opt|123|title}
- текст варианта{opt|123|votes}
- количество голосов за этот вариант{opt|123|max}
-максимальное число голосов, если задано{opt|123|users}
- Показать имена пользователей, проголосовавших за этот вариант(максиум 20, если голосов будет больше 20 - тогда будет кнопка в виде троеточия, нажав на которую можно будет увидеть всех в личке с ботом){opt|123|users|3}
- Имена последних 3х пользователей{opt|123|users|3|date}
- Имена пользователей с датой голосования{opt|123|users|3|HH:MM:ss}
- Имена пользователей с датой голосования в форматечч.:мм.:сс.
, подробнее про формат даты читайте выше{opt|123|progress}
- Прогресс иконок🔸🔸🔸
{opt|123|progress|😍|⚪️}
- Прогресс иконок😍😍⚪️⚪️⚪️
Чтобы получить ID вариант, откройте раздел редактирования списка вариантов, и ID будет отображен рядом с текстом:
{index}
Если вы хотите в каждом создаваемом опросе вести нумерацию, воспользуйтесь меткой {index}
: в момент создания опроса будет подставлен порядковый номер, который начнется с 1 и будут увеличиваться на 1 с каждым созданным вами опросом. Если вам необходимо иметь разные наборы индексов для разных типов опросов, например вы публикуете опросы для организации игр футбол и волейбол, и необходимо чтобы для каждой игры был свой независимый порядок номеров, напишите метку в формате:
{index|football} {index|basketball}
В этом случае у вас будут два независимых индекса. Учтите что метка будет заменена целиком на число, т.е. слов footbal и basketball не будет в опросе. Если вам надо явно указать тип - напишите явно за пределами метки:
Футбол № {index|football} Баскетбол № {index|basketball}
{UserName}
Заменяется на имя пользователя. Работает только в персональном боте и только в приватной беседе. В группе или канале заменяется на текст Пользователь
.
Игнорирование в шаблоне
Метки {votes}
и {opt}
являются динамическими, это значит что они определяются в процессе голосования, и поэтому, чтобы эти метки были проигнорированы в момент создания опроса из шаблона, надо указывать символ "!" сразу после первой скобки.
Например: {!votes}
, {!opt|123|progress}]
, и тогда эти метки будут проигнорированы в момент создания опроса из шаблона, и будут использованы в момент голосования. Игнорирование "!" можно при желании использовать для любой метки, например если вы не хотите чтобы в момент создания опроса из шаблона метка {date}
заменилась на текущую дату, но при это хотите чтобы в момент голосования эта метка заменялась на текущую дату, можно использовать метку: {!date}
.
Пример
Вот такой вот опрос был создан с помощью следующего текст:
Новые системные метки {opt|461207|progress|😍|⚪️} - {opt|461207|votes} {opt|461207|users|3|HH:MM:ss} {opt|461209|progress|🤔|⚪️} - {opt|461209|votes} {opt|461209|users|3|HH:MM:ss} <code>Дата создания:</code> {cdate} <code>Последнее обновление:</code> {!date} <code>Автор опроса:</code> {author} <code>Количество голосов:</code> {votes} <code>ID опроса:</code> {poll-id} <a href="{poll-url}">Сссылка на опрос</a> <a href="{share-url}">Поделиться</a> Подробнее про системные метки читайте в <a href="http://telegra.ph/QuanBot-system-mark-09-01">посте</a>.