АвтоматизаціяНалаштуйте умови точніше

Виберіть потрібні повідомлення й людей

Обмежте відповіді потрібними темами й часом. Виберіть учасників, винятки, запрошення та фрази для пошуку.

У цій статті

Час, теми чату й запрошення

На те саме запитання іноді потрібні різні відповіді. Удень підтримка допоможе одразу, вночі — скаже, коли команда повернеться. Гостю вебінару може знадобитися не та інформація, що студенту курсу. Умови часу, місця й запрошення дозволяють це розрізняти.

Коли відповідати

У будь-який час підходить для інформації, яка потрібна завжди. Наприклад, посилання на правила корисне і вдень, і вночі.

Розклад дозволяє вибрати дні тижня й часові проміжки. Нехай викладачі працюють із понеділка до п’ятниці з 10:00 до 18:00 за московським часом. Виберіть будні й відповідний проміжок. Можна додати кілька проміжків, наприклад до й після перерви, або швидко вибрати всі дні, будні чи вихідні.

У поля розкладу вводьте час за UTC; редактор показує місцевий час унизу як підказку. Щоб відповідати з 10:00 і перейти на нічне повідомлення рівно о 18:00 за московським часом, задайте 07:00–14:59 UTC. Останню вказану хвилину включено до проміжку.

Дні тижня теж вибираються за UTC: ваш пізній вечір може припасти на інший день UTC. Якщо ваш часовий пояс переходить на літній час, перегляньте розклад після переведення годинника.

Виконувати поза цим часом зручно для відповіді «Повернемося вранці». Задайте робочі години й увімкніть опцію. Відповідні запитання поза ними отримають повідомлення для неробочого часу.

Діапазон дат зручний для тимчасового завдання. Наприклад, відповідати про осінній курс лише під час реєстрації. Задайте початок і кінець періоду.

Якщо чат уже має години закриття

Виберіть Години закриття, щоб взяти період із налаштувань самого чату. Якщо адміністратор змінить його, дублювати зміну в Автоматизації не доведеться.

Наприклад, у налаштуваннях 22:00–06:00 UTC. Умова починає підходити о 22:00, діє вночі й перестає о 06:00. Виконувати поза цим часом перевіряє протилежний період.

Якщо годин закриття немає, вони некоректні або початок і кінець однакові, умова не підходить — навіть із увімкненою опцією роботи поза часом. 00:00–00:00 не означає «цілу добу».

Головне про час: бот чекає події. Він може відповісти на запитання о десятій ранку, але не опублікує інформацію лише тому, що настала 10:00. Для публікацій за часом є Планувальник оголошень Combot. Умова годин закриття також не дозволяє учасникам писати, поки чат закрито для повідомлень.

У якій темі шукати

У чаті курсу можуть бути Навчання, Підтримка й Вільне спілкування. У полі Де виберіть:

  • Вихідний чат, якщо правило має охоплювати всі теми. Наприклад, загальна інформація за певною командою.
  • Вибрана тема для окремого простору: наприклад, про оплату лише в Підтримці. Можна вибрати кілька тем зі списку або ввести числові ID.
  • Загальна тема для загального простору чату, а не окремої теми.

Це місце, де бот шукає відповідну подію. Куди надсилати відповідь — окреме налаштування. Людина може питати в Підтримці, а сповіщення піде до каналу журналу команди.

Яким запрошенням скористалася людина

Нехай школа має два посилання: для гостей відкритого заняття й для студентів курсу. Можна показувати різні привітання залежно від використаного посилання.

Редактор пропонує такі варіанти:

  • Будь-яке джерело. Вітати всіх однаково незалежно від запрошення.
  • Посилання на запрошення Combot. Посилання є в каталозі запрошень цього чату. Виберіть конкретне посилання відкритого заняття, введіть його код або повну URL-адресу. Вибрані посилання можна й виключати.
  • Зовнішнє посилання для запрошення. Telegram передав посилання, якого немає в каталозі Combot цього чату. Наприклад, можна сповіщати модераторів про такі вступи. Саме по собі це не робить людину порушником.
  • Посилання, створені адміністратором / Посилання, створені користувачами. Швидко вибрати вже завантажені посилання відповідної групи авторів, наприклад запрошення команди організаторів.
  • Немає посилання для запрошення. Підходить, коли дані вступу підтверджують, що посилання не використовували. Наприклад, дати окрему інформацію для цього способу.
  • Посилання для запрошення на папку чату. Для вступу зі спільної папки Telegram, якщо Telegram це повідомляє. Наприклад, коротко пояснити призначення цього чату серед інших.

Два важливі розрізнення. Невибране вами посилання не обов’язково зовнішнє: Combot може його знати. А відсутність інформації про запрошення не доводить вступ без посилання. Бот не має вгадувати джерело за недоступних даних.

Список завантажує до 100 посилань за раз. Перед кнопкою Посилання адміністраторів завантажте потрібні сторінки: вона вибирає лише вже показані посилання. Майбутні запрошення до вибору автоматично не додаються. Водночас Combot відрізняє відомі й зовнішні за всім каталогом, не лише видимою сторінкою. Ручне введення URL не додає його до каталогу.

Для автоматичного допуску на подію почніть із конкретного посилання. «Усі відомі посилання» охоплює значно більше запрошень. Пам’ятайте, що посилання можна переслати: воно не доводить особу чи оплату.

Виберіть, кого стосується правило

У чаті є новачки, постійні учасники й модератори. Їм не завжди потрібна однакова відповідь. Новачку варто підказати шлях до матеріалів, а команду попередження відкрити лише команді модерації.

Спочатку визначте, кого маєте на увазі

Якщо Анна додає Іллю, привітання потрібне Іллі, а не Анні. Якщо Анна відповідає командою на повідомлення Іллі, треба вирішити, кого стосуватиметься дія.

Тому назви полів змінюються залежно від події:

  • Хто — автор звичайного повідомлення.
  • Заявник — людина, яка просить вступити.
  • Новий учасник і Хто додав — Ілля й Анна, яка його запросила.
  • Учасник і Хто ініціював — людина, яка вийшла, і той, хто її видалив, якщо це було видалення.
  • Ініціатор і Застосовується до — автор команди й людина, вибрана через відповідь.
  • Автор повідомлення, на яке відповіли — автор повідомлення, вибраного через Відповісти.

Перед вибором ролі чи активності перевірте, для якої людини задаєте умову.

Усі повідомлення чи лише відповіді

У навчальному чаті нове запитання можна обробляти інакше, ніж відповідь на чуже:

  • Усі повідомлення — неважливо, чи це відповідь. Наприклад, шукати «де запис» у всьому спілкуванні.
  • Лише відповіді / Будь-яка відповідь — підходять повідомлення через Відповісти. Наприклад, підказувати формат відгуку лише у відповідях на роботи студентів.
  • Не спрацьовувати на відповіді / Немає відповіді — підходять окремі повідомлення. Наприклад, нагадувати формат нової вакансії в темі Вакансії.

Автор повідомлення, на яке відповіли звужує правило: відповідь учаснику, адміністратору, боту, Combot, собі або допису пов’язаного каналу. Варіанти залежать від події. Наприклад, можна окремо обробляти відповіді на повідомлення викладача.

Перше повідомлення користувача використовує «Кількість повідомлень у групі дорівнює 1». Це допомагає показати інформацію новому учаснику. Але статистика й вхідні повідомлення обробляються не ідеально синхронно, тому умова не обіцяє єдину винагороду за найперше повідомлення.

Готові групи користувачів

Редактор називає їх Автогрупи. Вони дозволяють вибрати людей без ручного переліку кожного.

Нові учасники. Наприклад, надіслати підказку про формат запитань людям, яких Combot ще вважає новачками. Це визначають налаштування чату: час від вступу, кількість повідомлень і чинні винятки. Це не вік облікового запису Telegram.

Постійні учасники. Люди, про яких відомо, що вони зараз у чаті. Наприклад, обмежити команду допомоги учасниками групи. «Звичайний» не означає «давно тут»: новачок теж може бути в цій групі.

Колишні учасники. Люди, які відомо вийшли й зараз не в чаті. Наприклад, відрізнити запит того, хто повертається, від запиту без такої відомої історії.

Користувачі зі списку дозволених. Дозволений список у налаштуваннях модерації, де людей задають ID або ім’ям користувача. Наприклад, виключити довірених помічників із певного нагадування про посилання. Додайте виняток явно: сам білий список не скасовує всі створені правила.

Адміністратори Telegram. Наприклад, дозволити їм /team_warn.

Адміністратори Combot. Люди з окремо наданим доступом до панелі Combot. Наприклад, дозволити готову команду помічникам спільноти, які працюють через панель. Це не робить їх адміністраторами Telegram.

Власник. Людина, яку Telegram визначає власником чату. Наприклад, залишити особливу команду лише їй.

Якщо вибрати адміністраторів Telegram і власних адміністраторів Combot, Будь-який допускає людину з однієї групи. Усі вимагає належати до обох. Це групування працює і для автора події, і для іншої вибраної людини.

Якщо є окремий Для адміністраторів, перевірте й його: він включає всіх, лише адміністраторів Telegram або всіх, крім них. Вибрати тут «лише адміністратори» й водночас виключити їх в іншому місці — суперечність.

Час у чаті, повідомлення, досвід і репутація

Ці умови точніше описують аудиторію. Наприклад: «Приєднався не більш як дві години тому й надіслав не більш як десять повідомлень».

  • XP: накопичений досвід. Наприклад, окрема інформація тим, хто має хоча б 500 XP.
  • Репутація: її поточне значення. Наприклад, відкрити власну інформаційну команду учасникам із репутацією від 10.
  • Повідомлення в групі: кількість повідомлень, відома Combot у цьому чаті. Наприклад, підказки людям із не більш як 10 повідомленнями.
  • Попередження: кількість активних попереджень. Наприклад, різні нагадування тим, хто не має жодного, і тим, хто вже має одне.
  • Час після приєднання: тривалість після відомого приєднання. Наприклад, допомога тим, хто вступив за останні дві години.
  • Ранг: рівень за шкалою вашого чату. Наприклад, вибрати тих, хто досяг рангу, не обчислюючи його поріг XP вручну.

Для чисел є Дорівнює, Принаймні й Щонайбільше. Різниця важлива: «рівно одне повідомлення» не підходить людині зі ста повідомленнями, а «щонайменше одне» — підходить.

Для часу є секунди, хвилини, години, дні, тижні й місяці. Місяць тут — 30 днів, тиждень — 7 днів, день — 24 години. Якщо Ілля вступив о 23:50, о 00:10 він у чаті двадцять хвилин, не день.

Поєднуйте час і активність через Усі чи Будь-яка та додавайте винятки. Наприклад, для порад новачкам вимагайте і короткий час, і малу кількість повідомлень. Виключена людина не повертається до того самого набору лише через іншу відповідну умову.

Відсутність інформації — не нуль. Невідомий час вступу не робить людину новачком, а невідома кількість повідомлень — мовчазною. Заперечення умови також не заповнює прогалини в даних.

Старі правила. Правило може рахувати лише повні дні: і 25, і 47 годин стають одним днем. Для точного порівняння явно виберіть одиницю; просте відкриття й збереження цього не змінює. Перевірте й оператор: «дорівнює одному дню» та «щонайменше один день» вибирають різних людей.

Час від вступу — не час від першого повідомлення. Ілля міг вступити в понеділок, а вперше написати в п’ятницю. Час від першого повідомлення чи іншої першої активності тут недоступний. Перед увімкненням старого вимкненого правила приберіть або замініть таку умову.

Інформація з профілю учасника

Ці перевірки стосуються доступних даних облікового запису, а не внеску людини в чат:

  • Ім'я користувача: наявність і значення. Наприклад, виключити відомий обліковий запис команди з певного нагадування. Вводьте без @.
  • Ім'я / Прізвище: наприклад, попросити студента без прізвища представитися за правилами курсу. Видиме ім’я не доводить особу.
  • ID користувача: числовий ідентифікатор. Наприклад, дозволити команду двом конкретним викладачам, навіть якщо вони змінять імена користувачів.
  • Є Telegram Premium: наприклад, окрема інформаційна команда для користувачів Premium. Умова залежить від того, чи передав Telegram цю ознаку.
  • Є обліковим записом бота: наприклад, відрізняти відповіді ботам від відповідей людям в умовах користувача з відповіді. Для запитів на вступ цього варіанта немає.
  • Мова: наприклад, вибрати англійську відповідь, якщо Telegram передав en. Це не перевірка мови повідомлення, громадянства чи країни; код може бути відсутній.
  • Про себе: текст із запиту на вступ. Наприклад, виділити запити, в описі яких є назва курсу. Це не дозволяє читати опис профілю кожного автора звичайних повідомлень.

Текстові умови можуть шукати точний чи частковий збіг або за шаблоном. «Є ім’я користувача» та «ім’я користувача містить support» — різні перевірки. Поєднуючи кілька варіантів, не залиште один випадково порожнім: умова може стати ширшою, ніж ви хотіли.

Знайдіть потрібні повідомлення

Чату вакансій треба розпізнавати оголошення, підтримці — запитання про оплату, групі курсу — завдання. Combot знаходить їх за вказаними ознаками: словами, посиланнями, довжиною й типом повідомлення.

Почніть із того, що людина надіслала

Що вибирає тип повідомлення, а Параметри додають вимоги до нього.

Можна вибрати текст, підпис до медіа, фото, відео, анімацію, аудіо, документ, наліпку, голосове, відеоповідомлення, контакт, геопозицію, опитування, кубик, гру або платні медіа. Частина варіантів — у розділі Ще.

«Домашнє завдання» окремим повідомленням — текст. Ті самі слова під фото зошита — підпис. Пошук лише звичайного тексту другого випадку не охопить.

Деякі властивості поєднуються: фото і підпис — звична річ. Але не вимагайте, щоб один файл був і документом, і голосовим. Для таких різних варіантів вибирайте Будь-який, а не Усі.

Задайте вимоги кожному варіанту: звичайний текст із фразою або фото з нею в підписі. Після зміни типу перегляньте Параметри: для документа й опитування вони різні.

Фрази: що людина написала

Візьмімо підтримку. Розпізнати звернення можна кількома способами:

  • Точний текст: увесь текст — «правила». Зручно для узгодженого короткого запиту; «Де правила?» — інше.
  • Містить фразу: «як оплатити» знайдеться в «Підкажіть, як оплатити підписку».
  • Текст починається з: «Звіт» допомагає знайти повідомлення за шаблоном «Звіт за цей тиждень…».
  • Текст закінчується на: #done знаходить повідомлення, які домовилися завершувати цією позначкою.

Бот шукає заданий текст, а не розуміє всі формулювання запитання. Якщо пишуть «куди надіслати гроші» замість «як оплатити», додайте цю фразу окремо або створіть OR-варіант.

Слова: ціле слово або частина

У чаті про тварин Ціле слово «кіт» не має збігатися з «кітель». Пошук Містить у слові корисний, коли важлива сама послідовність літер.

Можна шукати Слово починається з або Слово закінчується на слова. Наприклад, початок «ваканс» охопить «вакансія» й «вакансії», а закінчення ing допоможе в англійській вправі. Спробуйте кілька звичайних повідомлень: надто короткий фрагмент дає зайві збіги.

Фразу з пробілами вводьте як фразу. Поля списків перетворюють значення на окремі елементи, тож не розбийте «домашнє завдання» випадково на два незалежні слова.

Великі літери, довжина й системи письма

З урахуванням регістру розрізняє «Правила» й «правила». Для повсякденних запитань зазвичай краще не залежати від великих літер. Для фіксованої мітки розрізнення може стати в пригоді.

Довжина повідомлення / Довжина підпису вимірюється символами. Наприклад, попросіть авторів вакансій довших за 2500 символів винести деталі за посилання. Задайте мінімум, максимум або обидва; порожня межа означає відсутність обмеження з цього боку.

Набори символів розпізнають кирилицю, письмо справа наліво як арабське чи іврит, а також китайські, японські й корейські символи. У редакторі можуть бути скорочення RTL та CJK. Наприклад, мовний клуб може підказувати формат вправи, коли з’являється кирилиця.

Це не визначає мову всього повідомлення. Російська фраза всередині англійського тексту теж містить кирилицю. Не вважайте ознаку доказом того, якою мовою говорить людина.

Складніший пошук: регулярні вирази

Регулярний вираз — шаблон, що описує кілька можливостей одразу. Наприклад, webinar|livestream шукає будь-яке з двох слів. Для двох простих фраз підійдуть і звичайні умови: знати регулярні вирази для Автоматизації необов’язково.

Якщо вони потрібні, використовується Python regex, не JavaScript. Вводьте сам шаблон без слешів навколо й прапорців. Посилання на перевірку шаблону допоможе під час налаштування, але потім усе одно спробуйте кілька повідомлень у тестовому чаті.

Посилання, згадки й інші елементи

Іноді важливе не слово, а елемент повідомлення.

Команда. Наприклад, знайти /course_info усередині повідомлення. Це перевірка вмісту; власну команду з відповіддю створюйте через Тип, як пояснює Власні команди.

URL — видиме посилання. Наприклад, знайти домашні роботи з посиланням на певний навчальний сайт. Задайте конкретну адресу або домен — назву сайту.

Текстове посилання. У повідомленні «Моє портфоліо», а адреса прихована за словами. Це окремий тип. Щоб розпізнавати посилання незалежно від оформлення, включайте і видимі URL, і текстові посилання.

Згадка. Наприклад, помічати звернення до облікового запису підтримки. Задайте ім’я користувача або, для підтримуваного типу згадки, числовий ID.

Хештег / Кештег. Повідомлення з #vacancy може отримати правила публікації. $TON допоможе знайти згадки символу в тематичній дискусії. Це властивість тексту, а не перевірка фінансової інформації.

Електронна пошта. Наприклад, нагадати авторам вакансій, що заявки слід надсилати на адресу з оголошення. Шукайте конкретну адресу або поштовий домен.

Телефон. Якщо в оголошенні є номер, нагадайте автору, що контакти відкриті. Задайте номер або префікс, як-от +7. Бот перевіряє написане, не прихований телефон облікового запису.

Емодзі. Наприклад, відповісти на узгоджену ✅ у звіті. Звичайне емодзі вводьте символом, власне — за ID; редактор пояснює, як його отримати. Емодзі в тексті й реакція під повідомленням — різні речі.

Форматування тексту. Наприклад, нагадати кіноклубу правила спойлерів або знайти студентські роботи з блоками коду. Є жирний, курсив, підкреслення, закреслення, вбудований код, блоки коду, спойлери, звичайні й розгортані цитати.

Для підтримуваних елементів вибирайте будь-яке значення, лише перелічені або винятки. «У повідомленні є посилання» й «повідомлення посилається на сайт нашої школи» — різні умови.

Фільтрування не є перевіркою безпеки. Дозволений домен чи розширення .pdf не гарантують безпечного посилання або файлу. Фільтри допомагають організувати чат, а не досліджують вміст замість вас.