Оглавление:

Навык Alexa: прочитать последний твит (в данном случае - Божий): 6 шагов
Навык Alexa: прочитать последний твит (в данном случае - Божий): 6 шагов

Видео: Навык Alexa: прочитать последний твит (в данном случае - Божий): 6 шагов

Видео: Навык Alexa: прочитать последний твит (в данном случае - Божий): 6 шагов
Видео: ДИАГНОЗ ПУХЛЯША. ЮРКИСС УШЁЛ. ПРОПАГАНДА БАСКОВА. ЛЮБОВНИЦА НУРЛАНА САБУРОВА. ДОЧЬ ГЛЮКОЗЫ. ВДОВИН 2024, Май
Anonim
Alexa Skill: прочитать последний твит (в данном случае - Божий)
Alexa Skill: прочитать последний твит (в данном случае - Божий)

Я сделал навык Alexa Skill, чтобы читать «Последний твит Бога» - контент, то есть контент из @TweetOfGod, учетной записи с более чем 5 миллионами подписчиков, созданной бывшим автором комедий Daily Show. Он использует IFTTT (If This Then That), электронную таблицу Google и невероятно простой в использовании конструктор навыков Alexa Storyline.

Чтобы получить представление о конечном результате, вы можете добавить навык к своему устройству Alexa здесь, или вы можете предварительно просмотреть навык в Storyline, если ваша учетная запись Alexa находится не в США или у вас нет устройства Alexa.

Если вы хотите развить навык Alexa, который читает твиты, это относительно простой способ сделать это. Если вы просто используете мои шаблоны, кодирования не требуется, но если вы хотите сбиться с пути, это поможет немного узнать о коде в целом и, в частности, о том, как структурированы вызовы JSON. Но если вы просто копируете этот навык для другой учетной записи Twitter, это не потребует технических навыков, кроме вырезания и вставки.

Что вам понадобится:

  • Устройство Alexa (или учетная запись с Echoism.io - отличным виртуальным симулятором Alexa)
  • Учетная запись разработчика Alexa
  • Учетная запись Google для создания электронной таблицы с
  • Аккаунт в Storyline
  • Аккаунт с If This Then That (IFTTT)
  • Учетная запись Dropbox или место, где вы можете размещать mp3-файлы на защищенном сервере.

Все эти учетные записи бесплатны.

Я не буду вдаваться в подробности об основах создания навыка сюжетной линии - на сайте есть отличные учебники, чтобы научиться создавать блоки, соединять их и переходить между условиями. В этом руководстве основное внимание будет уделено трем вещам, которым я научился, развивая этот навык: включение звукового эффекта MP3 в свой навык, подключение содержимого твиттера через IFTTT и Google Таблицы и создание случайного твита из набора заранее созданных параметров.

(И большое спасибо разработчику Alexa Skill Джорджу Коллиеру, чей отличный учебник по интеграции twitter в Alexa помог мне начать.)

Шаг 1: Шаг 1: подумайте об общем потоке ваших навыков

Шаг 1. Подумайте об общем потоке ваших навыков
Шаг 1. Подумайте об общем потоке ваших навыков

Сюжетная линия - это фантастический способ развить навыки Alexa с минимальным программированием или без него. Вы можете перетаскивать блоки на место и настраивать связи и пути между действиями с помощью простого для понимания графического интерфейса. Если вы когда-либо использовали Yahoo Pipes, вы узнаете интерфейс.

Одна из замечательных особенностей Storyline заключается в том, что она позволяет довольно легко заставить Alexa озвучивать результаты любого запроса JSON. Получать данные из электронной таблицы Google легко с помощью запросов JSON. Поместить твиты в электронную таблицу Google с помощью If This Than That очень просто. Легкий. Легкий. Легкий.

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

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

  1. Поприветствуйте пользователя коротким голосом и соответствующим вводным звуком.
  2. Прочтите последний твит
  3. Воспроизвести фирменный звук
  4. Спросите пользователя, хотят ли они услышать более старый твит

    1. Да? Прочтите старый твит.
    2. Воспроизвести фирменный звук
    3. Нет? Выйти из навыка.

Источником «Последнего твита» является электронная таблица Google, загружаемая сценарием If This Then That. Этот процесс выглядит так:

  1. ЕСЛИ есть новый твит из учетной записи @TweetOfGod, он копируется в электронную таблицу.
  2. Если твит содержит ссылку или изображение, таблица отфильтровывает их.
  3. Если твит ретвит, таблица отфильтровывает его.
  4. Твиты, которые попадают в эти два фильтра, затем обрабатываются для чтения: # заменяется словом "Hashtag", а несколько других символов заменяются читаемыми эквивалентами.
  5. Последний твит копируется в ячейку "последний твит", которую читает Алекс.

Шаг 2. Шаг 2. Создайте красивый приветственный блок с вводным звуком

Шаг 2. Создайте красивый приветственный блок с вводным звуком
Шаг 2. Создайте красивый приветственный блок с вводным звуком
Шаг 2. Создайте красивый приветственный блок с вводным звуком
Шаг 2. Создайте красивый приветственный блок с вводным звуком
Шаг 2. Создайте красивый приветственный блок с вводным звуком
Шаг 2. Создайте красивый приветственный блок с вводным звуком

Перед тем, как Алекса прочитает последний твит, я произвольно генерирую один из четырех юмористических небесных звуков. Это MP3, которые были обработаны для Alexa по сюжетной линии. Я нашел свои MP3 на Freesound (и все там действительно бесплатно, но будь порядочным человеком и оставь чаевые).

  1. Загрузите ваш MP3. Это должно быть менее 90 секунд. Алекса щепетильно относится к формату. Если вы знаете, что это MPEG версии 2 и 48kps, вы можете пропустить следующий шаг. Но если вы не знаете или это что-то другое, конвертировать легко.
  2. Загрузите его в Storyline для обработки в их аудио конвертере
  3. Разместите загруженное аудио на сервере

Если на шаге 3 вы собираетесь «ДЕЛАТЬ ЧТО СЕЙЧАС?» у вас, вероятно, нет доступа к https-серверу, на котором вы можете разместить свои файлы. Не волнуйтесь, вы можете сделать это с помощью Dropbox. Вам понадобится учетная запись, но опять же, можно и бесплатно. Вот шаги:

  1. Перейдите на https://www.dropbox.com/h и войдите в свою учетную запись.
  2. Нажмите кнопку Загрузить файлы.
  3. Выберите mp3-файл, который вы преобразовали.
  4. Нажмите Поделиться
  5. Нажмите "Создать ссылку" и "Скопируйте ссылку".
  6. В скопированной ссылке замените dropbox на dl.dropboxusercontent без кавычек.
  7. Скопируйте этот URL

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

Вставьте свой URL-адрес. Если вы хотите добавить случайные варианты, повторите процесс для еще нескольких MP3 и нажмите меню «Гамбургер» под полем для вставки URL-адреса.

Шаг 3: Шаг 3: Настройте IFTTT

Шаг 3. Настройте IFTTT
Шаг 3. Настройте IFTTT
  1. Зайдите в свою учетную запись IFTTT и выберите «Создать новый апплет».
  2. Выберите TWITTER в качестве услуги IF.
  3. В качестве триггера выберите «Новый твит определенного пользователя». Введите имя учетной записи, на которую вы хотите подписаться.
  4. Выберите "Google Таблицы" в качестве ТО в сервисе.
  5. Выберите «Добавить строку в таблицу».
  6. В поле «Форматированная строка» удалите все, кроме поля {{TEXT}}.
  7. Создайте свое мастерство.

Это создает новую таблицу и добавляет строку каждый раз, когда выходит новый твит. Вы можете предпочесть использовать одну ячейку в своей электронной таблице и каждый раз просто перезаписывать ее содержимое. В этом случае на шаге 5 вы можете выбрать вариант записи в одну ячейку. Мне нравится вести учет твитов, поскольку я периодически перемещаю те, которые не являются актуальными или не реагируют на новости, в электронную таблицу «Старые твиты». Имейте в виду, что если вы выберете эту опцию, вам нужно будет немного поработать на своем листе: новый будет создан после 2000 строк.

Шаг 4: Шаг 4: Настройте лист Google

Шаг 4. Настройте лист Google
Шаг 4. Настройте лист Google
Шаг 4. Настройте лист Google
Шаг 4. Настройте лист Google
Шаг 4. Настройте лист Google
Шаг 4. Настройте лист Google

Этот Google Sheet является сердцем этого конкретного навыка, потому что он отфильтровывает твиты, которые не очень хорошо работают с Alexa (например, твиты, которые относятся к изображениям, или твиты со ссылками), и делает текстовые твиты намного больше Alexa -дружелюбный, с несколькими простыми заменами.

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

Вы можете просто скопировать эту копию моей таблицы или создать свою, выполнив следующие действия:

  1. Переименуйте вкладку с твитами в "Live from IFTTT".
  2. Добавьте в таблицу вкладку "Обработка твитов".
  3. Добавьте эту формулу в ячейку A8 на вкладке Processing Tweets:

= QUERY ('Live from IFTTT'! A3: A2000, «Выберите A, если A не содержит 'https'»)

При этом все твиты, у которых нет ссылки, переносятся в столбец A на вкладке обработки.

Теперь нам нужно найти последний твит в этом столбце. Вставьте следующую формулу в ячейку B7 на вкладке обработки:

= ИНДЕКС (ФИЛЬТР (A: A, НЕ (ISBLANK (A: A))), ROWS (FILTER (A: A, NOT (ISBLANK (A: A)))))

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

В ячейку B6 вставьте вкладку Обработка:

= обрезать (regexreplace (B7, "#", "Hashtag"))

Это проверяет содержимое ячейки ниже и заменяет знак # словом "Hashtag".

В ячейку B5 вставьте следующую итерацию:

= обрезать (regexreplace (B6, "@", "at"))

Вы уловили идею.

В ячейку B4 вставьте:

= обрезать (regexreplace (B6, «&», «и»))

В ячейке B3:

= обрезать (regexreplace (B6, «%», «процент»))

В ячейку B2 мы поместим немного более сложную формулу:

= ArrayFormula (REGEXREPLACE (B3, "([^ A-Za-z0-9.,!?:; '’]) "," "))

Этот просто избавляется от ВСЕГО, кроме цифр, букв или знаков препинания, которые понимает Alexa.

В ячейке B1 мы просто скопируем последний твит:

= индекс (B2)

Это окончательный текст, и вы можете запрограммировать сюжетную линию, чтобы захватить эту ячейку, если вы немного знаете JSON, но чтобы упростить задачу в конце сюжетной линии, я хотел бы скопировать содержимое во вкладку «Live from IFTTT», поместив это формула в A2 на вкладке «Live from IFTTT»:

= "Процессинговый центр"! B1

Groovy. Теперь ваша электронная таблица настроена и готова к чтению с помощью запроса Storyline JSON.

Шаг 5. Шаг 5. Настройте JSON-запрос «Последний твит» в Storyline

Шаг 5. Настройте свой
Шаг 5. Настройте свой
Шаг 5. Настройте свой
Шаг 5. Настройте свой
Шаг 5. Настройте свой
Шаг 5. Настройте свой
  1. Перейдите в приветственный блок вашего сюжетного навыка и добавьте шаг «Что говорит Алекса».
  2. Добавьте вступительную фразу, например «Вот последний твит от TheTweetOfGod:»
  3. Используйте меню гамбургеров, чтобы добавлять вариации
  4. Щелкните маленькую стрелку вправо и выберите «Создать новый блок».

Я назвал свой новый блок «Get God Tweet». Задача состоит в том, чтобы получить последний отфильтрованный твит из ячейки электронной таблицы A2 на основной вкладке. Вы делаете это, получая данные с помощью запроса JSON, доставленного через Google Sheets API: на самом деле это не более чем причудливый URL-адрес.

  1. Щелкните маленький значок справа на новом блоке, чтобы добавить запрос JSON.
  2. Назовите свой запрос API. Я назвал свой "GetGodTweet"
  3. Найдите URL-адрес своей таблицы, выполнив следующие действия:

    1. Щелкните Файл -> Опубликовать в Интернете в своей электронной таблице.
    2. Используйте значения по умолчанию и просто нажмите «Опубликовать».
    3. Скопируйте URL-адрес и вставьте его в файл заметки.

Мой пример:

https://docs.google.com/spreadsheets/d/e/2PACX-1vSUnz43PEORZbBES1lQ8ZlJjH_4voh4Guc6SWrfjeGk2bZlY5EBYzLD5-fT633ygo_35Jz97cuUwKuy/glpubh, который вам понадобится, чтобы извлечь длинную строку из этого документа, чтобы извлечь его из длинного документа ugl. Это бит между / d / e и следующим / charcter. Итак, в этом случае:

2PACX-1vSUnz43PEORZbBES1lQ8ZlJjH_4voh4Guc6SWrfjeGk2bZlY5EBYzLD5-fT633ygo_35Jz97cuUwKuy

Вы меняете это длинное число на бит в следующем URL-адресе, который говорит "SPREASHEET_ID":

"https://spreadsheets.google.com/feeds/list/SPREADSHEET_ID/od6/public/basic?alt=json"

  1. Теперь возьмите ЭТО URL-адрес и вставьте его в поле URL-адреса запроса JSON в Storyline.
  2. Выберите вариант "ПОЛУЧИТЬ"
  3. Оставьте поле "Заголовки" пустым.
  4. В следующем поле вы создадите переменную с содержимым ячейки A2 вашей первой вкладки, вставив эту формулу в:

tweet = api_response.feed.entry.0.title. $ t

Переменная называется «твит». Копирует содержимое с основной вкладки 0.

Теперь, если вы добавите блок «Alexa Says» под запрос JSON и поместите только слово {{tweet}} в фигурные скобки, Alexa скажет содержимое ячейки. Убедитесь, что регистр соответствует переменной, которую вы назвали на шаге 4 !!!

Нажмите кнопку ИГРАТЬ на сюжетной линии и проверьте свои навыки! Если вы получили слово «Null», это означает, что что-то пошло не так с вашим запросом API.

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

Шаг 6: Необязательное дополнение: создание случайного результата из Google Таблиц для чтения Alexa

Необязательное дополнение: создание случайного результата из Google Sheets для чтения Alexa
Необязательное дополнение: создание случайного результата из Google Sheets для чтения Alexa

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

Я создал третью вкладку в своей таблице под названием «Старые твиты». Все они занимают ячейки A1-A36 в моей таблице.

  1. В Storyline создайте новый блок под названием «Oldertweets».
  2. Добавить шаг запроса JSON
  3. Дайте ему имя
  4. В поле URL-адреса используйте тот же URL-адрес API, который вы создали с идентификатором электронной таблицы на этапе «Последний твит», с одним вариантом:

    Измените бит в конце с / od6 / basic / public на / 3 / basic / public - это вызовет TAB 3 вместо Tab 1

  5. Выберите "ПОЛУЧИТЬ"
  6. Оставьте заголовки пустыми
  7. В следующем поле вставьте это:

oldtweet = api_response.feed.entry.random.title. $ t

Вы создали новую переменную под названием «oldtweet», и это маленькое слово «случайный» означает, что переменная будет изменяться каждый раз при вызове запроса JSON.

Добавьте еще один шаг «Алекса говорит» и вставьте новую переменную {{oldtweet}} в фигурные скобки. Бум! Случайное добро!

Если вам понравилось это руководство, поставьте несколько звездочек или оставьте отзыв о моем навыке!

Рекомендуемые: