Файли, реакції та командні списки завдань
Розберіться з правилами для PDF, фото, голосових, реакцій і списків завдань Telegram на прикладах чатів курсів та робочих команд.
У цій статті
Фото, відео, файли й інші повідомлення
До чату курсу надходять фото зошитів, PDF і голосові. Клуб ділиться музикою й наліпками. Робоча група обмінюється контактами й опитуваннями. У Combot є налаштування для кожного типу.
Почніть із практичного завдання: «попросити короткий опис до довгого відео» чи «показати нагадування після PDF». Потім виберіть відповідний тип повідомлення та його параметри.
Для чисел зазвичай є нижня й верхня межі, для значень — включення й винятки. Якщо Telegram не передав властивість, як-от розмір файлу, це не означає нульовий розмір. Спробуйте правило з файлами, якими справді користуються учасники.
Фото
Ситуація: у фоточаті обговорюють світлини, але автори іноді забувають правила публікації.
Можна перевірити:
- Розмір файлу: наприклад, відповідати на великі фото порадою щодо надсилання. Розмір береться з найбільшої доступної боту версії фото; одиниці — байти, KB або MB.
- Альбом/медійна група: наприклад, нагадати підписати добірку, коли фото належить до медіагрупи.
- Живе фото: відрізнити цей формат від звичайних зображень.
- Спойлер: наприклад, окремо обробляти приховані фото в кінодискусії.
Текст під фото налаштовується як підпис. Альбом може надійти боту кількома повідомленнями, тому немає гарантії одного нагадування на всю добірку.
Відео
Ситуація: студенти надсилають записи виступів. Для відео довше п’яти хвилин ви хочете просити короткий опис.
Виберіть Відео й потрібну тривалість. Є секунди, хвилини й години.
Також є розмір, тип і назва файлу, належність до альбому та спойлер. Наприклад, назва допоможе знайти файли з позначкою «презентація», а розмір — попросити особливо велике відео надіслати посиланням.
Тип вводьте як розширення .mp4 або технічний ідентифікатор video/mp4 — MIME-тип. Це описує формат, а не оцінює якість запису.
Анімація
Ситуація: у робочій групі окрема тема для GIF. Коли відповідна анімація з’являється в іншій вибраній темі, бот просить перенести її туди.
Можна перевірити розмір, тривалість, тип і назву файлу, спойлер. Наприклад, виділити особливо великі анімації.
Якщо той самий файл надіслали документом, правило анімації не замінює правило документа: важливий спосіб надсилання.
Аудіо
Ситуація: учасники музичного клубу діляться записами, а ви просите вказувати виконавця й назву.
Перевірте наявність цих полів і текст у них. Наприклад, попросіть назвати запис, якщо назви немає. Також доступні розмір, тривалість, тип, назва файлу й альбом — зручно для розрізнення довгих і коротких записів.
Бот читає інформацію, додану до аудіофайлу. Він не визначає виконавця, слухаючи музику.
Документ
Ситуація: учасники курсу здають завдання в PDF. Після файлу бот нагадує вказати номер заняття й запитання тому, хто перевіряє.
Виберіть .pdf або application/pdf як тип файлу. За потреби додайте розмір, назву чи альбом. Наприклад, окремо обробляйте назви з «портфоліо».
Правило розпізнає документ потрібного типу. Воно не читає завдання й не підтверджує, що викладач перевірив роботу.
Наліпка
Ситуація: спільнота має власний набір наліпок, і ви хочете нагадувати про дозволені набори в певних обговореннях.
Введіть назву набору або посилання. Можна вибрати конкретні набори чи виключити їх із правила.
Є й інші властивості:
- Розмір: наприклад, вибирати наліпки за межею розміру.
- Тип: звичайна наліпка, маска або наліпка власного емодзі.
- Анімація й відео: наприклад, відрізняти рухомі наліпки. Сам тип Звичайна не означає нерухоме зображення.
- Преміальна анімація: окрема властивість таких наліпок.
- Пов’язане емодзі: наявність і значення. Наприклад, розпізнати наліпку, пов’язану з 👍.
- ID власних емодзі: вибрати конкретне власне емодзі.
Голосове повідомлення
Ситуація: підтримка отримала семихвилинне голосове. Команда не може швидко зрозуміти, що сталося.
Задайте мінімум дві хвилини й відповідь: «Коротко опишіть запитання текстом, щоб ми швидше допомогли». Також можна перевірити розмір і тип файлу.
Combot перевіряє тривалість, не зміст мовлення. Пошук текстової фрази не розшифровує голосові.
Відеоповідомлення
Ситуація: відповіді здають круглими відеоповідомленнями. Для довших ви хочете запропонувати звичайне відео.
Виберіть Відеоповідомлення (Video note) і тривалість. Можна перевірити й розмір. Круглі та звичайні відео — окремі варіанти, тож виберіть потрібний.
Контакт
Ситуація: організатори діляться картками контактів. Відомий номер може запускати інформацію, з чим звертатися до цієї людини.
Є номер чи телефонний код країни, Telegram ID, ім’я, прізвище й ознака того, чи контакт є учасником чату.
Перевірка стосується людини в картці. Якщо Анна надсилає контакт Іллі, номер Іллі не стає номером Анни.
У картці може не бути Telegram ID. Тому «контакт не учасник» не завжди доводить, що бот ідентифікував людину й перевірив членство: сюди можуть потрапляти картки без відомого ID.
Геопозиція й місце
Ситуація: туристичний чат ділиться місцями зустрічі. Для точки у вибраній області бот може надіслати інформацію про місце збору.
Задайте область широтою, довготою й радіусом у метрах. Перевіряється надіслана точка, а не відстежується людина.
Можна вибрати трансляцію геопозиції, її тривалість у секундах, напрямок у градусах і радіус сповіщення про наближення. Наприклад, відрізняти живі маршрути від одноразових точок.
Для надісланого місця доступна адреса та, якщо передано, ID або тип Foursquare чи Google Place. Наприклад, розпізнати картку конкретного закладу.
Надсилання геопозиції не доводить, що людина зараз там. Бот не отримує постійного доступу до її місцеперебування.
Опитування
Ситуація: книжковий клуб голосує за наступну книжку, а курс публікує тести. Різні правила можуть обробляти їх окремо.
Доступні такі параметри:
- Тип та участь: звичайне опитування чи вікторина, анонімність, кілька відповідей, зміна голосу, участь лише членів і закритий стан. Наприклад, після нової вікторини надіслати правила обговорення відповідей.
- Числа й час: кількість варіантів і голосів, період голосування в секундах і час закриття. Наприклад, розпізнати опитування з багатьма варіантами.
- Текст: запитання, варіант відповіді, пояснення й опис. Наприклад, знайти «Наступна книжка» в запитанні.
- Форматування: оформлення запитання, пояснення й опису; вкладення пояснення та опису. Наприклад, відрізнити вікторини з додатковими матеріалами.
- Додаткові поля: обмеження за кодами країн, якщо передано, й ID правильних відповідей. Тут
0— перший варіант, не відсутність відповіді.
Якщо поле закриття просить Unix timestamp, введіть часову позначку в секундах, не «залишилося 30 хвилин». Це корисно, якщо ви вже працюєте з таким форматом.
Правило перевіряє інформацію опитування в отриманій події. Окремого тригера на кожен голос немає, а деякі поля можуть бути відсутні.
Кубик та інші ігрові емодзі
Ситуація: учасники кидають 🎲 у Вільному спілкуванні клубу. Певний результат може запускати жартівливу відповідь.
Виберіть ігрове емодзі й результат. Можливі значення 🎲 та 🎯 різні; перевірте вибрану гру. Наступний кидок може знову запустити ту саму відповідь.
Гра
Ситуація: хтось ділиться грою Telegram, а бот нагадує, у якій темі її обговорювати.
Можна перевірити назву й опис гри. Це не результат матчу: правило не дізнається, хто виграв або встановив рекорд.
Платні медіа
Ситуація: у тематичному чаті діляться платними дописами. Ви хочете відповідати нагадуванням про правила публікації.
Можна перевірити ціну в Telegram Stars, кількість елементів і тип: фото, відео, живе фото чи заблокований перегляд. Наприклад, окремо обробляти дописи з кількома елементами.
Також є наявність заблокованого перегляду, розмір, тривалість, тип і назва файлу, обкладинка відео, час початку відео в секундах і передана інформація про якість. Використовуйте властивості, які є у відповідного типу. Наприклад, платне фото може не мати MIME-типу.
Ці параметри не купують допис, не витрачають Stars, не відкривають платні файли й не перевіряють, чи оплатив їх конкретний учасник.
Реакції й командні списки завдань
Не все в чаті відбувається через нові повідомлення. Люди змінюють реакції, колеги позначають завдання в списку. Автоматизація може помічати й ці зміни.
Хтось додає, забирає або замінює реакцію
Нехай ви хочете сповіщати команду про відповідні зміни реакцій у робочому обговоренні. Спочатку виберіть Реакція користувача, потім потрібну зміну:
- Додано — з’явилася реакція, якої не було.
- Видалено — людина забрала реакцію.
- Щоб враховувати обидва види змін, залиште обидва пункти невибраними.
Наприклад, Ілля замінює 👍 на ❤️. Це і видалення 👍, і додавання ❤️.
Подія працює, коли Telegram передає користувача. Реакція від імені каналу чи анонімного адміністратора її не запускає. Для проби використовуйте особистий профіль.
Можна включати чи виключати певні реакції. Звичайне емодзі вводьте символом, власне — числовим ID; для платних реакцій є окрема опція.
Один нюанс найпростіше пояснити прикладом. Ілля вже має 👍 під повідомленням. Додає ❤️ — тепер реакцій дві. Фільтр 👍 усе ще бачить це емодзі: він перевіряє те, що залишилося після зміни, а не лише щойно додане.
Фільтр певної реакції потребує вибору Додано. Це не означає «хтось забрав саме цю 👍»: видаленого емодзі вже може не бути в новому наборі.
Якщо забрати реакцію й додати знову, правило може повторитися. Тому самої умови недостатньо для «одна винагорода за один лайк». Для особистої подяки модератора використовуйте команду з 11 готових сценаріїв.
Допис має потрібну кількість реакцій
Нехай редактори хочуть помічати дописи пов’язаного каналу, які зараз мають сумарно від 20 до 30 👍 та ❤️.
Виберіть Підрахунок реакцій, потрібні типи, мінімум 20 і максимум 30.
- 12 👍 і 10 ❤️ підходять: разом 22.
- 10 👍 і 8 ❤️ не підходять: разом 18.
- Ще 50 реакцій іншого типу не впливають на цю суму, якщо цей тип не вибрано.
Можна включити потрібні типи або виключити непотрібні. Без фільтра береться загальна кількість. Порожня межа або 0 — «немає обмеження з цього боку». Два нулі не означають «рівно нуль реакцій».
Це не одноразове сповіщення про поріг. Бот отримує 20 — правило підходить. Згодом отримує 21 — може підійти знову. Навіть якщо популярний допис треба помітити лише раз, діапазон не пам’ятає, чи вже було сповіщення.
Практичний варіант — коротке сповіщення до журналу з видаленням попередньої відповіді цієї дії. Сповіщення замінюються, але повторні запуски не припиняються.
Ця подія не має списку людей, які реагували. Не можна вибрати «двадцятого, хто поставив реакцію» й додати йому XP із загальної кількості.
Змінюється певний список завдань
Робоча група має план вебінару: перевірити звук, зібрати презентацію й написати учасникам. Команда хоче коротке сповіщення, коли хтось виконає завдання.
- Виберіть Завдання контрольного списку виконано. Якщо потрібні нові пункти — Додано завдання контрольного списку.
- Скопіюйте пряме посилання Telegram на повідомлення зі списком і введіть його в умову списку.
- Додайте надсилання: «У плані вебінару позначили виконані завдання. Перегляньте, що залишилося».
- За бажанням додайте кнопку до того самого списку.
Зміни в сусідньому списку тепер не мають давати сповіщень. Бот порівнює посилання із самим списком, не з окремим службовим повідомленням «Завдання виконано».
Прямі посилання можуть вести до відкритих чи приватних чатів, зокрема до тем. Для відкритого посилання Combot має знати відповідне ім’я користувача чату з отриманих даних.
Посилання з ?comment=… не працює. Відкрийте список у самому чаті обговорення й скопіюйте пряме посилання на його повідомлення.
Приберіть умову посилання, щоб охопити всі відповідні списки у вибраному чаті чи темі. Наприклад, збирати записи про всі нові завдання робочої групи.
Для події виконання не пишіть «До вебінару все готове». Хтось міг лише перевірити звук, а решта завдань ще чекає.