Динамический промпт для Ai бота на платформе ботов ProTalk

Добавляем данные в удаленный промпт с помощью скрипта. В данном примере скрипт забирает задачи из Google календаря (выложен ниже), так же с помощью нашего бота помощника можно сформировать скрипт для других целей. Например, парсинг информации с сайта (выложен ниже) или соцсети или из RSS новостей и т.д.

Сайт платформы ai ботов ProTalk: [https://pro-talk.ru/?ref=dynamic_prompt](https://pro-talk.ru/?ref=dynamic_prompt)

Бот, который создаст нужный скрипт: [https://pro-talk.ru/ProTalkGoogleAppScriptAssistant](https://pro-talk.ru/ProTalkGoogleAppScriptAssistant)

Кейс - забираем задачи из Google календаря: Внешняя роль с динамическим контентом из Google Calendar [https://docs.google.com/document/d/1U3YP_kBwS1X30vRWLrPNpLOEeutOXUfg0a5DxBF20EE/edit?usp=sharing](https://docs.google.com/document/d/1U3YP_kBwS1X30vRWLrPNpLOEeutOXUfg0a5DxBF20EE/edit?usp=sharing)

Код скрипта:

`JavaScript  function updateCalendarEvents() {   var doc = DocumentApp.getActiveDocument();   var body = doc.getBody();      // Найдите начало и конец блока контента   var startElement = body.findText('##WEB_CONTENT_START##');   var endElement = body.findText('##WEB_CONTENT_END##');      if (!startElement || !endElement) {     Logger.log('Не найдены маркеры начала или конца блока контента');     return;   }      var startIndex = body.getChildIndex(startElement.getElement().getParent());   var endIndex = body.getChildIndex(endElement.getElement().getParent());      // Удалите существующий контент между маркерами   for (var i = endIndex - 1; i ﹥ startIndex; i--) {     body.removeChild(body.getChild(i));   }      // Получите события календаря на следующие 60 дней   var calendar = CalendarApp.getDefaultCalendar();   var now = new Date();   var endDate = new Date(now.getTime() + (60 * 24 * 60 * 60 * 1000)); // 60 дней вперед   var events = calendar.getEvents(now, endDate);      // Вставьте события в документ   for (var i = 0; i ﹤ events.length; i++) {     var event = events[i];     var title = event.getTitle();     var startTime = event.getStartTime();     var endTime = event.getEndTime();     var description = event.getDescription() || 'Нет описания';          var eventString = Utilities.formatDate(startTime, Session.getScriptTimeZone(), 'dd.MM.yyyy HH:mm') + ' - ' +                       Utilities.formatDate(endTime, Session.getScriptTimeZone(), 'HH:mm') + '\n' +                       title + '\n' +                       description + '\n\n';          body.insertParagraph(startIndex + i + 1, eventString);   } }  function createDailyTrigger() {   // Удаляем все существующие триггеры   var triggers = ScriptApp.getProjectTriggers();   for (var i = 0; i ﹤ triggers.length; i++) {     ScriptApp.deleteTrigger(triggers[i]);   }      // Создаем новый ежедневный триггер на 6:00 утра   ScriptApp.newTrigger('updateCalendarEvents')     .timeBased()     .everyDays(1)     .atHour(6)     .create(); }`

Динамический промпт для Ai бота на платформе ботов ProTalk

Добавляем данные в удаленный промпт с помощью скрипта. В данном примере скрипт забирает задачи из Google календаря (выложен ниже), так же с помощью нашего бота помощника можно сформировать скрипт для других целей. Например, парсинг информации с сайта (выложен ниже) или соцсети или из RSS новостей и т.д.

Сайт платформы ai ботов ProTalk: https://pro-talk.ru/?ref=dynamic_prompt

Бот, который создаст нужный скрипт: https://pro-talk.ru/ProTalkGoogleAppScriptAssistant

Кейс - забираем задачи из Google календаря: Внешняя роль с динамическим контентом из Google Calendar https://docs.google.com/document/d/1U3YP_kBwS1X30vRWLrPNpLOEeutOXUfg0a5DxBF20EE/edit?usp=sharing

Код скрипта:

JavaScript function updateCalendarEvents() { var doc = DocumentApp.getActiveDocument(); var body = doc.getBody(); // Найдите начало и конец блока контента var startElement = body.findText('##WEB_CONTENT_START##'); var endElement = body.findText('##WEB_CONTENT_END##'); if (!startElement || !endElement) { Logger.log('Не найдены маркеры начала или конца блока контента'); return; } var startIndex = body.getChildIndex(startElement.getElement().getParent()); var endIndex = body.getChildIndex(endElement.getElement().getParent()); // Удалите существующий контент между маркерами for (var i = endIndex - 1; i ﹥ startIndex; i--) { body.removeChild(body.getChild(i)); } // Получите события календаря на следующие 60 дней var calendar = CalendarApp.getDefaultCalendar(); var now = new Date(); var endDate = new Date(now.getTime() + (60 * 24 * 60 * 60 * 1000)); // 60 дней вперед var events = calendar.getEvents(now, endDate); // Вставьте события в документ for (var i = 0; i ﹤ events.length; i++) { var event = events[i]; var title = event.getTitle(); var startTime = event.getStartTime(); var endTime = event.getEndTime(); var description = event.getDescription() || 'Нет описания'; var eventString = Utilities.formatDate(startTime, Session.getScriptTimeZone(), 'dd.MM.yyyy HH:mm') + ' - ' + Utilities.formatDate(endTime, Session.getScriptTimeZone(), 'HH:mm') + '\n' + title + '\n' + description + '\n\n'; body.insertParagraph(startIndex + i + 1, eventString); } } function createDailyTrigger() { // Удаляем все существующие триггеры var triggers = ScriptApp.getProjectTriggers(); for (var i = 0; i ﹤ triggers.length; i++) { ScriptApp.deleteTrigger(triggers[i]); } // Создаем новый ежедневный триггер на 6:00 утра ScriptApp.newTrigger('updateCalendarEvents') .timeBased() .everyDays(1) .atHour(6) .create(); }