Isi kandungan:

Kemahiran Alexa: Baca Tweet Terkini (dalam Perkara ini, Tuhan): 6 Langkah
Kemahiran Alexa: Baca Tweet Terkini (dalam Perkara ini, Tuhan): 6 Langkah

Video: Kemahiran Alexa: Baca Tweet Terkini (dalam Perkara ini, Tuhan): 6 Langkah

Video: Kemahiran Alexa: Baca Tweet Terkini (dalam Perkara ini, Tuhan): 6 Langkah
Video: PPT Jilid 14 - Viral Mempertanyakan Kesiapan Alexandria Untuk Menikah!! | Episode 1 Part 4/4 2024, Mungkin
Anonim
Alexa Skill: Baca Tweet Terkini (dalam Kes ini, Tuhan)
Alexa Skill: Baca Tweet Terkini (dalam Kes ini, Tuhan)

Saya membuat Kemahiran Alexa untuk membaca "Tweet Terkini Tuhan" - kandungannya, iaitu dari @TweetOfGod, akaun 5 juta + pelanggan yang dibuat oleh bekas penulis komedi Daily Show. Ia menggunakan IFTTT (If This Then That), Google Spreadsheet, dan Alexa Skill Builder, Storyline yang sangat mudah digunakan.

Untuk mendapatkan idea mengenai hasil akhirnya, anda boleh menambahkan kemahiran itu ke Perangkat Alexa anda di sini, atau anda dapat melihat kemahiran tersebut di Storyline jika akaun Alexa anda tidak ada di AS atau anda tidak mempunyai peranti Alexa.

Sekiranya anda ingin membina kemahiran Alexa yang membaca tweet, ini adalah kaedah yang agak mudah untuk melakukannya. Tidak ada pengekodan yang terlibat jika anda hanya menggunakan templat saya, tetapi jika anda ingin berjalan jauh, ia berguna untuk mengetahui sedikit mengenai kod secara umum dan khususnya bagaimana panggilan JSON disusun. Tetapi jika anda hanya meniru kemahiran ini untuk akaun Twitter yang berbeza, itu tidak memerlukan kemahiran teknikal selain memotong dan menampal.

Apa yang anda perlukan:

  • Peranti Alexa (atau akaun dengan Echoism.io - simulator maya Alexa yang hebat)
  • Akaun Pembangun Alexa
  • Akaun google untuk membuat hamparan dengan
  • Akaun dengan Jalan cerita
  • Akaun dengan Jika Ini Kemudian (IFTTT)
  • Akaun dropbox atau tempat di mana anda dapat menghoskan fail mp3 di pelayan yang selamat

Semua akaun ini percuma.

Saya tidak akan menerangkan dengan terperinci mengenai asas-asas bagaimana membuat kemahiran Storyline - terdapat tutorial yang sangat baik di laman web ini untuk belajar bagaimana membuat blok, menghubungkannya, dan merangkumi antara keadaan. Tutorial ini akan menumpukan pada tiga perkara yang saya pelajari untuk membina kemahiran ini: memasukkan kesan suara MP3 ke dalam kemahiran anda, menghubungkan kandungan twitter melalui IFTTT dan Helaian Google, dan bagaimana menghasilkan tweet rawak dari sekumpulan pilihan yang telah dibuat sebelumnya.

(Dan teriakan besar kepada Alexa Skill Developer George Collier, yang tutorialnya bagus untuk menyatukan twitter ke dalam Alexa membuat saya bermula.)

Langkah 1: Langkah 1: Fikirkan Tentang Aliran Keseluruhan Kemahiran Anda

Langkah 1: Fikirkan Tentang Aliran Keseluruhan Kemahiran Anda
Langkah 1: Fikirkan Tentang Aliran Keseluruhan Kemahiran Anda

