Я был на хакатоне в UCR под названием Citrus Hacks и научился делать приложение Alexa под названием Hip Hop Headlines, которое будет информировать вас о последних новостях хип-хопа. Прошло около 23 часов. Я разбился около 8 утра. Затем этот случайный чувак разбудил меня через час и начал разговаривать со мной около 9 утра. Я не винил его за это, потому что на хакатоне я присутствовал очень широко и представился всем. Так что, естественно, он был заинтересован, но серьезно, чувак, я понятия не имел, о чем мы говорили, и окно позади тебя было очень ярким.

В любом случае, я просмотрел этот урок, чтобы сделать 90% своего приложения Alexa. Что. Вы думали, что я буду повторять пошаговые инструкции? Просто посмотри на это, братан.

Затем я использовал свою консоль Amazon Lambda для функции, которую сделал из видео, и экспортировал свою функцию в виде ZIP-файла, потому что их встроенный редактор — отстой.

После загрузки и разархивирования файла я вошел (я создал этот глагол) в папку и выполнил эту команду

npm install — save request request-promise cheerio

Это позволило мне совершать HTTP-запросы на веб-сайты и очищать их HTML. Вот мой код того, как я это сделал.

В верхней части файла, где мы импортируем пакеты и константные значения, я написал это. Обязательно введите URL-адрес, который вы хотите очистить, заменив УДАЛЕНО.

const rp = require('request-promise');
const cheerio = require('cheerio');
const options = {
  uri: `REDACTED`,
  transform: function (body) {
    return cheerio.load(body);
  }
};

В моем коде обработчиков я написал основную часть логики внутри моей функции намерения. На написание заголовков ушло всего 10 минут. Это потому, что я знаю, как пользоваться библиотеками. Если вам нужна помощь, просто погуглите «как очистить учебник Cheerio Nodejs». В любом случае, вот мой код.

'GetNewFactIntent': function () {
var self = this;
rp(options)
        .then(($) => {
var title = "";
if($('.home_featured_story-title').length <= 0){
            title = "No News For Today";
          } else {
            $('.home_featured_story-title').each(function(i, element){
               title += $(this).text() + ". ";
            });
          }
self.response.speak(title.replace(/-/g," ").replace(/&/g,""));
          self.emit(':responseReady');
})
        .catch((err) => {
          console.log(err);
          self.response.speak("Yo something went wrong");
          self.emit(':responseReady');
        });
},

Строка «заголовок» в основном объединяет все заголовки, извлеченные с веб-сайта, добавляя точку после каждого заголовка. Затем я отправляю строку заголовка обратно, используя ответ. Внимательно посмотрите, как я удалил такие строки, как «-» и «&», из своих заголовков. Это потому, что Алекса тупица и ничего не говорит и не говорит, если есть какой-либо символ, отличный от a-z, A-Z или 0–9.

Хорошо, мои чуваки, слушайте. Поэтому, когда вы хотите загрузить свой код в Lamba, вам нужно заархивировать файлы. Вы должны выбрать каждый файл/папку отдельно и сжать их следующим образом. Я только что сэкономил тебе 3 часа.

Затем вы можете взять этот заархивированный файл, скорее всего, он называется Archive.zip, это не имеет значения, просто загрузите его в Lambda здесь.

Затем вы переходите на вкладку Alexa Amazon Developer и создаете свое приложение.

Валла.

Я также обновил свои команды Alexa, добавив множество «высказываний», но ни одно из них не работает. Это потому, что Alexa принимает вашу словесную команду и контекст ситуации, а затем помещает их в алгоритм суперИИ, чтобы выяснить, какой навык запустить. Алгоритм полный треш, и ни одно из ваших высказываний не сработает, но я все равно добавил кучу. Не забудьте после этого сохранить модель и построить модель. Вот как это выглядит:

Единственная работающая голосовая команда — это та, которую вы помещаете на странице вызова в поле «Название вызова навыка»:

Я не понимаю, почему другие высказывания не работают, но по крайней мере одно из них работает. Поэтому я отправил его на проверку, а затем они опубликовали мое приложение в прямом эфире. ура!

Вот ссылка на приложение: https://www.amazon.com/dp/B07CLCCD61/ref=sr_1_1?s=digital-skills&ie=UTF8&qid=1524625893&sr=1-1&keywords=hip+hop+headlines