Daftar Isi:

Alexa Skill: Baca Tweet Terbaru (Dalam Hal Ini, Tuhan): 6 Langkah
Alexa Skill: Baca Tweet Terbaru (Dalam Hal Ini, Tuhan): 6 Langkah

Video: Alexa Skill: Baca Tweet Terbaru (Dalam Hal Ini, Tuhan): 6 Langkah

Video: Alexa Skill: Baca Tweet Terbaru (Dalam Hal Ini, Tuhan): 6 Langkah
Video: #short #viral cewe hijab dicium di mall 2024, Mungkin
Anonim
Alexa Skill: Baca Tweet Terbaru (Dalam Hal Ini, Tuhan)
Alexa Skill: Baca Tweet Terbaru (Dalam Hal Ini, Tuhan)

Saya membuat Alexa Skill untuk membaca "Tweet Terbaru Tuhan" -- kontennya, yaitu dari @TweetOfGod, akun 5 juta+ pelanggan yang dibuat oleh mantan penulis komedi Daily Show. Ini menggunakan IFTTT (Jika Ini Kemudian Itu), Google Spreadsheet, dan Pembuat Keterampilan Alexa yang sangat mudah digunakan, Storyline.

Untuk mendapatkan gambaran tentang hasil akhirnya, Anda dapat menambahkan keterampilan ke Perangkat Alexa Anda di sini, atau Anda dapat melihat pratinjau keterampilan di Storyline jika akun Alexa Anda tidak ada di AS atau Anda tidak memiliki perangkat Alexa.

Jika Anda ingin membangun keterampilan Alexa yang membaca tweet, ini adalah cara yang relatif mudah untuk melakukannya. Tidak ada pengkodean yang terlibat jika Anda hanya menggunakan templat saya, tetapi jika Anda ingin menyimpang dari jalur, ada baiknya mengetahui sedikit tentang kode secara umum dan khususnya bagaimana panggilan JSON terstruktur. Tetapi jika Anda hanya mereplikasi keterampilan ini untuk akun Twitter yang berbeda, itu tidak akan memerlukan keterampilan teknis selain memotong dan menempel.

Yang Anda perlukan:

  • Perangkat Alexa (atau akun dengan Echoism.io - simulator virtual Alexa yang hebat)
  • Akun Pengembang Alexa
  • Akun google untuk membuat spreadsheet dengan
  • Akun dengan Storyline
  • Akun dengan If This Then That (IFTTT)
  • Akun dropbox atau tempat Anda dapat meng-host file mp3 di server yang aman

Semua akun ini gratis.

Saya tidak akan membahas banyak detail tentang dasar-dasar cara membuat keterampilan Storyline -- ada tutorial luar biasa di situs untuk mempelajari cara membuat blok, menghubungkannya, dan bercabang di antara kondisi. Tutorial ini akan fokus pada tiga hal yang saya pelajari untuk membangun keterampilan ini: memasukkan efek suara MP3 ke dalam keterampilan Anda, menghubungkan konten twitter melalui IFTTT dan Google Sheets, dan cara menghasilkan tweet acak dari serangkaian opsi yang telah dibuat sebelumnya.

(Dan teriakan besar untuk Pengembang Keterampilan Alexa George Collier, yang tutorialnya luar biasa tentang integrasi twitter ke dalam Alexa membuat saya memulai.)

Langkah 1: Langkah 1: Pikirkan Tentang Aliran Keseluruhan Keterampilan Anda

Langkah 1: Pikirkan Tentang Aliran Keseluruhan Keterampilan Anda
Langkah 1: Pikirkan Tentang Aliran Keseluruhan Keterampilan Anda

Alur cerita adalah cara yang fantastis untuk membuat keterampilan Alexa dengan sedikit atau tanpa pengkodean. Anda dapat menyeret-dan-melepaskan blok ke tempatnya dan mengatur koneksi dan jalur antara tindakan melalui antarmuka grafis yang mudah dipahami. Jika Anda pernah menggunakan Yahoo Pipes, Anda akan mengenali antarmukanya.

Sekarang, salah satu hal keren tentang Storyline adalah membuatnya cukup mudah untuk membuat Alexa mengucapkan hasil kueri JSON apa pun. Mendapatkan data dari Google Spreadsheet mudah dilakukan dengan kueri JSON. Mendapatkan tweet KE dalam spreadsheet google dengan If This Than That mudah. Mudah. Mudah. Mudah.

Saya menemukan yang terbaik untuk hanya memvisualisasikan seluruh keterampilan Anda secara abstrak sebelum Anda mulai.

Ketika saya berpikir tentang keahlian saya, saya tahu bahwa tujuan utamanya hanya untuk menyampaikan tweet terbaru. Tapi saya bisa meningkatkannya dengan sedikit desain suara (Storyline memungkinkan keahlian Anda memainkan MP3 apa pun, dan satu tweet mungkin tidak cukup untuk memberi kesan kepada orang-orang tentang akun tersebut -- saya bisa menimbun beberapa tweet lama dan membiarkannya pengguna mendengar salah satunya setelah yang terbaru. Jadi sketsa aliran keterampilan saya mungkin terlihat seperti ini:

  1. Sambut pengguna dengan sedikit teks lisan dan suara pengantar yang sesuai
  2. Baca twit terbaru
  3. Mainkan suara tanda tangan
  4. Tanyakan kepada pengguna apakah mereka ingin mendengar tweet lama
    1. Ya? Baca tweet lama.
    2. Mainkan suara tanda tangan
    3. Tidak? Keluar dari keterampilan.

Sumber "Tweet Terbaru" adalah spreadsheet google, yang diisi oleh skrip If This Then That. Proses itu terlihat seperti ini:

  1. JIKA ada tweet baru dari akun @TweetOfGod, itu akan disalin ke spreadsheet
  2. Jika tweet berisi tautan atau gambar, spreadsheet akan menyaringnya
  3. Jika tweet adalah retweet, spreadsheet akan menyaringnya
  4. Tweet yang diterima oleh kedua filter tersebut kemudian diproses untuk dibaca: # diganti dengan kata "Hashtag" dan beberapa karakter lain diganti dengan padanan yang dapat dibaca
  5. Tweet terakhir disalin ke sel "tweet terbaru" yang dibaca Alex

Langkah 2: Langkah 2: Buat Blok Selamat Datang yang Bagus Dengan Suara Pengantar

Langkah 2: Buat Blok Selamat Datang yang Bagus Dengan Suara Pengantar
Langkah 2: Buat Blok Selamat Datang yang Bagus Dengan Suara Pengantar
Langkah 2: Buat Blok Selamat Datang yang Bagus Dengan Suara Pengantar
Langkah 2: Buat Blok Selamat Datang yang Bagus Dengan Suara Pengantar
Langkah 2: Buat Blok Selamat Datang yang Bagus Dengan Suara Pengantar
Langkah 2: Buat Blok Selamat Datang yang Bagus Dengan Suara Pengantar

Sebelum Alexa membaca tweet terbaru, saya secara acak menghasilkan satu dari empat suara surgawi yang lucu. Ini adalah MP3 yang telah diproses untuk Alexa oleh alur cerita. Saya menemukan MP3 saya di Freesound (Dan semua yang ada di sana benar-benar gratis, tetapi jadilah manusia yang baik dan tinggalkan tip).

  1. Unduh MP3 Anda. Perlu kurang dari 90 Detik. Alexa khusus tentang format. Jika Anda tahu itu MPEG Versi 2 dan 48kps, Anda dapat melewati langkah berikutnya. Tetapi jika Anda tidak tahu atau ada yang berbeda, mudah untuk mengubahnya.
  2. Unggah ke Storyline untuk diproses di Audio Converter mereka
  3. Host audio yang Anda unduh di server

Jika langkah 3 telah Anda pergi "MELAKUKAN APA SEKARANG?" Anda mungkin tidak memiliki akses ke server https tempat Anda dapat meng-host file Anda. Jangan khawatir, Anda bisa melakukannya dengan dropbox. Anda memerlukan akun, tetapi sekali lagi, yang gratis tidak masalah. Berikut langkah-langkahnya:

  1. Buka https://www.dropbox.com/h dan masuk ke akun Anda.
  2. Klik tombol Unggah file
  3. Pilih file mp3 yang Anda konversi.
  4. Klik Bagikan
  5. Klik Buat tautan dan Salin tautan
  6. Di tautan yang Anda salin, ganti "dropbox" dengan "dl.dropboxusercontent" tanpa tanda kutip
  7. Salin URL itu

Anda sekarang akan pergi ke bagian bawah blok selamat datang Anda dan klik ikon Catatan musik.

Tempelkan URL Anda. Jika Anda ingin menambahkan variasi acak, ulangi proses untuk beberapa MP3 lagi dan klik menu Hamburger di bawah kotak tempel URL.

Langkah 3: Langkah 3: Siapkan IFTTT

Langkah 3: Siapkan IFTTT
Langkah 3: Siapkan IFTTT
  1. Buka akun IFTTT Anda dan pilih "Buat applet baru"
  2. Pilih TWITTER sebagai Layanan JIKA.
  3. Pilih "Tweet baru oleh pengguna tertentu sebagai Pemicu. Isi nama akun yang ingin Anda ikuti
  4. Pilih "Google Spreadsheet" sebagai layanan KEMUDIAN
  5. Pilih "Tambahkan Baris ke Spreadsheet"
  6. Di Bidang "Baris Berformat", hapus semuanya kecuali bidang {{TEXT}}.
  7. Buat keterampilan Anda.

Ini membuat spreadsheet baru dan menambahkan baris setiap kali tweet baru keluar. Anda mungkin lebih suka menggunakan satu sel pada spreadsheet Anda dan hanya menimpa kontennya setiap saat. Dalam hal ini, pada langkah 5 Anda dapat memilih opsi untuk menulis ke satu sel. Saya suka menyimpan catatan tweet, karena saya secara berkala memindahkan tweet yang tidak sesuai topik atau bereaksi terhadap berita ke spreadsheet "Tweet Lama". Ketahuilah bahwa jika Anda memilih opsi ini, Anda harus melakukan beberapa pemeliharaan pada lembar Anda: yang baru akan dibuat setelah 2000 baris.

Langkah 4: Langkah 4: Siapkan Google Sheet Anda

Langkah 4: Siapkan Google Sheet Anda
Langkah 4: Siapkan Google Sheet Anda
Langkah 4: Siapkan Google Sheet Anda
Langkah 4: Siapkan Google Sheet Anda
Langkah 4: Siapkan Google Sheet Anda
Langkah 4: Siapkan Google Sheet Anda

Google Sheet ini adalah inti dari keterampilan khusus ini, karena menyaring tweet yang tidak bekerja dengan baik dengan Alexa (tweet yang merujuk ke gambar, misalnya, atau tweet dengan tautan) dan membuat tweet hanya teks menjadi lebih banyak Alexa -ramah dengan beberapa penggantian sederhana.

Biarkan IFTT membuat spreadsheet Anda dengan beberapa entri -- jadi tunggu saja beberapa tweet dari akun pelacakan Anda untuk mendarat di sana, buka Google Spreadsheet, dan urutkan berdasarkan waktu pembuatan. Anda akan melihat spreadsheet baru Anda yang mengkilap tepat di atas. Sekarang, setiap tweet baru akan berada di baris baru, jadi kami ingin membuat formula yang akan menyaring tweet yang memiliki tautan atau gambar dan dijalankan untuk menemukan yang terakhir di kolom.

Anda dapat mereplikasi salinan spreadsheet saya ini atau Anda dapat membuatnya sendiri dengan langkah-langkah berikut:

  1. Ganti nama tab dengan tweet di dalamnya "Langsung dari IFTTT"
  2. Tambahkan Tab yang disebut "Memproses Tweet" ke spreadsheet
  3. Tambahkan rumus ini ke sel A8 dari tab Processing Tweets:

=QUERY('Langsung dari IFTTT'!A3:A2000, "Pilih A Dimana tidak A berisi 'https'")

Itu menarik semua tweet yang tidak memiliki tautan ke Kolom A dari tab pemrosesan Anda.

Sekarang kita perlu menemukan tweet terakhir di kolom itu. Rekatkan rumus berikut ke dalam sel B7 dari tab pemrosesan:

=INDEX(FILTER(A:A, BUKAN(ISBLANK(A:A))), BARIS(FILTER(A:A, BUKAN(ISBLANK(A:A)))))

Sekarang kami ingin melakukan beberapa penggantian untuk membuat tweet lebih mudah dibaca Alexa. Ini sebenarnya bisa menjadi satu dalam satu formula sel, tetapi saya memecahnya untuk kejelasan:

Di Sel B6, tempel tab Pemrosesan:

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

Itu terlihat pada isi sel di bawah ini dan mengganti tanda # dengan kata "Hashtag"

Di Sel B5 rekatkan iterasi berikutnya:

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

Anda mendapatkan idenya.

Dalam sel B4 tempel:

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

Di Sel B3:

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

Di Sel B2 kita akan menempatkan formula yang sedikit lebih rumit:

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

Yang ini hanya menghilangkan APA SAJA yang bukan angka, huruf, atau salah satu tanda baca yang dipahami Alexa.

Di Sel B1 kita hanya akan menyalin tweet terakhir:

=indeks(B2)

Itu teks terakhir dan Anda dapat memprogram alur cerita untuk menangkap sel itu jika Anda tahu sedikit tentang JSON, tetapi untuk membuat segalanya sedikit lebih sederhana di akhir alur cerita, saya suka menyalin konten ke tab "Langsung dari IFTTT" dengan meletakkan ini rumus dalam A2 di tab "Langsung dari IFTTT":

='Pusat Pemrosesan'!B1

asyik. Sekarang spreadsheet Anda sudah siap dan siap dibaca oleh kueri JSON Storyline.

Langkah 5: Langkah 5: Siapkan Kueri JSON "Tweet Terbaru" Anda di Alur Cerita

Langkah 5: Siapkan
Langkah 5: Siapkan
Langkah 5: Siapkan
Langkah 5: Siapkan
Langkah 5: Siapkan
Langkah 5: Siapkan
  1. Buka blok sambutan keterampilan alur cerita Anda dan tambahkan langkah "Apa yang Dikatakan Alexa".
  2. Tambahkan frasa pengantar seperti "Ini tweet terbaru dari TheTweetOfGod:"
  3. Gunakan Menu Hamburger untuk menambahkan variasi
  4. Klik panah kecil ke kanan dan pilih "Buat Blok Baru"

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

  1. Klik ikon kecil paling kanan di blok baru Anda untuk menambahkan permintaan JSON.
  2. Beri nama permintaan API Anda. Saya memanggil saya "GetGodTweet"
  3. Temukan URL spreadsheet Anda dengan melakukan ini:

    1. Klik File -> Publish To Web di spreadsheet Anda.
    2. Gunakan nilai default dan cukup klik "Terbitkan"
    3. Salin URL dan tempel ke file catatan.

Contoh saya adalah:

"https://docs.google.com/spreadsheets/d/e/2PACX-1vSUnz43PEORZbBES1lQ8ZlJjH_4voh4Guc6SWrfjeGk2bZlY5EBYzLD5-fT633ygo_35Jz97cuUwKuy/pub.html" Anda harus mengekstrak dokumen ID jelek dari string panjang itu dari dokumen Anda. Ini adalah bagian antara /d/e dan karakter / berikutnya. Jadi dalam hal ini:

2PACX-1vSUnz43PEORZbBES1lQ8ZlJjH_4voh4Guc6SWrfjeGk2bZlY5EBYzLD5-fT633ygo_35Jz97cuUwKuy

Anda menukar nomor panjang itu dengan bit di url berikut yang mengatakan "SPREASHEET_ID":

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

  1. Sekarang ambil url ITU, dan rekatkan ke dalam kotak URL dari JSON Query di Storyline.
  2. Pilih opsi "DAPATKAN"
  3. Biarkan Kotak "Header" kosong
  4. Di kotak berikutnya, Anda akan membuat variabel dengan isi Sel A2 dari tab pertama Anda dengan menempelkan rumus ini di:

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

Variabel tersebut diberi nama "tweet". Ini menyalin konten dari tab utama 0.

Sekarang jika Anda menambahkan blok "Alexa Says" di bawah kueri JSON Anda, dan hanya memasukkan kata {{tweet}} dalam kurung kurawal, Alexa akan mengatakan konten sel. Pastikan case cocok dengan variabel yang Anda beri nama di langkah 4!!!

Tekan tombol MAINKAN di Storyline dan uji keterampilan Anda! Jika Anda mendapatkan kata "Null" itu berarti ada yang tidak beres dengan permintaan API Anda.

Itu benar-benar untuk keterampilan dasar. Saya menambahkan tanda tangan audio kecil yang lucu dengan MP3 lain, dan bertanya apakah pengguna ingin mendengar tweet yang lebih lama. Langkah selanjutnya menunjukkan trik yang bagus untuk menghasilkan tweet lama yang acak, tetapi itu membeku bagi mereka yang ingin membawa keterampilan mereka kegunaan ekstra.

Langkah 6: Ekstra Opsional: Menghasilkan Hasil Acak Dari Google Sheets untuk Alexa untuk Dibaca

Ekstra Opsional: Menghasilkan Hasil Acak Dari Google Spreadsheet untuk Alexa untuk Dibaca
Ekstra Opsional: Menghasilkan Hasil Acak Dari Google Spreadsheet untuk Alexa untuk Dibaca

Jika Anda ingin membuat salah satu dari kumpulan tweet lama secara acak, inilah trik yang bagus.

Saya membuat tab ketiga di spreadsheet saya yang disebut "Tweet Lama". Ini semua menempati sel A1-A36 di spreadsheet saya

  1. Di Storyline, buat blok baru bernama "Oldertweets"
  2. Tambahkan langkah Kueri JSON
  3. Beri nama
  4. Di kotak URL, gunakan URL API yang sama dengan yang Anda buat dengan ID Spreadsheet pada langkah Tweet Terbaru, dengan satu variasi:

    Ubah bit menjelang akhir yang mengatakan /od6/basic/public menjadi /3/basic/public - ini memanggil TAB 3 alih-alih Tab 1

  5. Pilih "DAPATKAN"
  6. Biarkan Header kosong
  7. Di kotak berikutnya, rekatkan ini:

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

Anda telah membuat variabel baru, yang disebut "oldtweet" dan kata kecil "acak" itu berarti variabel akan berubah setiap kali kueri JSON dipanggil.

Tambahkan langkah "Alexa Says" lainnya dan masukkan variabel baru Anda, {{oldtweet}} dengan tanda kurung kurawal tersebut. Ledakan! Kebaikan acak!

Jika Anda menikmati Instruksi ini, tolong beri keahlian saya beberapa bintang atau ulasan!

Direkomendasikan: