جدول المحتويات:

مهارة أليكسا: اقرأ أحدث تغريدة (في هذه الحالة ، الله): 6 خطوات
مهارة أليكسا: اقرأ أحدث تغريدة (في هذه الحالة ، الله): 6 خطوات

فيديو: مهارة أليكسا: اقرأ أحدث تغريدة (في هذه الحالة ، الله): 6 خطوات

فيديو: مهارة أليكسا: اقرأ أحدث تغريدة (في هذه الحالة ، الله): 6 خطوات
فيديو: Самые странные необычные пары в мире. Трудно поверить, что они существуют. 2024, يمكن
Anonim
مهارة أليكسا: اقرأ أحدث تغريدة (في هذه الحالة ، الله)
مهارة أليكسا: اقرأ أحدث تغريدة (في هذه الحالة ، الله)

لقد صنعت مهارة أليكسا لقراءة "أحدث تغريدة الله" - المحتوى ، أي منTweetOfGod ، حساب مشترك يزيد عن 5 ملايين تم إنشاؤه بواسطة كاتب كوميدي سابق في برنامج ديلي شو. يستخدم IFTTT (إذا كان هذا بعد ذلك) ، وجدول بيانات Google ، و Alexa Skill Builder سهل الاستخدام للغاية ، Storyline.

للحصول على فكرة عن النتيجة النهائية ، يمكنك إضافة المهارة إلى جهاز Alexa هنا ، أو يمكنك معاينة المهارة على Storyline إذا لم يكن حساب Alexa الخاص بك في الولايات المتحدة أو لم يكن لديك جهاز Alexa.

إذا كنت ترغب في بناء مهارة Alexa لقراءة التغريدات ، فهذه طريقة سهلة نسبيًا للقيام بذلك. لا يوجد ترميز متضمن إذا كنت تستخدم القوالب الخاصة بي فقط ، ولكن إذا كنت ترغب في الخروج عن المسار ، فمن المفيد معرفة القليل عن الكود بشكل عام وعلى وجه الخصوص كيفية تنظيم استدعاءات JSON. ولكن إذا كنت تقوم فقط بتكرار هذه المهارة لحساب Twitter مختلف ، فلن تتطلب مهارات تقنية تتجاوز القص واللصق.

ماذا ستحتاج:

  • جهاز Alexa (أو حساب على Echoism.io - محاكي افتراضي رائع من Alexa)
  • حساب مطور Alexa
  • حساب google لإنشاء جدول بيانات به
  • حساب مع Storyline
  • حساب مع If This Then That (IFTTT)
  • حساب صندوق الإسقاط أو مكان يمكنك فيه استضافة ملفات mp3 على خادم آمن

كل هذه الحسابات مجانية.

لن أخوض في الكثير من التفاصيل حول أساسيات كيفية إنشاء مهارة قصة - هناك دروس تعليمية ممتازة في الموقع لتعلم كيفية إنشاء الكتل ، وربطها ، والتفرع بين الشروط. سيركز هذا البرنامج التعليمي على ثلاثة أشياء تعلمتها في بناء هذه المهارة: الحصول على تأثير صوت MP3 في مهارتك ، وربط محتوى Twitter عبر IFTTT وجداول بيانات Google ، وكيفية إنشاء تغريدة عشوائية من مجموعة من الخيارات التي تم إنشاؤها مسبقًا.

(وصيحة كبيرة لمطور Alexa Skill Developer 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: إنشاء كتلة ترحيب لطيفة مع الصوت التمهيدي

قبل أن تقرأ Alexa أحدث تغريدة ، أقوم بشكل عشوائي بتوليد واحدة من أربعة أصوات سماوية مضحكة. هذه ملفات MP3 تمت معالجتها لـ Alexa عن طريق القصة. لقد وجدت ملفات MP3 الخاصة بي على Freesound (وكل شيء هناك مجاني حقًا ، لكن كن إنسانًا لائقًا واترك نصيحة).

  1. قم بتنزيل ملف MP3 الخاص بك. يجب أن تكون أقل من 90 ثانية. أليكسا خاص حول التنسيق. إذا كنت تعلم أنه MPEG الإصدار 2 و 48 كيلوبت في الثانية ، يمكنك تخطي الخطوة التالية. ولكن إذا كنت لا تعرف شيئًا مختلفًا ، فمن السهل التحويل.
  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 أخرى وانقر على قائمة Hamburger أسفل مربع لصق URL.

الخطوة 3: الخطوة 3: إعداد IFTTT

الخطوة الثالثة: إعداد IFTTT
الخطوة الثالثة: إعداد 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 هذه هي قلب هذه المهارة بالذات ، لأنها تقوم بتصفية التغريدات التي لا تعمل بشكل جيد مع Alexa (التغريدات التي تشير إلى الصور ، على سبيل المثال ، أو التغريدات التي تحتوي على روابط) وهي تجعل التغريدات النصية فقط أكثر بكثير من Alexa ودية مع عدد قليل من البدائل البسيطة.

اسمح لـ IFTT بإنشاء جدول البيانات الخاص بك مع بعض الإدخالات - لذا فقط انتظر بضع تغريدات من الحساب الذي تتبعه للوصول إلى هناك ، وافتح جداول بيانات Google ، وفرزها حسب الوقت الذي تم إنشاؤه فيه. سترى جدول البيانات الجديد اللامع في الأعلى مباشرة. الآن ، ستكون كل تغريدة جديدة في صف جديد ، لذلك نريد إنشاء صيغة تقوم بتصفية التغريدات التي تحتوي على روابط أو صور ويتم تشغيلها للعثور على آخر تغريدة في العمود.

يمكنك فقط نسخ هذه النسخة من جدول البيانات الخاص بي أو يمكنك إنشاء نسختك الخاصة من خلال الخطوات التالية:

  1. إعادة تسمية علامة التبويب التي تحتوي على التغريدات "مباشرة من IFTTT"
  2. أضف علامة تبويب تسمى "معالجة التغريدات" إلى جدول البيانات
  3. أضف هذه الصيغة إلى الخلية A8 من علامة التبويب معالجة التغريدات:

= QUERY ('مباشر من IFTTT'! A3: A2000 ، "حدد A حيث لا يحتوي A على 'https'")

يؤدي ذلك إلى سحب جميع التغريدات التي لا تحتوي على رابط إلى العمود أ من علامة تبويب المعالجة.

الآن نحن بحاجة إلى العثور على آخر تغريدة في هذا العمود. الصق الصيغة التالية في الخلية B7 من علامة تبويب المعالجة:

= الفهرس (الفلتر (أ: أ ، ليس (إسبلانك (أ: أ))) ، الصفوف (الفلتر (أ: أ ، ليس (إسبلانك (أ: أ)))))

نريد الآن إجراء بعض الاستبدالات لتسهيل قراءة تغريدة Alexa. يمكن أن تكون كل هذه في الواقع واحدة في صيغة خلية واحدة ، لكنني فصلتها للتوضيح:

في الخلية B6 ، قم بلصق علامة التبويب المعالجة:

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

يبحث هذا في محتوى الخلية أدناه ويستبدل علامة # بكلمة "Hashtag"

في الخلية B5 ، الصق التكرار التالي:

= تقليم (regexreplace (B6، "@"، "at"))

انت وجدت الفكرة.

في لصق الخلية B4:

= تقليم (regexreplace (B6 ، "&" ، "و"))

في الخلية B3:

= تقليم (regexreplace (B6، "٪"، "percent"))

في الخلية B2 سنضع صيغة أكثر تعقيدًا:

= ArrayFormula (REGEXREPLACE (B3، "([^ A-Za-z0-9.،!؟:؛ ''])"، ""))

يتخلص هذا الشخص ببساطة من أي شيء ليس رقمًا أو حرفًا أو إحدى نقاط الترقيم التي تفهمها Alexa.

في الخلية B1 ، سنقوم ببساطة بنسخ التغريدة النهائية:

= فهرس (B2)

هذا هو النص النهائي ويمكنك برمجة قصة لإفساد هذه الخلية إذا كنت تعرف القليل من JSON ، ولكن لجعل الأمور أبسط قليلاً في نهاية القصة ، أود نسخ المحتويات في علامة التبويب "Live from IFTTT" بوضع هذا الصيغة في A2 في علامة التبويب "Live from IFTTT":

= "مركز المعالجة"! B1

رائع. الآن تم إعداد جدول البيانات بالكامل وأصبح جاهزًا للقراءة بواسطة استعلام Storyline JSON.

الخطوة 5: الخطوة 5: قم بإعداد استعلام JSON "أحدث تغريدة" في القصة

الخطوة 5: قم بإعداد ملف
الخطوة 5: قم بإعداد ملف
الخطوة 5: قم بإعداد ملف
الخطوة 5: قم بإعداد ملف
الخطوة 5: قم بإعداد ملف
الخطوة 5: قم بإعداد ملف
  1. انتقل إلى مجموعة الترحيب الخاصة بمهارة القصة وأضف خطوة "ما يقوله Alexa".
  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/pubhtml ستحتاج إلى استخراج معرّف المستند الطويل. إنه الجزء الموجود بين / 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. حدد الخيار "GET"
  3. اترك مربع "الرؤوس" فارغًا
  4. في المربع التالي ، ستقوم بإنشاء متغير بمحتويات الخلية A2 من علامة التبويب الأولى عن طريق لصق هذه الصيغة في:

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

المتغير يسمى "تغريدة". إنه ينسخ المحتويات من علامة التبويب الأساسية 0.

الآن إذا أضفت كتلة "Alexa Says" أسفل استعلام JSON ، ووضعت الكلمة {{tweet}} فقط بين قوسين معقوفين ، فإن Alexa ستقول محتوى الخلية. تأكد من تطابق الحالة مع المتغير الذي قمت بتسميته في الخطوة 4 !!!

اضغط على زر PLAY في Storyline واختبر مهارتك! إذا حصلت على كلمة "Null" ، فهذا يعني أنه حدث خطأ ما في طلب API الخاص بك.

هذا حقًا يتعلق بالمهارة الأساسية. أضفت توقيعًا صوتيًا صغيرًا مضحكًا مع MP3 آخر ، وسألت عما إذا كان المستخدم يريد سماع تغريدة أقدم. تُظهر لك الخطوة التالية خدعة لطيفة لإنشاء تغريدة عشوائية قديمة ، لكنها صقيع لأولئك الذين يرغبون في إضفاء مزيد من الاستخدام على مهاراتهم.

الخطوة 6: إضافي اختياري: إنشاء نتيجة عشوائية من جداول بيانات Google ليقرأها Alexa

إضافي اختياري: إنشاء نتيجة عشوائية من جداول بيانات Google ليقرأها Alexa
إضافي اختياري: إنشاء نتيجة عشوائية من جداول بيانات Google ليقرأها Alexa

إذا كنت تريد إنشاء واحدة من مجموعة التغريدات القديمة بشكل عشوائي ، فإليك خدعة رائعة.

لقد أنشأت علامة تبويب ثالثة في جدول البيانات تسمى "تغريدات أقدم". كل هذه تشغل الخلايا A1-A36 في جدول البيانات الخاص بي

  1. في Storyline ، أنشئ قالبًا جديدًا باسم "Oldertweets"
  2. أضف خطوة استعلام JSON
  3. أعطه إسما
  4. في مربع عنوان URL ، استخدم نفس عنوان URL الخاص بواجهة برمجة التطبيقات الذي أنشأته باستخدام معرّف جدول البيانات في خطوة أحدث تغريدة ، بصيغة واحدة:

    غيّر البت في النهاية الذي يقول / od6 / basic / public إلى / 3 / basic / public - وهذا يستدعي TAB 3 بدلاً من Tab 1

  5. حدد "الحصول على"
  6. اترك الرؤوس فارغة
  7. في المربع التالي ، الصق هذا:

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

لقد أنشأت متغيرًا جديدًا يسمى "oldtweet" وهذه الكلمة الصغيرة "عشوائية" تعني أن المتغير سيتغير في كل مرة يتم استدعاء استعلام JSON.

أضف خطوة أخرى "Alexa Says" وأدخل المتغير الجديد ، {{oldtweet}} بهذه الأقواس المتعرجة. فقاعة! الخير العشوائي!

إذا كنت قد استمتعت بهذا Instructable ، فالرجاء إعطاء مهارتي بضع نجوم أو مراجعة!

موصى به: