Чат в гугл таблицах

Чат в гугл таблицах

RPI.su — самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected] . Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.

Доказывающих, что этот редактор таблиц невероятно крут. И для 95% людей вполне может заменить Excel.

У Google Sheet есть два явных достоинства: он бесплатен и работает через браузер/мобильные приложения (App Store/Google Play). Многие воспринимают его просто как удобное средство для просмотра табличек, присланных по почте. Но такая точка зрения в корне неверна.

Вот обзор интересных возможностей Google Sheets, дополненный несколькими полезными мини-инструкциями, заставит вас посмотреть на приложение совсем другими глазами.

1. Совместная работа над документами

В Google Sheet очень просто организовать совместную работу над файлом. Надо нажать на кнопку Настройки доступа, ввести email нужного человека и выставить для него права: редактирование, комментирование или чтение.

Если в команде слишком много народу, а документ не содержит конфиденциальной информации, то можно включить доступ по ссылке и выложить ее где-нибудь.

Не стоит бояться, что кто-нибудь испортит документ. Все версии сохраняются в истории изменений и откат к более ранней версии можно произвести в пару кликов.

Если очень надо, можно защитить от редактирования определенные диапазоны данных.

Инструкция по блокировке ячеек

1. Выделяем ячейки и нажимаем Защитить лист.

2. Даем имя диапазону и нажимаем на кнопку Задать разрешения.

3. Указываем, кто имеет право редактировать диапазон.

Еще в Google Sheets есть интересный способ указать пользователю на конкретное место в документе. Не надо писать человеку письмо “Привет, Василий! Проверь пожалуйста данные 125 ячейки 17 столбца 30 листа счета №343”. Надо просто нажать на эту ячейку правой кнопкой мыши, выбрать пункт меню “Добавить комментарий” и набрать “+ вопрос к нему”.

В ответ ему придет письмо со ссылкой на нужный лист, ячейку и комментарий. Это очень удобно.

К слову, в Excel тоже можно совместно работать над документами через OneDrive и Office Online. Но стоит это удовольствие от 299 рублей в месяц.

2. Формулы

В Google Sheet 371 функция! Здесь их полный список с описаниями на русском языке. Они распределены по 15 разделам:

Для справки, в Excel их на сто функций больше. Если что-то очень нужное, как раз из этой сотни, это не повод отказываться от Google Spreadsheet. Ведь можно создать функцию под себя!

Инструкция по созданию собственных функций

1. Открываем редактор скриптов:

2. Набираем код функции:

[jscript]
function c100wN(x) <
x = x*100*1.4;
return x;
>
[/jscript]

Этот пример функции очень простой, но вооружившись учебником по экономике/статистике/дискретной математике, вы сможете заставить Google SpreadSheet делать вычисления высокой степени сложности и избавиться от необходимости платить за Excel.

P.S. В Excel тоже можно создавать пользовательские функции.

3. Автоматизации

В этой сфере возможности предмета статьи поражают воображения. Автоматизировать можно практически все. Надо только немного подумать.

Мощнейший Google Apps Script (расширенная версия Java Script для работы с сервисами Google) может связать Sheets со следующими приложениями:

  • Google Docs;
  • Gmail;
  • Google Translate;
  • Google Forms;
  • Google Sites;
  • Google Translate;
  • Google Calendar;
  • Google Contacts;
  • Google Groups;
  • Google Maps.

Тему использования этого языка совместно с Google Таблицами на iphones.ru мы поднимали неоднократно:

Читайте также:  Запуск рекавери на acer

4. Коллекция дополнений

Если вам не хватает каких-то возможностей в Google Sheet, то можно попробовать найти что-нужно среди дополнений. Страница с доступными аддонами открывается из меню Дополнения -> Установить дополнения.

Я бы рекомендовала присмотреться к следующим дополнениям:

  • Styles;
  • Remove Blank Words;
  • Advanced Find And Replace;
  • Translate My Sheet;
  • Fitbit Activity Importer;
  • Magic JSON;
  • Drive Links Exporter.

5. Google Forms

Предположим, что нам надо сделать онлайн-опрос и собрать данные в таблицу для последующей обработки. Есть очень быстрый и бесплатный способ это сделать.

Организуем опрос с помощью сервисов Google

