Перейти до основного вмісту

Google Календар (щоденний дайджест)

Опис

Посібник користувача

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

Що це робить​

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

Що потрібно підготувати на боці Google​

Вам не потрібно нічого створювати в Google: ні проєкт Google Cloud, ні ключ API, ні ідентифікатор OAuth. TennoCore надає все це. Залежно від типу календаря вам потрібно лише:

Публічний календар​

  1. ID календаря. На комп'ютері відкрийте calendar.google.com → наведіть курсор на календар у розділі «Мої календарі» → меню ⋮ → Налаштування та доступ → секція Інтеграція календаря → скопіюйте Ідентифікатор календаря.
  2. Календар має бути опублікований: та сама сторінка → Дозволи на доступ → Зробити доступним для всіх. Без цього бот не зможе його прочитати.

Замість ID також приймається посилання Google, що містить cid=.

Приватний календар​

  1. Учасник (зазвичай ви) має підключити свій акаунт Google: кнопка Підключити мій акаунт Google в дашборді або /agenda connect у Discord. Google покаже код, який потрібно ввести на спеціальній сторінці. Запитуваний дозвіл — лише читання календарів.
  2. Після підключення акаунта виберіть його як власника та виберіть календар зі запропонованого списку. У цьому разі календар не обов'язково має бути публічним.
примітка

Приватний календар читається за токеном того акаунта, який надав дозвіл. Якщо цей учасник відключить свій акаунт, прив'язані приватні календарі перестануть читатися.

Швидкий старт (Адмін)​

  1. Задайте часовий пояс: /agenda timezone tz:Europe/Kiev.
  2. Додайте календар: /agenda calendrier ajouter_public calendar_id:<ID> (або зробіть це через дашборд).
  3. Виберіть канал і час: /agenda digest config_responses channel:#agenda hour:9.
  4. Перевірте результат: /agenda digest tester.
  5. Увімкніть щоденну публікацію: /agenda digest enable_module.

Команди​

Акаунт Google (для всіх)​

КомандаОпис
/agenda connectПідключити свій акаунт Google (код вводиться на сторінці Google).
/agenda meПереглянути стан вашого підключення до Google.
/agenda disconnectВідключитися та видалити ваші токени Google.
/agenda my_eventsВаші 5 наступних подій, у приватній відповіді.
/agenda publishОпублікувати інтерактивну панель подій.
/agenda digest testerНегайно опублікувати тестовий дайджест.

Параметри /agenda publish: channel (інакше поточний канал), days (діапазон від 1 до 60 днів, за замовчуванням 30), refresh_every (автоматичне оновлення від 30 до 3600 секунд, за замовчуванням 300).

Відслідковувані календарі​

КомандаОпис
/agenda calendrier listerПоказати календарі, які відслідковує цей сервер.
/agenda calendrier ajouter_publicДодати публічний календар (ID або посилання з cid=) з необов'язковою назвою. (Адміністратор)
/agenda calendrier ajouter_priveДодати приватний календар через акаунт Google підключеного учасника. (Адміністратор)
/agenda calendrier retirerПрибрати відслідковуваний календар (ID підставляється автоматично). (Адміністратор)

Щоденний дайджест​

КомандаОпис
/agenda digest config_responsesВибрати канал і локальний час публікації (0–23). (Адміністратор)
/agenda digest enable_moduleУвімкнути щоденну публікацію. (Адміністратор)
/agenda digest desactiverВимкнути щоденну публікацію. (Адміністратор)
/agenda timezoneЗадати часовий пояс сервера у форматі IANA. (Адміністратор)

Налаштування з дашборду​

Дашборд → категорія Інструменти та Персонал → Планування Google Calendar.

  • Конфігурація дайджесту: канал публікації, час надсилання (0–23), часовий пояс (Europe/Paris, UTC, America/New_York) та перемикач активації.
  • Приватні календарі: список підключених акаунтів Google (з їхніми e-mail адресами), кнопка для підключення ще одного, кнопка для відключення.
  • Календарі: список відслідковуваних календарів з іконкою, що вказує на публічний або приватний тип, ID та акаунт-власник. Додавання через вікно, де ви спершу вибираєте тип:
    • Публічний: ви вставляєте ID (підказка, що розгортається, пояснює, де його знайти).
    • Приватний: ви вибираєте підключений акаунт, а потім календар зі списку цього акаунта.
    • В обох випадках ви можете задати відображувану назву.
  • Огляд подій (30 днів): 10 наступних подій, згруповані за днями, з посиланням на Google Calendar.
  • Тестувати дайджест: негайно публікує дайджест у налаштованому каналі.

Кількість відслідковуваних календарів обмежена до 3 для непреміум-сервера (значення за замовчуванням, яке команда TennoCore може змінити).

Корисно знати​

  • Дайджест перевіряється кожні 5 хвилин і публікується лише раз на день, протягом вибраної вами години. Якщо бот недоступний усю цю годину, дайджест дня просто пропускається — він не буде опублікований пізніше.
  • Дайджест завжди охоплює 30 днів і показує 25 подій на сторінку.
  • Без налаштованого календаря /agenda publish відмовиться публікувати та запропонує додати календар.
  • Панель подій тимчасова: її кнопки перестають відповідати через чверть години без взаємодії, і автоматичне оновлення припиняється разом із нею. Для постійного відображення використовуйте щоденний дайджест, а не панель.
  • Кнопки Оновити зараз, Нагадати за день і Більше не нагадувати доступні лише тому учаснику, який запустив команду: інші отримають відмову. Тому кожен має опублікувати власну панель, щоб підписатися, або скористатися панеллю дайджесту.
  • Нагадування за день приходять в особисті повідомлення: учасник, який закрив свої ЛП, їх не отримає. Вони перевіряються щохвилини.
  • Часовий пояс керує часом публікації та відображенням дат. Дашборд пропонує лише три часові пояси; /agenda timezone приймає будь-яку назву IANA (Europe/Kiev, America/Sao_Paulo, …).
  • Боту потрібні дозволи Надсилати повідомлення та Вставляти посилання в каналі дайджесту.
  • /agenda disconnect видаляє ваші токени Google на боці TennoCore. Публічні календарі сервера продовжують працювати, а приватні, що залежали від вашого акаунта, — ні.