Как связать нейросеть с Google календарем
В чате Нейроцеха часто спрашивали, как подключить нейросеть к телеграм-боту и сделать так, чтобы она анализировала текстовые/голосовые сообщения, а затем добавляла встречи в календарь по предоставленной информации.
Вариантов два:
- воспользоваться готовым ботом, в которого нужно отправлять информацию, а он будет переносить ее в календарь
- сделать бота через сервис-конструктор Coze.
Как связать готового бота с календарем
Для этого понадобится один из сервисов на выбор: Dola или Chrony. По функционалу боты не отличаются: ставят напоминания по текстовому сообщению, голосовому сообщению и считывают информацию со скриншота.
Dola — полностью бесплатный, в Chrony дают 14 дней бесплатной версии, дальше нужно платить от 399 рублей за 3 месяца.
Покажем принцип работы на примере Dola.
Запускаем бота. Указываем часовой пояс и регион.

Затем пишем слово «настройки» и переходим по ссылке, которую даст бот. Запустится мини-приложение, в котором нужно открыть вкладку «Календари».

И кликнуть на «Календарь Google».

Авторизовываемся в Google-аккаунте. После авторизации откроется страница с настройками в браузере. Находим строку «Выберите активные календари» и активируем чек-бокс.

После этого возвращаемся в бота и ставим задачи текстовым сообщением, голосом или картинкой.
Если захотите поменять календарь или покопаться в дополнительных настройках, в боте кликните на «Dola».

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

А в разделе «Новые события» можно настроить, за сколько до начала события бот будет оповещать о нем.

Настроить Chrony проще — после запуска высветятся кнопки и мини-гайд по работе с инструментом.

Чтобы начать работу, кликните на «Предоставить доступ». Сервис перенаправит вас на страницу авторизации, после этого можно будет планировать встречи.
Как сделать бота самостоятельно и связать его с календарем
Для этого понадобится:
- Создать бота через Botfather
- Зарегистрироваться в сервисе Coze
- Собрать бота на Coze, подключить к нему календарь.
О первых двух шагах рассказывали в гайде «Как сделать своего бота в Telegram».
Сервис условно-бесплатный. Без подписки можно посылать до 100 сообщений в день через GPT-3,5 или GPT-4o mini и от 1 до 10 сообщений в GPT-4 в зависимости от модели. В нашем случае хватит GPT-4o mini, так как с ботом не нужно общаться. Его задача — вычленять информацию из сообщения и переносить ее в календарь.
Чтобы создать бота, на главной странице кликните на «Create bot».

Откроется новая вкладка, в которой нужно настраивать бота. В раздел «Persona & Prompt» нужно добавить системный промпт.
Мы будем использовать что-то вроде такого:
Ты — помощник по веденю моего Google календаря. Ты анализируешь мои сообщения о предстоящих встречах, находишь во фразах дату и время и ставишь это в Google календарь.
Задача:
Найди в этой фразе:
Дату (если дата указана в относительном формате, например, «сегодня» или «завтра», рассчитай её, основываясь на текущем времени и дне недели.
Дата и время)
Время (используй часовой пояс из этого времени Europe/Minsk
Дата и время
Выведи только следующие поля в строковом формате (избегай использования символов { }):
Дата и время начала:
Дата и время окончания:
Название:
Используй следующие правила для формирования этих полей:
Дата и время начала должны быть в формате, как в примере 2023-09-27 18:00:00.
Дата и время окончания должны быть равны времени начала плюс один час, в формате как в примере 2023-09-27 18:00:00.
Придумай название самостоятельно, исходя из контекста сообщения, длиной не более 20 символов.
Если не удалось определить какой-либо из параметров, необходимых для обработки запроса, напиши в ответе, какой параметр не удалось определить, на языке, на котором был изначально сформулирован запрос.
В соседнем разделе нужно добавить в бота плагин Google Calendar. Для этого кликните на плюс в правом верхнем углу вкладки.

В открывшейся вкладке найдите Google Calendar. Добавьте несколько модулей:
- createCalendarEvent;
- deleteEvent;
- listCalendarEvents.
Эти модули помогут добавлять и удалять события, получать список мероприятий на день по запросу.

После этого можно протестировать бота в Preview & Debug. Бот может попросить вас авторизоваться в Google-аккаунте и после этого добавить мероприятие. Но у меня в окне тестирования не всегда получилось добавить мероприятие в календарь, поэтому лучше протестировать все непосредственно в боте.

Если все работает, кликайте на кнопку «Publish» в правом верхнем углу экрана.

В новой вкладке выберите категорию бота, а затем кликните на «Configure» на строке с Telegram.

Когда кликните на «Configure», сервис попросит добавить токен Telegram-бота.

После этого снова кликните на «Publish», а затем в строке с Telegram на «Chat now».

Готово, с ботом можно общаться.
После первого сообщения нужно авторизоваться в Google. Для этого кликните на Here.

После этого можно планировать.

Минус этого способа — бот не сможет распознать аудио и изображение. С ним можно будет общаться только текстом.