Файлы, реакции и рабочие чек-листы
Разберите правила для PDF, фото, голосовых, реакций и чек-листов Telegram. Посмотрите примеры для учебного чата и рабочей команды.
В этой статье
Фото, видео, файлы и другие сообщения
В чате курса присылают фотографии тетрадей, PDF и голосовые. В клубе — музыку и стикеры. В рабочей группе — контакты и опросы. Для каждого вида сообщения у Combot есть свои настройки.
Начните с практической задачи: «просить короткое описание к длинному видео» или «показывать памятку после PDF». Затем выберите соответствующий вид сообщения и его параметры.
Числам обычно можно задать нижнюю и верхнюю границы, а значениям — включения и исключения. Если Telegram не передал нужное свойство, например размер файла, это не означает нулевой размер. Проверьте правило на файлах, которыми действительно пользуются участники.
Фото
Ситуация: в чате фотографии обсуждают снимки, а авторы иногда забывают, как их оформлять.
Можно проверить:
- Размер файла: например, отвечать на крупные фотографии памяткой о способе отправки. Размер берётся у самого большого варианта фото, доступного боту; единицы — байты, КБ или МБ.
- Альбом: например, напоминать о подписи к подборке, когда фото отправлено в медиагруппе.
- Живое фото: отделить такой формат от обычных снимков.
- Спойлер: например, отдельно обрабатывать скрытые фотографии в чате обсуждения фильма.
Текст под фотографией настраивается как подпись. Альбом может прийти боту несколькими сообщениями, поэтому памятка не обязательно появится только один раз на всю подборку.
Видео
Ситуация: ученики отправляют записи выступлений. Для роликов длиннее пяти минут вы хотите просить краткое описание.
Выберите видео и нужную длительность. Время можно задавать в секундах, минутах или часах.
Дополнительно доступны размер, тип и имя файла, участие в альбоме и спойлер. Например, имя помогает выделить записи с пометкой «защита», а размер — попросить автора особенно большого ролика дать ссылку.
Тип можно указать как расширение .mp4 или как техническое обозначение video/mp4 — MIME-тип. Это сведения о формате, а не проверка качества записи.
Анимация
Ситуация: в рабочей группе для GIF есть отдельная тема. На подходящую анимацию в другом выбранном топике бот отвечает просьбой перенести её туда.
Доступны размер, длительность, тип и имя файла, наличие спойлера. Например, можно выделить особенно большие анимации.
Если человек отправил тот же файл как документ, правило для анимаций его не заменяет: важен способ отправки.
Аудио
Ситуация: участники музыкального клуба делятся записями, и вы просите указывать исполнителя и название.
Можно проверить наличие этих полей и текст в них. Например, при отсутствии названия прислать просьбу подписать запись. Также доступны размер, длительность, тип, имя файла и участие в альбоме — удобно отделять длинные записи от коротких.
Бот смотрит на сведения, приложенные к аудиофайлу. Он не узнаёт исполнителя, прослушав музыку.
Документ
Ситуация: участники курса присылают домашние работы в PDF. После файла бот напоминает указать номер урока и вопрос к проверяющему.
В типе файла выберите .pdf или application/pdf. Можно добавить ограничения по размеру, имени и участию в альбоме. Например, отдельно обрабатывать файлы, в имени которых есть «портфолио».
Такое правило замечает документ нужного вида. Оно не читает работу и не подтверждает, что преподаватель уже её проверил.
Стикер
Ситуация: у сообщества есть свой набор стикеров, а для некоторых обсуждений вы хотите напоминать о допустимых наборах.
Укажите имя пака или ссылку на него. Можно выбрать конкретные наборы либо исключить их из правила.
Есть и другие признаки:
- Размер: например, выделять стикеры по заданной границе размера.
- Тип: обычный стикер, маска или стикер с пользовательским эмодзи.
- Анимация и видео: например, отделять движущиеся варианты от остальных. «Обычный» тип сам по себе не означает неподвижную картинку.
- Премиум-анимация: отдельный признак для таких стикеров.
- Связанный эмодзи: наличие и значение. Например, заметить стикер, которому назначен 👍.
- ID пользовательских эмодзи: если нужно выбрать именно определённый пользовательский эмодзи.
Голосовое сообщение
Ситуация: в поддержке прислали семиминутное голосовое. Команде трудно быстро понять, что случилось.
Поставьте длительность не меньше двух минут и ответ: «Пожалуйста, кратко опишите вопрос текстом — так мы быстрее поможем». Можно также проверить размер и тип файла.
Combot проверяет длительность, а не смысл речи. Поиск фразы в тексте не расшифровывает голосовое.
Круглое видеосообщение
Ситуация: в группе домашние ответы присылают кружками. Для более длинных ответов вы хотите предлагать обычное видео.
Выберите круглое видеосообщение и нужную длительность. Можно проверять и размер. Кружок и обычное видео — разные пункты, поэтому настраивайте нужный.
Контакт
Ситуация: в чате организаторов пересылают карточки контактов. По известному номеру можно отправить памятку, по каким вопросам обращаться к этому человеку.
Доступны номер или телефонный код страны, Telegram ID, имя, фамилия и принадлежность контакта к участникам чата.
Проверяется человек из карточки. Если Анна прислала контакт Ильи, телефон Ильи не становится телефоном Анны.
У карточки может не быть Telegram ID. Поэтому вариант «контакт — не участник» не всегда доказывает, что бот узнал человека и проверил его членство: туда могут попасть и карточки без известного ID.
Геолокация и место
Ситуация: в чате похода участники отправляют точки встречи. Для точки в выбранной области можно прислать памятку о месте сбора.
Область задаётся координатами — широтой и долготой — и радиусом в метрах. Это проверка присланной точки, а не слежение за человеком.
Дополнительно можно выбрать живую геопозицию, её длительность в секундах, направление в градусах и радиус оповещения о сближении. Например, отделять трансляции маршрута от разовых точек.
У отправленного места доступны адрес и, когда они переданы, ID или тип места Foursquare / Google Place. Например, выделить карточку определённой площадки.
Отправленная геолокация не доказывает, что человек сейчас находится именно там. Бот не получает постоянного доступа к его местоположению.
Опрос
Ситуация: в клубе выбирают следующую книгу, а в учебной группе публикуют викторины. Их можно обрабатывать разными правилами.
Доступны следующие настройки:
- Тип и участие: обычный опрос или викторина, анонимность, несколько ответов, возможность менять голос, участие только членов чата и закрытое состояние. Например, после новой викторины отправлять памятку об обсуждении ответов.
- Числа и время: количество вариантов, общее число голосов, срок голосования в секундах и время закрытия. Например, выделять опросы с большим числом вариантов.
- Текст: вопрос, вариант ответа, объяснение и описание. Например, узнавать опрос с фразой «Следующая книга» в вопросе.
- Оформление: форматирование вопроса, объяснения и описания; вложения у объяснения и описания. Например, отделять викторины с дополнительными материалами.
- Дополнительные поля: ограничения по кодам стран, если они переданы, и ID правильных ответов. Здесь
0— первый вариант, а не отсутствие ответа.
Если поле времени закрытия предлагает Unix timestamp, ему нужна временная отметка в секундах, а не «30 минут до конца». Эта настройка пригодится тем, кто уже пользуется таким форматом.
Проверяется информация об опросе в полученном событии. Отдельного запуска на каждый голос участника здесь нет, а некоторые поля могут отсутствовать.
Игровой эмодзи
Ситуация: в болталке клуба бросают 🎲. На определённый выпавший результат можно настроить шуточный ответ.
Выберите вид игрового эмодзи и результат. У 🎲 и 🎯 разные возможные значения — сверяйте их с выбранной игрой. Повторный бросок может снова вызвать тот же ответ.
Игра
Ситуация: участники присылают Telegram-игру, а бот напоминает, в какой теме её обсуждать.
Можно проверить название и описание игры. Это не результат партии: правило не узнаёт таким способом, кто победил или установил рекорд.
Платные медиа
Ситуация: в тематическом чате делятся платными публикациями. Вы хотите отвечать на них памяткой о правилах размещения.
Можно учитывать цену в Telegram Stars, число элементов и их вид: фото, видео, живое фото или закрытый предпросмотр. Например, отдельно обрабатывать публикации из нескольких элементов.
Также доступны наличие закрытого предпросмотра, размер, длительность, тип и имя файла, обложка видео, время начала видео в секундах и переданные сведения о качестве. Используйте только те поля, которые есть у нужного вида медиа. У платного фото, например, может не быть MIME-типа.
Эти настройки не покупают публикацию, не списывают Stars, не открывают платные файлы и не проверяют, оплатил ли их конкретный участник.
Реакции и рабочие чек-листы
Не всё в чате происходит через новые сообщения. Участники меняют реакции, а коллеги отмечают задачи в списке. Automation может замечать и такие изменения.
Человек добавил, убрал или заменил реакцию
Допустим, вы хотите отправлять команде уведомление о подходящих изменениях реакций в рабочем обсуждении. Сначала выберите «Реакция пользователя», затем — какое изменение важно:
- «Добавлена» — появилась реакция, которой раньше не было.
- «Удалена» — человек убрал реакцию.
- Чтобы учитывать оба вида изменений, оставьте оба пункта невыбранными.
Например, Илья заменил 👍 на ❤️. В этом изменении одновременно есть удаление 👍 и добавление ❤️.
Это событие работает, когда Telegram передаёт самого пользователя. Реакция от имени канала или анонимного администратора его не запускает. Для пробной проверки поставьте реакцию от своего личного профиля.
Можно включить или исключить конкретные реакции. Обычный эмодзи задаётся символом, пользовательский — числовым ID; платная реакция выбирается отдельно.
Тонкость лучше разобрать на примере. У Ильи уже стоит 👍. Он добавляет ❤️, и теперь у него две реакции. Фильтр по 👍 всё ещё видит этот эмодзи: он смотрит, что осталось после изменения, а не только на то, что добавилось прямо сейчас.
Для фильтра конкретной реакции должен быть выбран пункт «Добавлена». Такой фильтр не означает «удалили именно 👍»: удалённого эмодзи уже может не быть в новом наборе.
Если человек уберёт реакцию и поставит её снова, правило может запуститься ещё раз. Поэтому для задачи «дать одну награду за один лайк» одного этого условия недостаточно. Для ручной благодарности модератора удобнее команда из раздела «11 готовых сценариев».
У публикации набралось нужное количество реакций
Допустим, редакторы хотят замечать публикации связанного канала, у которых сейчас от 20 до 30 👍 и ❤️ суммарно.
Выберите «Количество реакций», оставьте нужные типы для подсчёта и задайте минимум 20, максимум 30.
- 12 👍 и 10 ❤️ — подходят: вместе 22.
- 10 👍 и 8 ❤️ — не подходят: вместе 18.
- Ещё 50 реакций другого типа не меняют этот расчёт, если вы их не выбрали.
Можно включать нужные типы или исключать ненужные. Без отбора типов учитывается общее количество. Пустая граница или 0 означает «не ограничивать с этой стороны». Два нуля не означают «ровно ноль реакций».
Это не разовый сигнал о достижении порога. Бот получил число 20 — правило подошло. Позже получил 21 — оно может подойти снова. Даже если вы хотите заметить популярный пост один раз, настройка диапазона сама по себе не запоминает, что уже уведомляла о нём.
Практичный вариант — короткие уведомления в канал логов с удалением предыдущего ответа этой отправки. Они будут обновляться, но это не защита от повторных запусков.
У такого события нет списка проголосовавших. Нельзя выбрать «двадцатого поставившего реакцию» и начислить ему XP по общему счётчику.
Изменился определённый чек-лист
В рабочей группе есть список подготовки вебинара: проверить звук, собрать презентацию, отправить письмо участникам. Когда кто-то отмечает задачу, команда хочет получить короткое уведомление.
- Выберите «Задачи чек-листа выполнены». Если интересуют новые пункты, выберите «Задачи чек-листа добавлены».
- Скопируйте в Telegram прямую ссылку на сообщение с нужным списком и укажите её в условии чек-листа.
- Добавьте отправку: «В плане вебинара отметили выполненные задачи. Посмотрите, что осталось».
- При желании добавьте кнопку, ведущую на тот же список.
Теперь изменения соседнего чек-листа не должны вызывать это уведомление. Бот сравнивает ссылку с самим списком, а не с отдельным служебным сообщением «Задачи выполнены».
Прямые ссылки могут вести в публичный или приватный чат, в том числе в отдельный топик. Для публичной ссылки Combot должен знать совпадающее имя чата из полученных данных.
Ссылка с ?comment=… не подходит. Откройте нужный чек-лист в самом чате обсуждения и скопируйте прямую ссылку на его сообщение.
Если убрать условие по ссылке, правило будет относиться ко всем подходящим чек-листам выбранного чата или топика. Например, можно собирать в логах сведения обо всех новых задачах рабочей группы.
Не пишите «Вебинар полностью готов», если выбрано событие выполнения задач. Отмеченной могла оказаться только проверка звука — остальные пункты ещё ждут своей очереди.