1. Инструменты -> Создать форму

2. Заполняем информацию, придумываем вопросы.

3. Получаем ссылку на готовый опрос.

5. Смотрим свой ответ на листе в таблице.

Еще форму можно получить html-код формы и поставить ее на сайт.

6. Интеграция с Google Drive

Для хранения таблиц Google Sheets предоставляется 15 Гб места бесплатно. На том как крут этот сервис мы останавливаться не будем, а просто расскажем о беcценной фиче под названием ОФФЛАЙН РЕЖИМ. Он доступен для текстовых документов, таблиц и презентаций.

О том как включить его в мобильных приложениях, а также десктопной версии браузера Chrome можно подробно ознакомиться здесь.

Стоит также уточнить, что использование Google Drive клиента на компьютере не позволяет работать с таблицами офлайн. Файлы Google Sheet хранятся на компьютере в виде файлов-ссылок, при открытии которых запускается браузер.

7. Горячие клавиши

У Google Sheet есть несколько десятков сочетаний клавиш практически для всех действий. Полные списки для PC, Mac, Chromebook и Android можно посмотреть здесь.

8. Экспорт данных

Созданные таблицы можно не только просматривать и редактировать онлайн, но и скачивать в разнообразных форматах:

9. Мгновенная вставка картинок из интернета

На лист таблицы можно в два счета вставить любое изображение из сети. Просто вставьте в ячейку формулу как на рисунке:

Это были лишь некоторые из самых интересных фич. Если вы осознали мощь программы и захотели начать активно ее использовать, рекомендую посмотреть эти 16 видео-уроков для получения стартовых знаний.

Опрос: Что вы такого делаете в Excel, что не можете делать в Google Sheet?

(5.00 из 5, оценили: 4)

  • Твитнуть
  • Поделиться
  • Рассказать

Ирина Чернова

Рас*здяйка. Графоманка. Боюсь людей. Страдаю манией величия. Фото удалено модераторами, так как внешность безнадежно испорчена тяжелой жизнью.

Появившись, Алиса увлекла пользователей неожиданно качественными синтезом речи и чат-ботом. Сегодня от неё ждут полезных навыков и интересных игр с бекендом, способным учитывать контекст пользователя и реализовывать широкий спектр сценариев. В этой статье рассматривается создание навыка на базе Google Таблицы, хорошо знакомого многим инструмента с большим потенциалом для небольших чат-ботов.

Играть с реальным человеком может быть интереснее, чем с виртуальным персонажем, поэтому в качестве примера разрабатывать будем многопользовательскую игру для Алисы.

Раз! Диалог

Игра начинается с правил. Я придумал такие: каждый из двух игроков сперва размещает за тремя дверями сокровище и ловушку, а затем открывает любую из дверей соперника. Открываете сокровище — получаете монеты соперника, открываете ловушку — отдаёте монеты ему. Количество монет, от 1 до 3, определяет сам игрок. За оставшейся дверью находится ящик Пандоры, открыв который можно найти/потерять случайное количество монет. Играть можно как с Алисой, так и против других пользователей.

Интерфейс Алисы решён в виде диалога, и всё игровое взаимодействие должно быть реализовано через обмен сообщениями. Обработка каждого сообщения сервером игры представляется следующими шагами:

  1. восстановление контекста пользователя;
  2. интерпретация запроса в восстановленном контексте;
  3. формирование ответного сообщения;
  4. сохранение изменившегося контекста пользователя.

Восстановление и сохранение контекста пользователя

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

В каждом запросе, согласно протоколу, Алиса передаёт идентификатор пользователя. Этого достаточно для сохранения и последующего восстановления его контекста.

Читайте также:  Как вырезать микросимку из обычной

В качестве хранилища данных возьмём Google Таблицы. К объективным преимуществам этого решения относятся бесплатное использование, наглядность и простота эксплуатации. Встроенный редактор скриптов позволяет описывать логику игры на Apps Script (базирующемся на JavaScript), обращаясь к API таблиц, и публиковать её в виде web-приложения.

Создав таблицу с нужными заголовками, можно перейти к редактору скриптов:

Логику игры можно описать в проекте на Apps Script, организовав её в виде набора gs-файлов, и перейти к публикации:

При публикации нужно указать доступность приложения анонимным пользователям:

На выходе вы получите URL опубликованного веб-приложения. Функции doGet() и doPost() в скрипте будут обрабатывать запросы соответствующих типов, чтобы получать и сохранять контексты пользователей.

Ниже схема работы с API таблиц для оперирования данными:

Интерпретация запроса в восстановленном контексте

В общем случае корректная интерпретация текстовых запросов требует использования интеллектуальных NLU-алгоритмов. И хотя такие алгоритмы доступны в несложных инструментах вроде описанного мной Aimylogic, в этом случае от обработки естественного языка я решил отказаться в пользу простоты.

В предложенной игре взаимодействие игрока с Алисой ограничивается десятком возможных состояний и может быть сведено к небольшому набору намерений. Для простоты я всегда предлагаю игроку три возможных действия: отправить “Раз”, “Два” или “Три”. На любой другой запрос Алиса просит уточнить действие.

Сценарий в этом случае сводится к следующему коду на Apps Script:

Для пользователя решённое таким образом взаимодействие представляется как выбор одного из трёх вариантов, смысл которых явно определён в каждом ответе Алисы. Сами варианты представлены кнопками “Раз”, “Два”, “Три”, которые существенно ускоряют игровой процесс.

Формирование ответного сообщения

Ответ Алисы состоит из нескольких частей, каждую из которых нужно сформировать, в том числе:

  • текст для отображения на экране;
  • текст для синтеза речи;
  • набор кнопок-подсказок.

Недавно я сформулировал концепцию ЛЁГКОГО диалога, описывающую принципы проектирования разговорного интерфейса в том числе для Алисы. Формат ответа Алисы позволяет реализовать эти принципы.

Так разделение отображаемого и проговариваемого текста позволяет сделать ответы более краткими и естественными. Можно не заставлять Алису синтезировать длинный текст, с которым пользователь уже знаком, а также использовать emoji в тексте сообщения и названии кнопок.

Кнопки-подсказки реализуют принцип инициативы: Алиса всегда обозначает и предлагает возможные действия для продолжения диалога. В сценарии предложенной игры список кнопок не зависит от контекста и добавляется к каждому сообщению.

Итак, у нас есть Google Таблица с данными пользователей, которые сохраняются и получаются через URL веб-приложения. Приложение написано на Apps Script, оно интерпретирует действие пользователя в соответствии с его контекстом и формирует данные для ответного сообщения.

Осталось подключиться к Алисе…

Два! Интеграция

Яндекс.Диалоги позволяют разработчикам добавлять в Алису свои навыки. Подключение навыка сводится к трём основным вещам:

Активация и оформление

Для активации важно выбрать хорошо распознаваемую Алисой фразу, соответствующую формальным требованиям Яндекса. Если в активационном имени присутствуют числа, отдельно проверяйте активацию при вводе с клавиатуры и голосом.

В оформление навыка входят название, описание, иконка, категория и т.п.
Стоит учесть, что в списке навыков в каталоге отображаются только иконка и активационная фраза, а поиск в каталоге осуществляется преимущественно по описанию.

Получение веб-хука

Веб-хук — это адрес, по которому Алиса будет отправлять сообщения к вашему навыку и ждать JSON-ответ в описанном формате.

Веб-приложение, созданное на Apps Script, по умолчанию возвращает ответ в виде html-странички, но с помощью ContentService его можно заставить возвращать и JSON:

Однако Google при использовании ContentService перенаправляет запрос пользователя на временный URL, к чему Яндекс.Диалоги не готовы. Поэтому адрес веб-приложения в качестве веб-хука не подходит.

Существуют бесплатные сервисы, которые предлагают подходящий для Алисы веб-хук, например Zenbot. В Zenbot для предложенной игры можно написать короткий скрипт, обращающийся к гугловому веб-приложению и возвращающий ответ вместе с кнопками. Кстати, таким образом игру можно интегрировать не только с Алисой, но и с другими каналами.

Читайте также:  Как включить вай фай роутер на компьютере

Ниже пример скрипта, который обеспечивает работу игры “Раз, Два, Три!” в Telegram-боте @RazDvaTriBot:

Для большей гибкости в обработке запросов можно написать свой сервер, используя для этого, например, Google App Engine. Этим инструментом тоже можно пользоваться бесплатно.

После создания проекта в Google App Engine интерфейс Cloud Shell позволяет на одной веб-странице писать код сервера и деплоить его на нужный URL вида https:// .appspot.com, который и будет адресом веб-хука.

Работа сервера состоит из следующих этапов:

  1. получение данных запроса из Алисы;
  2. взаимодействие с веб-приложением игры;
  3. отправка ответа в формате Алисы.

Получение/отправка данных Алисы

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

В качестве ответа в игру возвращаются кнопки-подсказки и тексты для отображения и проговаривания:

Три! Синхронизация

Отправка/получение данных от веб-приложения занимает время, а Алисе не терпится дать ответ пользователю, поэтому в дело вмешиваются вопросы синхронизации.

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

Таймаут синхронного протокола Алисы — 1,5 секунды на ответ. Если сервер не успевает выдать ответ за это время, пользователь видит грустное сообщение в духе “Извините, не отвечает”. Никаких подсказок, что делать дальше, система не предлагает.

Чтобы избежать такой ситуации, можно и нужно ускорять сервис, а также отслеживать и обрабатывать таймауты. Наиболее длительные операции при работе скрипта игры — чтение и запись данных таблицы. Поэтому, во-первых, количество эти операций нужно минимизировать, а во-вторых, желательно их распараллелить.

Зачитать данные таблицы достаточно один раз. После исполнения логики скрипт готов выдать пользователю ответ сразу, до окончания записи результатов.

На получение ответа следует отвести ограниченное время — например, 1100 мс:

Если ответ GET-запросом получен вовремя, мы можем отдать его пользователю и инициировать сохранение результатов POST-запросом в фоновом режиме. В противном случае мы отдаём пользователю текст-заглушку с кнопками для продолжения, а результаты исполнения скрипта игнорируем, чтобы пользователь мог повторить свой запрос в текущем контексте.


В многопользовательской игре для Алисы должны быть решены задачи синхронизации как между серверами игры и Яндекса, так и между игроками. Если игрок хочет играть против другого пользователя, игра сама подбирает соперника — из тех, кто хотел играть в последнее время. Пользователи должны подтвердить готовность играть друг с другом, чтобы игра началась.

На текущий момент навык не может инициировать отправку сообщения пользователю Алисы. Поэтому в скрипте игры предусмотрена проверка готовности соперника и отведённой под раунд игры минуты. Если соперник задерживает игру, пользователю предлагается подождать его: “Подождём соперника ещё чуть-чуть?” Соглашаясь подождать, пользователь запускает очередную проверку. Если минута игры заканчивается, игра завершается.

Заключение

К плюсам Google Таблицы как бекенда для чат-бота, кроме бесплатности, можно отнести то, что при разработке она является инструментом отладки, а после — становится консолью администратора навыка со всеми прелестями совместного редактирования с любого устройства. К минусам — задержки при одновременной работе большого количества пользователей.

Надеюсь, данная статья поможет энтузиастам и разработчикам быстрее создавать полезные навыки для Алисы или других каналов. Предложенная игра доступна в магазине навыков Яндекс.Диалогов под названием “Раз, Два, Три! Многопользовательская игра”.

Наряду с инструментами общего назначения существуют и специализированные решения для разработки чат-ботов. Предлагаю читателям принять участие в небольшом опросе по известным мне в этой области сервисам. В список попали далеко не все существующие продукты — буду благодарен за комментарии с названиями и краткими отзывами, если вы использовали другие инструменты.

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

Ссылка на основную публикацию
Фотографии купе в поезде
Интересный фотоотчет о поездке на одном из первых рейсов двухэтажных поездов. Смотрим далее, как все устроено внутри таких двухэтажных вагонов...
Уравнение окружности в полярных координатах
Определение: замкнутая плоская кривая, все точки которой одинаково удалены от данной точки (центра О), лежащей в той же плоскости, что...
Уравнение пучка прямых проходящих через точку
Совокупность прямых, проходящих через некоторую точку, называется пучком прямых с центром в этой точке. Если и - уравнения двух пересекающихся...
Фотография с самым большим разрешением в мире
Представляем вашему вниманию нашу подборку самых больших фотографий в мире. Для их просмотра вам будет необходим FlashPlayer. Его можно скачать...
Adblock detector