Съдържание:
- Стъпка 1: Стъпка 1: Помислете за цялостния поток на вашите умения
- Стъпка 2: Стъпка 2: Създайте хубав блок за добре дошли с въвеждащ звук
- Стъпка 3: Стъпка 3: Настройте IFTTT
- Стъпка 4: Стъпка 4: Настройте своя Google лист
- Стъпка 5: Стъпка 5: Настройте JSON заявката си „Последен туит“в Storyline
- Стъпка 6: Допълнително по избор: Генериране на случаен резултат от Google Sheets за четене на Alexa
Видео: Alexa Skill: Прочетете последния туит (в този случай, Божий): 6 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:51
Направих умение на 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: Помислете за цялостния поток на вашите умения
Storyline е фантастичен начин да създадете умения на Alexa с малко или без кодиране. Можете да плъзгате и пускате блокове на място и да настройвате връзки и пътища между действия чрез лесен за разбиране графичен интерфейс. Ако някога сте използвали Yahoo Pipes, ще разпознаете интерфейса.
Едно от готините неща за Storyline е, че улеснява сравнително лесно да накарате Alexa да говори за резултатите от всяка JSON заявка. Извличането на данни от електронна таблица на Google е лесно с JSON заявки. Получаването на туитове в електронна таблица на Google с If This Than That е лесно. Лесно. Лесно. Лесно.
Смятам, че е най -добре просто да визуализираш цялото си умение абстрактно, преди да започнеш.
Когато се замислих за уменията си, знаех, че основната им цел е просто да доставя най -новия туит. Но бих могъл да подобря това с малко звуков дизайн (Storyline позволява вашето умение да възпроизвеждате всеки MP3), а един туит може да не е достатъчен, за да даде на хората вкус на акаунта - мога да запася някои от по -старите туитове и да позволя потребителят чува един от тези след последния. Така че моята скица на потока умения може да изглежда така:
- Посрещнете потребителя с малко изговарян текст и подходящ уводен звук
- Прочетете най -новия туит
- Пуснете звук с подпис
-
Попитайте потребителя дали би искал да чуе по -стар туит
- Да? Прочетете по -стар туит.
- Пуснете звука на подписа
- Не? Излезте от умението.
Източникът на „Последен туит“е електронна таблица в Google, захранвана от скрипта If This Then That. Този процес изглежда така:
- АКО има нов туит от профила на @TweetOfGod, той се копира в електронната таблица
- Ако туитът съдържа връзка или изображение, електронната таблица го филтрира
- Ако туитът е ретуит, електронната таблица го филтрира
- След това туитовете, получени от тези два филтъра, се обработват за четене: # се заменя с думата "Hashtag" и няколко други знака се заменят с четими еквиваленти
- Последният туит се копира в клетката „последен туит“, която Алекс чете
Стъпка 2: Стъпка 2: Създайте хубав блок за добре дошли с въвеждащ звук
Преди Алекса да прочете последния туит, аз произволно генерирам един от четирите хумористични небесни звука. Това са MP3 файлове, които са обработени за Alexa по сюжет. Намерих MP3 файловете си на Freesound (И всичко там наистина е безплатно, но бъдете прилично човешко същество и оставете бакшиш).
- Изтеглете вашия MP3. Трябва да е по -малко от 90 секунди. Alexa е специално за формата. Ако знаете, че това е MPEG версия 2 и 48kps, можете да пропуснете следващата стъпка. Но ако не знаете или е нещо различно, лесно е да конвертирате.
- Качете го в Storyline за обработка в техния аудио конвертор
- Хоствайте изтегленото си аудио на HTTPS сървър
Ако стъпка 3 отивате ли „НАПРАВЕТЕ КАКВО СЕГА?“вероятно нямате достъп до https сървър, на който можете да хоствате вашите файлове. Не се притеснявайте, можете да направите това с dropbox. Ще ви трябва акаунт, но отново безплатен е добре. Ето стъпките:
- Отидете на https://www.dropbox.com/h и влезте в профила си.
- Щракнете върху бутона Качване на файлове
- Изберете mp3 файла, който сте преобразували.
- Щракнете върху Споделяне
- Щракнете върху Създаване на връзка и Копирайте връзката
- В връзката, която сте копирали, заменете „dropbox“с „dl.dropboxusercontent“без кавичките
- Копирайте този URL адрес
Сега ще отидете в долната част на блока за добре дошли и щракнете върху иконата Музикална нота.
Поставете своя URL адрес. Ако искате да добавите произволни варианти, повторете процеса за още няколко MP3 и кликнете върху менюто Hamburger под полето за поставяне на URL.
Стъпка 3: Стъпка 3: Настройте IFTTT
- Отидете на вашия акаунт в IFTTT и изберете „Създаване на нов аплет“
- Изберете TWITTER като IF услуга.
- Изберете „Нов туит от конкретен потребител като тригер. Попълнете името на акаунта, който искате да следвате
- Изберете „Google Sheets“като услуга THEN
- Изберете „Добавяне на ред към електронна таблица“
- В полето „Форматиран ред“премахнете всичко освен полето {{TEXT}}.
- Създайте своето умение.
Това създава нова електронна таблица и добавя ред всеки път, когато излезе нов туит. Може да предпочетете да използвате една клетка в електронната си таблица и просто да презаписвате съдържанието й всеки път. В този случай в стъпка 5 можете да изберете опцията за запис в една клетка. Обичам да записвам туитовете, тъй като периодично премествам тези, които не са актуални или реагират на новини, в електронна таблица „По -стари туитове“. Имайте предвид, че ако изберете тази опция, ще трябва да извършите известна поддръжка на вашия лист: нова ще бъде създадена след 2000 реда.
Стъпка 4: Стъпка 4: Настройте своя Google лист
Този Google Sheet е сърцето на това конкретно умение, тъй като филтрира туитове, които не работят много добре с Alexa (туитове, които се отнасят например до изображения или туитове с връзки) и прави много повече текстови туитове Alexa -приятелски с няколко прости замени.
Оставете IFTT да създаде вашата електронна таблица с няколко записа - така че просто изчакайте няколко туитове от акаунта, в който проследяването ви да попадне там, отворете Google Таблици и сортирайте по време на създаване. Ще видите вашата лъскава нова електронна таблица точно отгоре. Сега всеки нов туит ще бъде в нов ред, затова искаме да създадем формула, която да филтрира туитовете, които имат връзки или изображения, и да премине, за да намери последния в колоната.
Можете просто да копирате това копие на електронната ми таблица или можете да създадете свой собствен със следните стъпки:
- Преименувайте раздела с туитове в него „На живо от IFTTT“
- Добавете раздел, наречен „Обработка на туитове“към електронната таблица
- Добавете тази формула в клетка 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
- Отидете в приветствения блок на вашето умение за сюжетна линия и добавете стъпка „Какво казва Алекса“.
- Добавете уводна фраза като „Ето последния туит от TheTweetOfGod:“
- Използвайте менюто за хамбургер, за да добавите варианти
- Кликнете върху малката стрелка надясно и изберете „Създаване на нов блок“
Нарекох новия си блок „Get God Tweet“Задачата тук е да извлечем този последен филтриран туит от клетката на електронната таблица A2 на основния раздел. Можете да направите това, като извлечете данните с JSON заявка, доставена чрез API на Google Sheets: Това всъщност не е нищо повече от фантастичен URL адрес.
- Щракнете върху малката икона вдясно в новия си блок, за да добавите JSON заявка.
- Назовете вашата заявка за API. Нарекох моя „GetGodTweet“
-
Намерете URL адреса на електронната си таблица, като направите това:
- Кликнете върху Файл -> Публикуване в мрежата в електронната си таблица.
- Използвайте стойностите по подразбиране и просто щракнете върху „Публикуване“
- Копирайте 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“
- Сега вземете този URL адрес и го поставете в полето URL на JSON заявката в Storyline.
- Изберете опцията „ВЗЕМИ“
- Оставете полето „Заглавки“празно
- В следващото поле ще създадете променлива със съдържанието на клетка А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
Ако искате да генерирате на случаен принцип един от набор от по -стари туитове, ето един изящен трик.
Създадох трети раздел в електронната си таблица, наречен „По -стари туитове“. Всички те заемат клетки A1-A36 в електронната ми таблица
- В Storyline създайте нов блок, наречен „Oldertweets“
- Добавете стъпка за заявка JSON
- Дайте му име
-
В полето URL използвайте същия URL адрес на API, който сте конструирали с вашия ID на електронна таблица в стъпката „Последен туит“, с един вариант:
Променете бита към края, който казва/od6/basic/public на/3/basic/public - това извиква TAB 3 вместо Tab 1
- Изберете „ВЗЕМИ“
- Оставете заглавките празни
- В следващото поле поставете това:
oldtweet = api_response.feed.entry.random.title. $ t
Създали сте нова променлива, наречена "oldtweet" и тази малка дума "random" означава, че променливата ще се променя всеки път, когато се извика JSON заявката.
Добавете още една стъпка „Alexa Says“и вмъкнете новата си променлива, {{oldtweet}} с тези къдрави скоби. Бум! Случайна доброта!
Ако ви хареса този Instructable, моля, дайте на моите умения няколко звезди или преглед!
Препоръчано:
Използвайте Fusion, за да направите този дървен инструмент!: 4 стъпки
Използвайте Fusion, за да направите този дървен инструмент!: Това е един от най -простите проекти, които направих с помощта на Fusion 360, за да помогна на начинаещите да започнат със софтуера. Той показва някои основни функции на софтуера и е твърде лесно да отнеме много време. Изисква се софтуер: Fusion 360 от Autodesk Предварителни изисквания
Подобрете този евтин NCVT: 6 стъпки (със снимки)
Подобрете този евтин NCVT: NCVT е безконтактен тестер за напрежение. Те могат да бъдат много удобни, въпреки че не е надежден индикатор, няма напрежение в мрежата. Много зависи от чувствителността на тестера и техниката на потребителя. Препоръчителната практика е да проверите тестера
Бъдете в безопасност, като използвате този велосипед с мигачи: 5 стъпки (със снимки)
Бъдете в безопасност, като използвате този велосипед с мигачи: Обичам да карам колелото си, обикновено го използвам, за да стигна до училище. През зимата най -често навън е все още тъмно и за други превозни средства е трудно да видят мигачите на ръката ми. Следователно това е голяма опасност, защото камионите може да не видят, че искам да
Изградете този 5Hz до 400KHz LED Sweep генератор на сигнали от комплекти: 8 стъпки
Изградете този 5Hz до 400KHz LED Sweep Signal Generator от комплекти: Изградете този лесен генератор на сигнали за почистване от лесно достъпни комплекти. по това време, който е бил генератор на сигнали. Исках
Следвайте този светодиод!: 3 стъпки
Следвайте този светодиод !: Това е игра, която направих подобно на играта за бърза реакция на Pythons, но вместо да се опитвате първо да натиснете бутона, вие се опитвате да следвате светодиодите. Светлината работи в произволен ред между три LED светлини, целта на играта е да получите колкото се може повече