Jalan cerita adalah kaedah hebat untuk mencipta kemahiran Alexa dengan pengekodan yang sedikit atau tidak. Anda boleh menyeret dan melepaskan blok ke tempatnya dan mengatur sambungan dan jalan antara tindakan melalui antara muka grafik yang mudah difahami. Sekiranya anda pernah menggunakan Paip Yahoo, anda akan mengenali antara muka.

Sekarang, salah satu perkara menarik mengenai Storyline adalah menjadikannya agak mudah untuk membuat Alexa menyampaikan hasil dari sebarang pertanyaan JSON. Mendapatkan data dari Google Spreadsheet adalah mudah dengan pertanyaan JSON. Mendapatkan tweet KE DALAM spreadsheet google dengan Jika Ini Lebih mudah. Mudah. Mudah. Mudah.

Saya rasa yang terbaik adalah hanya menggambarkan keseluruhan kemahiran anda secara abstrak sebelum anda memulakannya.

Semasa saya memikirkan tentang kemahiran saya, saya tahu tujuan utamanya adalah menyampaikan tweet terbaru. Tetapi saya dapat meningkatkannya dengan sedikit reka bentuk suara (Jalan Cerita membolehkan kemahiran anda memainkan MP3 apa pun), dan satu tweet mungkin tidak cukup untuk memberi orang rasa akaun - saya dapat menyimpan beberapa tweet lama dan membiarkan pengguna mendengar salah satunya selepas yang terbaru. Jadi lakaran aliran kemahiran saya mungkin kelihatan seperti ini:

  1. Sambut pengguna dengan sedikit teks lisan dan suara pengenalan yang sesuai
  2. Baca tweet terbaru
  3. Mainkan bunyi tandatangan
  4. Tanya pengguna jika mereka ingin mendengar tweet lama
    1. Ya? Baca tweet lama.
    2. Mainkan bunyi tandatangan
    3. Tidak? Keluar dari kemahiran.

Sumber "Tweet Terkini" adalah hamparan google, yang diberi makan oleh skrip If This Then That. Proses itu kelihatan seperti ini:

  1. JIKA ada tweet baru dari akaun @TweetOfGod, ia akan disalin ke dalam hamparan
  2. Sekiranya tweet mengandungi pautan atau gambar, hamparan menyaringnya
  3. Sekiranya tweet itu retweet, spreadsheet menyaringnya
  4. Tweet yang diperoleh oleh kedua-dua penapis tersebut kemudian diproses untuk dibaca: # diganti dengan kata "Hashtag" dan beberapa watak lain diganti dengan setara yang dapat dibaca
  5. Tweet terakhir disalin ke dalam sel "tweet terbaru" yang dibaca oleh Alex

Langkah 2: Langkah 2: Buat Blok Selamat Datang dengan Suara Pengenalan

Langkah 2: Buat Blok Selamat Datang dengan Suara Pengenalan
Langkah 2: Buat Blok Selamat Datang dengan Suara Pengenalan
Langkah 2: Buat Blok Selamat Datang dengan Suara Pengenalan
Langkah 2: Buat Blok Selamat Datang dengan Suara Pengenalan
Langkah 2: Buat Blok Selamat Datang dengan Suara Pengenalan
Langkah 2: Buat Blok Selamat Datang dengan Suara Pengenalan

Sebelum Alexa membaca tweet terbaru, saya menghasilkan satu daripada empat suara surgawi secara rawak. Ini adalah MP3 yang telah diproses untuk Alexa melalui jalan cerita. Saya menjumpai MP3 saya di Freesound (Dan semua yang ada di sana adalah percuma, tetapi jadilah manusia yang baik dan tinggalkan tip).

  1. Muat turun MP3 anda. Ia perlu kurang dari 90 saat. Alexa sangat mementingkan format. Sekiranya anda tahu itu MPEG Versi 2 dan 48kps, anda boleh melangkau langkah seterusnya. Tetapi jika anda tidak tahu atau ada yang berbeza, senang ditukar.
  2. Muat naik ke Storyline untuk diproses di Audio Converter mereka
  3. Hoskan audio yang anda muat turun di pelayan

Sekiranya langkah 3 telah anda lakukan "LAKUKAN APA SEKARANG?" anda mungkin tidak mempunyai akses ke pelayan https yang boleh anda hoskan fail anda. Jangan risau, anda boleh melakukannya dengan dropbox. Anda memerlukan akaun, tetapi sekali lagi, akaun percuma adalah baik. Berikut adalah langkah-langkahnya:

  1. Pergi ke https://www.dropbox.com/h dan log masuk ke akaun anda.
  2. Klik butang Muat naik fail
  3. Pilih fail mp3 yang anda tukar.
  4. Klik Kongsi
  5. Klik Buat pautan dan Salin pautan
  6. Pada pautan yang anda salin, ganti "dropbox" dengan "dl.dropboxusercontent" tanpa tanda petik
  7. Salin URL itu

Anda sekarang akan pergi ke bahagian bawah blok selamat datang anda dan klik ikon nota Muzik.

Tampal URL anda. Sekiranya anda ingin menambahkan variasi rawak, ulangi proses untuk beberapa MP3 lagi dan klik pada menu Hamburger di bawah kotak tampal URL.

Langkah 3: Langkah 3: Sediakan IFTTT

Langkah 3: Sediakan IFTTT
Langkah 3: Sediakan IFTTT
  1. Pergi ke akaun IFTTT anda dan pilih "Buat applet baru"
  2. Pilih TWITTER sebagai Perkhidmatan JIKA.
  3. Pilih "Tweet baru oleh pengguna tertentu sebagai Pencetus. Isi nama akaun yang ingin anda ikuti
  4. Pilih "Helaian Google" sebagai perkhidmatan KEMUDIAN
  5. Pilih "Tambah Baris ke Spreadsheet"
  6. Di Medan "Baris Berformat", alih keluar semua kecuali medan {{TEXT}}.
  7. Buat kemahiran anda.

Ini membuat spreadsheet baru dan menambahkan baris setiap kali tweet baru keluar. Anda mungkin lebih suka menggunakan satu sel pada hamparan anda dan hanya menimpa kandungannya setiap masa. Sekiranya demikian, pada langkah 5 anda boleh memilih pilihan untuk menulis ke satu sel. Saya suka menyimpan rekod tweet, kerana saya secara berkala memindahkan tweet yang tidak bersifat topikal atau bertindak balas terhadap berita ke spreadsheet "Tua Lama". Ketahuilah bahawa jika anda memilih pilihan ini, anda perlu melakukan penyelenggaraan pada helaian anda: yang baru akan dibuat selepas 2000 baris.

Langkah 4: Langkah 4: Sediakan Helaian Google Anda

Langkah 4: Sediakan Helaian Google Anda
Langkah 4: Sediakan Helaian Google Anda
Langkah 4: Sediakan Helaian Google Anda
Langkah 4: Sediakan Helaian Google Anda
Langkah 4: Sediakan Helaian Google Anda
Langkah 4: Sediakan Helaian Google Anda

Lembaran Google ini adalah inti dari kemahiran tertentu ini, kerana ia menyaring tweet yang tidak berfungsi dengan baik dengan Alexa (tweet yang merujuk kepada gambar, misalnya, atau tweet dengan pautan) dan ia menjadikan tweet hanya teks lebih banyak lagi Alexa -berkerjasama dengan beberapa penggantian mudah.

Biarkan IFTT membuat spreadsheet anda dengan beberapa entri - jadi tunggu beberapa tweet dari akaun yang dijejaki oleh pelacak anda ke sana, buka Google Helaian, dan urutkan mengikut masa dibuat. Anda akan melihat hamparan baru anda yang berkilat tepat di atas. Sekarang, setiap tweet baru akan berada di baris baru, jadi kami ingin membuat formula yang akan menyaring tweet yang mempunyai pautan atau gambar dan berjalan untuk mencari yang terakhir di lajur.

Anda boleh meniru salinan hamparan saya ini atau membuat sendiri dengan langkah-langkah berikut:

  1. Namakan semula tab dengan tweet di dalamnya "Langsung dari IFTTT"
  2. Tambahkan Tab yang disebut "Memproses Tweet" ke hamparan
  3. Tambahkan formula ini ke dalam sel A8 tab Pemprosesan Tweet:

= QUERY ('Langsung dari IFTTT'! A3: A2000, "Pilih A Di mana tidak A mengandungi 'https'")

Itu menarik semua tweet yang tidak mempunyai pautan ke Lajur A tab pemprosesan anda.

Sekarang kita perlu mencari tweet terakhir di ruangan itu. Tampalkan formula berikut ke dalam sel B7 tab pemprosesan:

= INDEX (FILTER (A: A, NOT (ISBLANK (A: A))), ROWS (FILTER (A: A, NOT (ISBLANK (A: A)))))

Sekarang kami ingin melakukan beberapa penggantian untuk memudahkan tweet membaca Alexa. Ini semua boleh menjadi satu dalam formula sel tunggal, tetapi saya memecahkannya kerana kejelasan:

Dalam sel B6 tampal tab Pemprosesan:

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

Yang melihat kandungan sel di bawah dan menggantikan tanda # dengan perkataan "Hashtag"

Dalam Sel B5 tampal lelaran seterusnya:

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

Anda mendapat idea.

Dalam pes B4 Sel:

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

Dalam Sel B3:

= trim (regexreplace (B6, "%", "peratus"))

Dalam Sel B2 kita akan meletakkan formula yang sedikit lebih rumit:

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

Yang satu ini hanya menyingkirkan APA YANG bukan nombor, huruf, atau salah satu tanda baca yang difahami oleh Alexa.

Dalam Sel B1 kita hanya akan menyalin tweet terakhir:

= indeks (B2)

Itulah teks terakhir dan anda boleh memprogram jalan cerita untuk mencengkam sel itu jika anda mengetahui sedikit JSON, tetapi untuk membuat sesuatu menjadi lebih mudah di hujung jalan cerita, saya ingin menyalin kandungannya ke tab "Langsung dari IFTTT" dengan meletakkan ini formula di A2 di tab "Langsung dari IFTTT":

= 'Pusat Pemprosesan'! B1

Groovy. Sekarang spreadsheet anda sudah siap dan siap dibaca oleh pertanyaan Storyline JSON.

Langkah 5: Langkah 5: Siapkan Pertanyaan JSON "Tweet Terkini" Anda di Jalan Cerita

Langkah 5: Siapkan Anda
Langkah 5: Siapkan Anda
Langkah 5: Siapkan Anda
Langkah 5: Siapkan Anda
Langkah 5: Siapkan Anda
Langkah 5: Siapkan Anda
  1. Pergi ke blok sambutan kemahiran jalan cerita anda dan tambahkan langkah "Apa Kata Alexa".
  2. Tambahkan frasa pengenalan seperti "Inilah tweet terbaru dari TheTweetOfGod:"
  3. Gunakan Menu Hamburger untuk menambahkan variasi
  4. Klik pada anak panah ke kanan dan pilih "Buat Blok Baru"

Saya memanggil blok baru saya "Dapatkan Tweet Tuhan" Tugas di sini adalah mengambil tweet terbaru yang disaring dari sel spreadsheet A2 dari tab utama. Anda melakukannya dengan mengambil data dengan permintaan JSON yang dihantar melalui Google Sheets API: Ini sebenarnya tidak lebih daripada URL mewah.

  1. Klik ikon kecil di sebelah kanan blok baru anda untuk menambahkan permintaan JSON.
  2. Namakan permintaan API anda. Saya memanggil saya "GetGodTweet"
  3. Cari URL hamparan anda dengan melakukan ini:

    1. Klik pada Fail -> Terbitkan Ke Web dalam hamparan anda.
    2. Gunakan nilai lalai dan klik "Terbitkan"
    3. Salin URL dan tempelkan ke dalam fail nota.

Contoh saya ialah:

