Съдържание:

Alexa Skill: Прочетете последния туит (в този случай, Божий): 6 стъпки
Alexa Skill: Прочетете последния туит (в този случай, Божий): 6 стъпки

Видео: Alexa Skill: Прочетете последния туит (в този случай, Божий): 6 стъпки

Видео: Alexa Skill: Прочетете последния туит (в този случай, Божий): 6 стъпки
Видео: СТРАННЫЕ НОВОСТИ НЕДЕЛИ - 54 | Таинственный | Вселенная | НЛО | Паранормальный 2024, Ноември
Anonim
Alexa Skill: Прочетете последния туит (в този случай, Божий)
Alexa Skill: Прочетете последния туит (в този случай, Божий)

Направих умение на Alexa, за да прочета „Последния туит на Бог“- съдържанието, тоест от @TweetOfGod, 5 -милионния абонатен акаунт, създаден от бивш писател на комедии в Daily Show. Той използва IFTTT (If This Then That), електронна таблица на Google и невероятно лесния за използване Alexa Skill Builder, Storyline.

За да добиете представа за крайния резултат, можете да добавите умението към вашето Alexa устройство тук или да прегледате умението в Storyline, ако акаунтът ви в Alexa не е в САЩ или нямате устройство Alexa.

Ако искате да изградите умение на Alexa, което чете туитове, това е сравнително лесен начин да го направите. Не се използва кодиране, ако просто използвате моите шаблони, но ако искате да се отклоните от пътя, това помага да знаете малко за кода като цяло и по -специално как са структурирани обажданията на JSON. Но ако просто възпроизвеждате това умение за различен акаунт в Twitter, това няма да изисква технически умения освен изрязване и поставяне.

Какво ще ви трябва:

  • Устройство Alexa (или акаунт с Echoism.io - страхотен виртуален симулатор на Alexa)
  • Профил на разработчик на Alexa
  • Профил в Google, с който да създадете електронна таблица
  • Профил в Storyline
  • Профил с If This then That (IFTTT)
  • Акаунт в dropbox или място, където можете да хоствате mp3 файлове на защитен сървър

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

Няма да навлизам в подробности за основите на това как да създадете умение Storyline - на сайта има отлични уроци за научаване как да създавате блокове, да ги свързвате и да разклонявате между условията. Този урок ще се съсредоточи върху три неща, които научих, изграждайки това умение: получаване на MP3 звуков ефект във вашето умение, свързване на съдържание в Twitter чрез IFTTT и Google Sheets и как да се генерира случаен туит от набор от предварително създадени опции.

(И голям вик към разработчика на Alexa Skill George Collier, чийто отличен урок за интегриране на Twitter в Alexa ме накара да започна.)

Стъпка 1: Стъпка 1: Помислете за цялостния поток на вашите умения

Стъпка 1: Помислете за цялостния поток на вашите умения
Стъпка 1: Помислете за цялостния поток на вашите умения

Storyline е фантастичен начин да създадете умения на Alexa с малко или без кодиране. Можете да плъзгате и пускате блокове на място и да настройвате връзки и пътища между действия чрез лесен за разбиране графичен интерфейс. Ако някога сте използвали Yahoo Pipes, ще разпознаете интерфейса.

Едно от готините неща за Storyline е, че улеснява сравнително лесно да накарате Alexa да говори за резултатите от всяка JSON заявка. Извличането на данни от електронна таблица на Google е лесно с JSON заявки. Получаването на туитове в електронна таблица на Google с If This Than That е лесно. Лесно. Лесно. Лесно.

Смятам, че е най -добре просто да визуализираш цялото си умение абстрактно, преди да започнеш.

Когато се замислих за уменията си, знаех, че основната им цел е просто да доставя най -новия туит. Но бих могъл да подобря това с малко звуков дизайн (Storyline позволява вашето умение да възпроизвеждате всеки 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 секунди. Alexa е специално за формата. Ако знаете, че това е MPEG версия 2 и 48kps, можете да пропуснете следващата стъпка. Но ако не знаете или е нещо различно, лесно е да конвертирате.
  2. Качете го в Storyline за обработка в техния аудио конвертор
  3. Хоствайте изтегленото си аудио на HTTPS сървър

Ако стъпка 3 отивате ли „НАПРАВЕТЕ КАКВО СЕГА?“вероятно нямате достъп до https сървър, на който можете да хоствате вашите файлове. Не се притеснявайте, можете да направите това с dropbox. Ще ви трябва акаунт, но отново безплатен е добре. Ето стъпките:

  1. Отидете на https://www.dropbox.com/h и влезте в профила си.
  2. Щракнете върху бутона Качване на файлове
  3. Изберете mp3 файла, който сте преобразували.
  4. Щракнете върху Споделяне
  5. Щракнете върху Създаване на връзка и Копирайте връзката
  6. В връзката, която сте копирали, заменете „dropbox“с „dl.dropboxusercontent“без кавичките
  7. Копирайте този URL адрес

Сега ще отидете в долната част на блока за добре дошли и щракнете върху иконата Музикална нота.

Поставете своя URL адрес. Ако искате да добавите произволни варианти, повторете процеса за още няколко MP3 и кликнете върху менюто Hamburger под полето за поставяне на URL.

Стъпка 3: Стъпка 3: Настройте IFTTT

Стъпка 3: Настройте IFTTT
Стъпка 3: Настройте IFTTT
  1. Отидете на вашия акаунт в IFTTT и изберете „Създаване на нов аплет“
  2. Изберете TWITTER като IF услуга.
  3. Изберете „Нов туит от конкретен потребител като тригер. Попълнете името на акаунта, който искате да следвате
  4. Изберете „Google Sheets“като услуга THEN
  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. Преименувайте раздела с туитове в него „На живо от IFTTT“
  2. Добавете раздел, наречен „Обработка на туитове“към електронната таблица
  3. Добавете тази формула в клетка A8 на раздела Обработка на туитове:

= QUERY ('На живо от IFTTT'! A3: A2000, "Изберете A, където A не съдържа" https "")

Това издърпва всички туитове, които нямат връзка в колона А на раздела ви за обработка.

Сега трябва да намерим последния туит в тази колона. Поставете следната формула в клетка B7 на раздела за обработка:

= ИНДЕКС (FILTER (A: A, NOT (ISBLANK (A: A))), ROWS (FILTER (A: A, NOT (ISBLANK (A: A)))))

Сега искаме да направим няколко замени, за да направим туита по -лесен за четене на Alexa. Те всъщност могат да бъдат едно в една клетъчна формула, но ги разбих за яснота:

В клетката В6 на раздела Обработка:

= trim (regexreplace (B7, "#", "Hashtag"))

Това разглежда съдържанието на клетката по -долу и заменя знака # с думата "Hashtag"

В клетка В5 поставете следващата итерация:

= trim (regexreplace (B6, "@", "at"))

Вие схващате идеята.

В клетка В4 паста:

= trim (regexreplace (B6, "&", "и"))

В клетка В3:

= подрязване (regexreplace (B6, "%", "процент"))

В клетка В2 ще поставим малко по -сложна формула:

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

Този просто се отървава от НИЩО, което не е цифра, буква или една от пунктуационните точки, които Алекса разбира.

В клетка В1 просто ще копираме последния туит:

= индекс (B2)

Това е крайният текст и можете да програмирате сюжетна линия, за да грабнете тази клетка, ако знаете малко JSON, но за да опростя нещата в края на сюжета, обичам да копирам съдържанието в раздела „На живо от IFTTT“, като поставя това формула в A2 в раздела „На живо от 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 заявка, доставена чрез API на Google Sheets: Това всъщност не е нищо повече от фантастичен URL адрес.

  1. Щракнете върху малката икона вдясно в новия си блок, за да добавите JSON заявка.
  2. Назовете вашата заявка за API. Нарекох моя „GetGodTweet“
  3. Намерете URL адреса на електронната си таблица, като направите това:

    1. Кликнете върху Файл -> Публикуване в мрежата в електронната си таблица.
    2. Използвайте стойностите по подразбиране и просто щракнете върху „Публикуване“
    3. Копирайте URL адреса и го поставете във файл с бележки.

Моят пример е:

https://docs.google.com/spreadsheets/d/e/2PACX-1vSUnz43PEORZbBES1lQ8ZlJjH_4voh4Guc6SWrfjeGk2bZlY5EBYzLD5-fT633ygo_35Jz97cuUwKuy/twg, който ще ви е необходим, за да извлечете този код Това е битът между /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. В следващото поле ще създадете променлива със съдържанието на клетка А2 на първия си раздел, като поставите тази формула в:

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

Променливата се нарича "tweet". Копира съдържанието от основния раздел 0.

Сега, ако добавите блок „Alexa Says“под вашата заявка JSON и поставите само думата {{tweet}} в фигурни скоби, Alexa ще каже съдържанието на клетката. Уверете се, че регистърът съответства на променливата, която сте посочили в стъпка 4 !!!

Натиснете бутона PLAY на Storyline и проверете уменията си! Ако получите думата „Null“, това означава, че нещо се обърка с вашата заявка за API.

Това е наистина за основните умения. Добавих забавен малък аудио подпис с друг MP3 и попитах дали потребителят иска да чуе по -стар туит. Следващата стъпка ви показва хубав трик за генериране на случаен по -стар туит, но е глазура за тези, които искат да придадат на уменията си допълнителна използваемост.

Стъпка 6: Допълнително по избор: Генериране на случаен резултат от Google Sheets за четене на Alexa

Допълнително по избор: Генериране на случаен резултат от Google Таблици за четене от Alexa
Допълнително по избор: Генериране на случаен резултат от Google Таблици за четене от Alexa

Ако искате да генерирате на случаен принцип един от набор от по -стари туитове, ето един изящен трик.

Създадох трети раздел в електронната си таблица, наречен „По -стари туитове“. Всички те заемат клетки A1-A36 в електронната ми таблица

  1. В Storyline създайте нов блок, наречен „Oldertweets“
  2. Добавете стъпка за заявка JSON
  3. Дайте му име
  4. В полето URL използвайте същия URL адрес на API, който сте конструирали с вашия ID на електронна таблица в стъпката „Последен туит“, с един вариант:

    Променете бита към края, който казва/od6/basic/public на/3/basic/public - това извиква TAB 3 вместо Tab 1

  5. Изберете „ВЗЕМИ“
  6. Оставете заглавките празни
  7. В следващото поле поставете това:

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

Създали сте нова променлива, наречена "oldtweet" и тази малка дума "random" означава, че променливата ще се променя всеки път, когато се извика JSON заявката.

Добавете още една стъпка „Alexa Says“и вмъкнете новата си променлива, {{oldtweet}} с тези къдрави скоби. Бум! Случайна доброта!

Ако ви хареса този Instructable, моля, дайте на моите умения няколко звезди или преглед!

Препоръчано: