Упс! Не вдала спроба:(
Будь ласка, спробуйте ще раз.
preview
Артем Бородатюк
Артем Бородатюк Засновник FRACTAL
Підписатися на нас
0
6 хвилин читання

Я більше не створюю зустрічі вручну. За мене це робить бот, якого я написав за вечір

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

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

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

Це другий кейс у моїй серії про корисних ботів, які я збираю собі під конкретні щоденні задачі. Розповідаю, як він працює і як зібрати такого собі.

Що саме робить бот

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

Підписуйтеся на наші соцмережі

Конкретно бот:

  • формує назву зустрічі за форматом "ім'я, прізвище + моє ім'я";
  • сам збирає всі пошти з переписки і кличе всіх учасників;
  • знаходить місце в Google Maps і підставляє точну адресу — а якщо збігів кілька, показує варіанти на вибір;
  • ставить дату й час, розуміючи фрази на кшталт "у четвер о 15:00" чи "наступного вівторка";
  • пише в опис події контекст розмови: хто написав, з чим прийшов, що хоче обговорити;
  • фіксує, коли саме ви домовились і в якому месенджері;
  • додає мої контакти з проханням писати, а не дзвонити;
  • дає гостям право редагувати подію й додавати своїх людей.

Головне — бот нічого не вигадує. Якщо в переписці немає часу, пошти чи адреси, він прямо скаже, чого бракує, і навіть не покаже кнопку «Створити», поки інформація не буде повною.

Що потрібно, щоб зібрати таке собі

Звучить це, можливо, страшнувато, але насправді старт займає один вечір. Ось що знадобиться:

  • бот у Telegram, створений через @BotFather;
  • безкоштовний акаунт Cloudflare — там житиме код;
  • проєкт у Google Cloud з увімкненими Calendar API і Places API, створеним OAuth-клієнтом і ключем для Maps;
  • ключ Claude або GPT, який розбиратиме переписку на структуровані дані.

Усе інше — дивись нижче. Це готовий промпт, який можна просто скопіювати в свій Claude, до якого вже підключений акаунт Cloudflare.

Промпт, який робить усю роботу

Побудуй телеграм-бота на Cloudflare Workers, який із переписки робить подію в Google Calendar. ЩО РОБИТЬ

1. Я пересилаю боту переписку. Якщо повідомлень кілька — зачекай 20 секунд і збери їх в ОДИН матеріал, а не відповідай на кожне.

2. LLM зі строгою json-схемою витягує: імʼя співрозмовника, усі пошти (крім моїх), місто, місце, дату й час (відносні дати рахуй від київського «зараз»), тривалість, дату домовленості й канал, контекст на 2-3 речення і список того, чого бракує.

3. Місце уточни через Google Places Text Search: «назва + місто» → повна адреса. Якщо збігів кілька — покажи альтернативи в картці.

4. Покажи картку: назва, час, адреса, пошти, контекст + кнопки «Створити» і «Скасувати».

5. Наступне повідомлення після картки — це ПРАВКА до неї: передай стару картку моделі як контекст, онови тільки назване, решту збережи.

6. Після підтвердження створи подію: — назва «Імʼя Прізвище + [моє імʼя]» — календар шукай за назвою (напр. One time meetings), id закешуй — учасники = всі знайдені пошти, sendUpdates=all — guestsCanModify, guestsCanInviteOthers, guestsCanSeeOtherGuests = true — таймзона Europe/Kyiv — опис: тема (= назва), місто, час, місце, «Домовились: дата, канал», «Контекст перед зустріччю: …» і мої контакти з проханням писати, а не дзвонити

7. У відповідь дай посилання на створену подію. ПРАВИЛА — Нічого не вигадувати. Немає часу, пошти чи адреси — напиши, чого бракує. Без часу кнопку «Створити» не показувати взагалі. — Реагувати тільки на мій chat_id, чужі апдейти ігнорувати мовчки. ТЕХНІЧНО — Секрети: TELEGRAM_BOT_TOKEN, WEBHOOK_SECRET, GOOGLE_OAUTH_CLIENT_ID і SECRET, GOOGLE_MAPS_KEY, ключ моделі. — OAuth від того акаунта, від якого мають іти запрошення. Refresh-токен у KV, оновлювати самому. — Вебхук /tg з перевіркою x-telegram-bot-api-secret-token, allowed_updates = message + callback_query. — KV: буфер повідомлень, поточна картка, id календаря. — parse_mode=HTML, екранувати & < >.

ЩО ВІДДАТИ Код, wrangler.toml і кроки: створити бота, увімкнути Calendar API та Places API, зробити OAuth-клієнт, задеплоїти воркер, поставити вебхук, перевірити на тестовій переписці.

Віддаєте цей промпт моделі — і на виході отримуєте готовий код, конфігураційний файл і покроковий план деплою.

Навіщо взагалі це робити

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

Такий бот занадто дешевий і ефективний у побудові, щоб його не зробити. Якщо тема заходить — буду продовжувати серію про подібних ботів під конкретні щоденні задачі, з готовими промптами, які можна одразу забрати собі.

0
Icon 0

Підписуйтеся на наші соцмережі