https://docs.google.com/spreadsheets/d/e/2PACX-1vSUnz43PEORZbBES1lQ8ZlJjH_4voh4Guc6SWrfjeGk2bZlY5EBYzLD5-fT633ygo_35Jz97cuUwKuy/panduan bahawa anda perlu mengekstrak panjang dari permintaan anda. Ini adalah sedikit antara / d / e dan seterusnya / charcter. Jadi dalam kes ini:

2PACX-1vSUnz43PEORZbBES1lQ8ZlJjH_4voh4Guc6SWrfjeGk2bZlY5EBYzLD5-fT633ygo_35Jz97cuUwKuy

Anda menukar nombor panjang untuk bit dalam url berikut yang bertuliskan "SPREASHEET_ID":

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

  1. Sekarang ambil url ITU, dan tampal ke dalam kotak URL dari JSON Query di Storyline.
  2. Pilih pilihan "DAPATKAN"
  3. Biarkan Kotak "Header" kosong
  4. Di kotak seterusnya, anda akan membuat pemboleh ubah dengan kandungan Cell A2 tab pertama anda dengan menampal formula ini di:

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

Pemboleh ubah tersebut dinamakan "tweet". Ia menyalin kandungan dari tab utama 0.

Sekarang jika anda menambahkan blok "Alexa Says" di bawah pertanyaan JSON anda, dan memasukkan kata {{tweet}} ke dalam kurungan keriting, Alexa akan mengatakan isi sel tersebut. Pastikan kes sesuai dengan pemboleh ubah yang anda namakan pada langkah 4 !!!

Tekan butang PUTAR di Jalan Cerita dan uji kemahiran anda! Sekiranya anda mendapat perkataan "Null", ini bermakna ada masalah dengan permintaan API anda.

Itu betul-betul untuk kemahiran asas. Saya menambahkan tandatangan audio kecil yang lucu dengan MP3 lain, dan bertanya adakah pengguna ingin mendengar tweet yang lebih lama. Langkah seterusnya menunjukkan trik bagus untuk menghasilkan tweet lama yang rawak, tetapi membeku bagi mereka yang ingin membawa kemahiran mereka kegunaan tambahan.

Langkah 6: Tambahan Pilihan: Menjana Hasil Rawak Dari Helaian Google untuk Alexa Baca

Tambahan Pilihan: Menjana Hasil Rawak Dari Helaian Google untuk Alexa Baca
Tambahan Pilihan: Menjana Hasil Rawak Dari Helaian Google untuk Alexa Baca

Sekiranya anda ingin menghasilkan satu daripada tweet lama secara rawak, berikut adalah helah yang bagus.

Saya membuat tab ketiga dalam hamparan saya yang disebut "Tweet Lama". Semua ini menempati sel A1-A36 di hamparan saya

  1. Di Jalan Cerita, buat blok baru yang disebut "Oldertweets"
  2. Tambahkan langkah Pertanyaan JSON
  3. Beri nama
  4. Di kotak URL, gunakan URL API yang sama yang anda buat dengan ID Spreadsheet anda dalam langkah Tweet Terkini, dengan satu variasi:

    Tukar bit ke hujung yang mengatakan / od6 / basic / public to / 3 / basic / public - ini memanggil TAB 3 dan bukannya Tab 1

  5. Pilih "DAPATKAN"
  6. Biarkan Pengepala kosong
  7. Di kotak seterusnya, tampal ini:

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

Anda telah membuat pemboleh ubah baru, yang disebut "oldtweet" dan perkataan kecil "rawak" bermaksud pemboleh ubah akan berubah setiap kali pertanyaan JSON dipanggil.

Tambahkan langkah "Alexa Says" yang lain dan masukkan pemboleh ubah baru anda, {{oldtweet}} dengan tanda kurung keriting tersebut. Boom! Kebaikan secara rawak!

Sekiranya anda menikmati Instructable ini, sila beri kemahiran saya beberapa bintang atau ulasan!

Disyorkan: