Инфо-канал

Команда -инфо привязывает посты инфо-канала к чату, чтобы бот сам держал в них роли, ресты, дни рождения и счётчик участников.

Инфо-канал это отдельный канал со списками чата: кто какую роль занимает, кто ушёл в рест, у кого когда день рождения, сколько человек в чате. Обычно такие посты правит руками тот, кому не повезло, и правит примерно до тех пор, пока не надоест, после чего списки тихо устаревают. Бот умеет вместо этого: вы один раз показываете ему пост, он определяет, что за список внутри, и дальше редактирует пост сам, как только что-то поменялось в чате.

-инфо

Привязка постов инфо-канала и автообновление списков

Синонимы:/info
Владелец чата
Список привязанных постов
1-инфо
Привязать пост или открыть его панель
1-инфо<ссылка или ид поста>
<параметр> — обязательный
Синтаксис команды
1-инфо обновить[цель]
[параметр] — необязательный
Убрать привязку или шаблон
1-инфо удалить<имя или ид>
<параметр> — обязательный
Короткая памятка
1-инфо помощь

Команда работает только в группах. Полезнее всего она в ролевых чатах, флуд-чатах и небольших сообществах, где роли и дни рождения разложены по спискам.

С чего начать

Канал нужно подключить к чату: -настройки, дальше «Подключения» и «Подключить Инфо-канал». В списке появятся только каналы, где вы администратор и куда добавлен бот. Пока канала нет, -инфо вместо панели пришлёт кнопку, которая ведёт прямо в этот раздел.

В самом канале боту нужны права администратора с возможностью редактировать записи. Новые посты он не публикует, только правит те, что вы ему показали, поэтому без прав обновление закончится строкой про ошибки.

Как привязать пост

Перешлите пост из канала в чат и ответьте на пересланное сообщение командой -инфо. Без пересылки работает ссылка: -инфо https://t.me/c/1234567890/42. Можно и ответить командой на сообщение, где лежит такая ссылка или просто номер поста.

[скриншот: панель привязанного поста]

Бот смотрит на текст и сам решает, что это за список. Если понял, тип проставится сразу, а роли и дни рождения он тут же разложит по посту. Если не понял, поставит тип «Общий» и предложит выбрать кнопками.

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

Что бот обновляет

Тип постаЧто бот в нём держит
РолиОтмечает занятые роли и убирает отметку, когда роль освободилась
РестыСписок тех, кто сейчас в ресте, вместе с датами
Дни рожденияДаты участников, разложенные по месяцам
СтатистикаСчётчик участников
НаборТо же, что статистика, для постов с объявлением о наборе
ОбщийНичего, пока не выбран тип

Роли бот узнаёт по тегам участников. Выдали тег, и роль в посте помечается занятой; участник ушёл из чата или тег сняли, и отметка исчезает без всякой торжественности. Сами отметки бот берёт из условных обозначений в посте: есть строка «Занято» с вашим символом, значит он будет ставить именно его, то же с администрацией, бронью и поиском. Если обозначений в посте нет, бот поставит свои. Бронь и поиск он никогда не затирает автоматически, такие роли остаются как есть.

Даты рождения берутся у самих участников: каждый указывает свою командой -др, и она встаёт в пост рядом с его ролью или именем. Дата, скрытая от чата, в пост не попадёт. Про поздравления написано в днях рождения.

Счётчик участников обновляется, когда в чат кто-то приходит, и при ручном обновлении этого поста. В счёт идут все, кто есть в чате, включая ботов: они тоже часть коллектива, хоть и молчаливая.

Если поправить привязанный пост прямо в канале, бот подхватит новый текст, а списки рестов и дней рождения разложит по нему заново.

Панель поста

В панели видно номер поста, первую строку его текста, тип, применённый шаблон оформления и дату привязки. Кнопки под ней: «Синхронизировать» обновляет этот пост, «Шаблон» открывает оформление, «Пост» ведёт прямо в канал, «Удалить» убирает привязку. Ниже «К списку» и «Закрыть».

Список постов и шаблонов

-инфо без уточнений показывает всё, что бот ведёт в этом чате: сколько постов привязано, сколько сохранено шаблонов, названия шаблонов с типом и датой. Каждый пост становится кнопкой с типом и номером, нажатие открывает его панель.

[скриншот: список привязанных постов и шаблонов]

Кнопка «Синхронизировать» здесь проходит по ролям во всех постах, а «Как привязать» показывает ту же памятку, что и -инфо помощь.

Обновить вручную

Пройти по всем спискам
1-инфо обновить
Только один список
1-инфо обновить роли

Полное обновление проходит по ролям, рестам и дням рождения. Начинается оно с того, что бот заново записывает в канал сохранённые тексты, даже если ничего не менялось, поэтому в отчёте появляется строка про перезалитые посты.

Вместо цели можно назвать один список: роли, ресты, др, статистика или набор. Ещё цель можно указать ссылкой или номером поста, а можно отправить команду ответом на пересланный пост, тогда бот обновит только его.

[скриншот: отчёт после обновления]

В отчёте бот пишет, сколько ролей освободил, сколько постов обновил, сколько перезалил и были ли ошибки. Слова обновить, синх, update и sync работают одинаково.

Оформление шаблоном

Шаблон это образец, по которому бот собирает пост: где заголовки, где список, как выглядит строка с участником и датой. Пока шаблона нет, бот повторяет оформление самого поста, а с шаблоном приводит к нему все посты этого типа. Как их создавать и хранить, описано в шаблонах инфо-постов.

Кнопка «Шаблон» в панели показывает текущий шаблон и те, что уже сохранены в чате, галочка стоит у активного. «Создать из поста» разбирает текст и показывает, что бот в нём нашёл, вместе с макетом будущего поста. Там же можно поменять тип разбора, посмотреть тест с данными и сохранить или отменить.

[скриншот: разбор поста перед сохранением шаблона]

Выбранный шаблон применяется сразу: бот переоформит посты этого типа и напишет, сколько их получилось. Шаблон другого типа к посту с уже заданным типом не применится, бот об этом скажет.

Убрать привязку

Проще всего кнопкой «Удалить» в панели, бот спросит подтверждение. Сам пост в канале останется на месте, бот просто перестанет его обновлять, и дальше пост будет медленно стареть, как все посты, которые правят руками.

Командой то же самое делается по номеру поста, а по названию удаляется шаблон:

Привязку поста
1-инфо удалить 42
Шаблон
1-инфо удалить<имя шаблона>
<параметр> — обязательный

Кастомные эмодзи бот в канал перенести не может: телеграм пока не разрешает ботам писать их в каналах, поэтому при обновлении на их месте окажутся обычные. Панель предупредит, если найдёт такие эмодзи в посте. Ускорить дело можно голосом в трекере телеграма.

Кому доступна команда

По умолчанию только владельцу чата: инфо-канал меняет то, что видят все, а испорченный список ролей потом чинить дольше, чем он портился, поэтому право лежит выше администраторских. Выдать его отдельному участнику можно через права, но для кнопок с шаблонами понадобится ещё право на шаблоны инфо-сообщений.