Google Календар (щоденний дайджест)
Посібник користувача
Підключіть один або кілька календарів Google до свого сервера: бот щодня публікує зведення майбутніх подій і може показувати інтерактивну панель, де кожен підписується на нагадування за день до події в особисті повідомлення.
Що це робить
- Публікує щоденний дайджест подій на наступні 30 днів у вибраному каналі та в зазначений час.
- Показує інтерактивну панель подій: пагінація, автоматичне оновлення та відлік до наступного оновлення.
- Надсилає нагадування за день в особисті повідомлення тим учасникам, які підписалися на подію з панелі.
- Відслідковує кілька календарів одночасно: публічні (читаються без авторизації) або приватні (читаються через підключений акаунт Google).
- Враховує часовий пояс, який ви задали для сервера.
Що потрібно підготувати на боці Google
Вам не потрібно нічого створювати в Google: ні проєкт Google Cloud, ні ключ API, ні ідентифікатор OAuth. TennoCore надає все це. Залежно від типу календаря вам потрібно лише:
Публічний календар
- ID календаря. На комп'ютері відкрийте calendar.google.com → наведіть курсор на календар у розділі «Мої календарі» → меню ⋮ → Налаштування та доступ → секція Інтеграція календаря → скопіюйте Ідентифікатор календаря.
- Календар має бути опублікований: та сама сторінка → Дозволи на доступ → Зробити доступним для всіх. Без цього бот не зможе його прочитати.
Замість ID також приймається посилання Google, що містить cid=.
Приватний календар
- Учасник (зазвичай ви) має підключити свій акаунт Google: кнопка Підключити мій акаунт Google в дашборді або
/agenda connectу Discord. Google покаже код, який потрібно ввести на спеціальній сторінці. Запитуваний дозвіл — лише читання календарів. - Після підключення акаунта виберіть його як власника та виберіть календар зі запропонованого списку. У цьому разі календар не обов'язково має бути публічним.
Приватний календар читається за токеном того акаунта, який надав дозвіл. Якщо цей учасник відключить свій акаунт, прив'язані приватні календарі перестануть читатися.
Швидкий старт (Адмін)
- Задайте часовий пояс:
/agenda timezone tz:Europe/Kiev. - Додайте календар:
/agenda calendrier ajouter_public calendar_id:<ID>(або зробіть це через дашборд). - Виберіть канал і час:
/agenda digest config_responses channel:#agenda hour:9. - Перевірте результат:
/agenda digest tester. - Увімкніть щоденну публікацію:
/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. Публічні календарі сервера продовжують працювати, а приватні, що залежали від вашого акаунта, — ні.