Índice:

Habilidade de Alexa: Leia o último tweet (neste caso, de Deus): 6 etapas
Habilidade de Alexa: Leia o último tweet (neste caso, de Deus): 6 etapas

Vídeo: Habilidade de Alexa: Leia o último tweet (neste caso, de Deus): 6 etapas

Vídeo: Habilidade de Alexa: Leia o último tweet (neste caso, de Deus): 6 etapas
Vídeo: 8 dicas para usar melhor a Alexa sem gastar dinheiro! 2024, Novembro
Anonim
Alexa Skill: Leia o último tweet (neste caso, o de Deus)
Alexa Skill: Leia o último tweet (neste caso, o de Deus)

Fiz uma habilidade Alexa para ler o "Tweet mais recente de Deus" - o conteúdo, isto é, de @TweetOfGod, a conta de mais de 5 milhões de assinantes criada por um ex-escritor de comédias do Daily Show. Ele usa IFTTT (If This Then That), uma planilha do Google e o Alexa Skill Builder incrivelmente fácil de usar, o Storyline.

Para ter uma ideia do resultado final, você pode adicionar a habilidade ao seu dispositivo Alexa aqui, ou pode visualizar a habilidade no enredo se sua conta Alexa não estiver nos EUA ou se você não tiver um dispositivo Alexa.

Se você deseja desenvolver uma habilidade de Alexa que leia tweets, esta é uma maneira relativamente fácil de fazer isso. Não há codificação envolvida se você apenas usar meus modelos, mas se quiser se desviar do caminho, é útil saber um pouco sobre o código em geral e, em particular, como as chamadas JSON são estruturadas. Mas se você está apenas replicando essa habilidade para uma conta diferente do Twitter, não vai exigir habilidades técnicas além de recortar e colar.

O que você precisará:

  • Um dispositivo Alexa (ou uma conta com Echoism.io - um ótimo simulador virtual Alexa)
  • Uma conta Alexa Developer
  • Uma conta do Google para criar uma planilha com
  • Uma conta com Storyline
  • Uma conta com If This Then That (IFTTT)
  • Uma conta de caixa de depósito ou um lugar onde você pode hospedar arquivos mp3 em um servidor seguro

Todas essas contas são gratuitas.

Não vou entrar em muitos detalhes sobre os fundamentos de como criar uma habilidade de enredo - há excelentes tutoriais no site para aprender como criar blocos, conectá-los e ramificar entre as condições. Este tutorial se concentrará em três coisas que aprendi ao desenvolver essa habilidade: obter um efeito de som MP3 em sua habilidade, conectar o conteúdo do Twitter via IFTTT e Planilhas Google e como gerar um tweet aleatório a partir de um conjunto de opções pré-criadas.

(E um grande grito para o Alexa Skill Developer George Collier, cujo excelente tutorial sobre como integrar o Twitter ao Alexa me ajudou a começar.)

Etapa 1: Etapa 1: Pense sobre o fluxo geral de sua habilidade

Etapa 1: pense no fluxo geral de sua habilidade
Etapa 1: pense no fluxo geral de sua habilidade

O enredo é uma maneira fantástica de criar as habilidades do Alexa com pouca ou nenhuma codificação. Você pode arrastar e soltar blocos no lugar e configurar conexões e caminhos entre as ações por meio de uma interface gráfica fácil de entender. Se você já usou o Yahoo Pipes, reconhecerá a interface.

Agora, uma das coisas legais sobre o Storyline é que ele torna bastante fácil fazer com que Alexa fale os resultados de qualquer consulta JSON. Obter dados de uma planilha do Google é fácil com consultas JSON. Colocar tweets em uma planilha do Google com If This Than That é fácil. Fácil. Fácil. Fácil.

Acho que é melhor apenas visualizar toda a sua habilidade em abstrato antes de começar.

Quando pensei sobre minha habilidade, eu sabia que seu objetivo principal era apenas entregar o tweet mais recente. Mas eu poderia melhorar isso com um pouco de design de som (o enredo permite que você toque qualquer MP3), e um tweet pode não ser suficiente para dar às pessoas um gostinho da conta - eu poderia armazenar alguns dos tweets mais antigos e deixar o usuário ouve um desses após o mais recente. Então, meu esboço de fluxo de habilidades pode ser assim:

  1. Dê as boas-vindas ao usuário com um pouco de texto falado e um som introdutório apropriado
  2. Leia o último tweet
  3. Toque um som característico
  4. Pergunte ao usuário se ele gostaria de ouvir um tweet mais antigo

    1. Sim? Leia um tweet mais antigo.
    2. Toque o som da assinatura
    3. Não? Saia da habilidade.

A fonte do "Último Tweet" é uma planilha do Google, alimentada por um script If This Then That. Esse processo é assim:

  1. SE houver um novo tweet da conta @TweetOfGod, ele será copiado para a planilha
  2. Se o tweet contém um link ou uma imagem, a planilha os filtra
  3. Se o tweet for um retuíte, a planilha o filtra
  4. Os tweets que passam por esses dois filtros são então processados para leitura: # é substituído pela palavra "Hashtag" e vários outros caracteres são substituídos por equivalentes legíveis
  5. O tweet final é copiado para a célula "último tweet" que Alex lê

Etapa 2: Etapa 2: criar um bloco de boas-vindas agradável com som introdutório

Etapa 2: crie um bloco de boas-vindas agradável com som introdutório
Etapa 2: crie um bloco de boas-vindas agradável com som introdutório
Etapa 2: crie um bloco de boas-vindas agradável com som introdutório
Etapa 2: crie um bloco de boas-vindas agradável com som introdutório
Etapa 2: crie um bloco de boas-vindas agradável com som introdutório
Etapa 2: crie um bloco de boas-vindas agradável com som introdutório

Antes de Alexa ler o último tweet, eu gerei aleatoriamente um dos quatro sons celestiais engraçados. Estes são MP3s que foram processados para Alexa por enredo. Encontrei meus MP3s no Freesound (E tudo lá mesmo é de graça, mas seja um ser humano decente e deixe uma dica).

  1. Baixe seu MP3. Precisa ter menos de 90 segundos. Alexa é particular sobre o formato. Se você sabe que é MPEG versão 2 e 48kps, pode pular a próxima etapa. Mas se você não sabe ou é algo diferente, é fácil de converter.
  2. Faça o upload para o Storyline para processamento em seu conversor de áudio
  3. Hospede seu áudio baixado em um servidor

Se a etapa 3 for "FAZER O QUE AGORA?" você provavelmente não tem acesso a um servidor https no qual possa hospedar seus arquivos. Não se preocupe, você pode fazer isso com a caixa de depósito. Você precisará de uma conta, mas, novamente, uma conta gratuita está bem. Aqui estão as etapas:

  1. Vá para https://www.dropbox.com/h e faça login em sua conta.
  2. Clique no botão Carregar arquivos
  3. Selecione o arquivo mp3 que você converteu.
  4. Clique em Compartilhar
  5. Clique em Criar um link e copiar o link
  6. No link que você copiou, substitua "dropbox" por "dl.dropboxusercontent" sem as aspas
  7. Copie esse URL

Agora você irá para a parte inferior do seu bloco de boas-vindas e clique no ícone de nota musical.

Cole seu URL. Se quiser adicionar variações aleatórias, repita o processo para mais alguns MP3 e clique no menu Hambúrguer abaixo da caixa de colar URL.

Etapa 3: Etapa 3: Configurar IFTTT

Etapa 3: Configurar IFTTT
Etapa 3: Configurar IFTTT
  1. Vá para sua conta IFTTT e selecione "Criar um novo miniaplicativo"
  2. Selecione TWITTER como o serviço IF.
  3. Selecione "Novo tweet por usuário específico como o acionador. Preencha o nome da conta que deseja seguir
  4. Selecione "Planilhas Google" como o serviço ENTÃO
  5. Selecione "Adicionar linha à planilha"
  6. No campo "Linha formatada", remova tudo, exceto o campo {{TEXT}}.
  7. Crie sua habilidade.

Isso cria uma nova planilha e adiciona uma linha toda vez que um novo tweet sai. Você pode preferir usar uma única célula em sua planilha e simplesmente substituir seu conteúdo todas as vezes. Nesse caso, na etapa 5, você pode escolher a opção de gravar em uma única célula. Gosto de manter um registro dos tweets, pois periodicamente movo aqueles que não são atuais ou que reagem a notícias em uma planilha de "Tweets mais antigos". Esteja ciente de que se você escolher esta opção, precisará fazer alguma manutenção em sua planilha: uma nova será criada após 2.000 linhas.

Etapa 4: Etapa 4: Configurar sua Planilha Google

Etapa 4: Configure sua Planilha Google
Etapa 4: Configure sua Planilha Google
Etapa 4: Configure sua Planilha Google
Etapa 4: Configure sua Planilha Google
Etapa 4: Configure sua Planilha Google
Etapa 4: Configure sua Planilha Google

Esta Folha do Google é o coração desta habilidade em particular, porque filtra tweets que não funcionam muito bem com Alexa (tweets que se referem a imagens, por exemplo, ou tweets com links) e torna os tweets somente de texto muito mais Alexa -amigável com algumas substituições simples.

Deixe o IFTT criar sua planilha com algumas entradas - então, espere alguns tweets da conta de seu rastreamento para chegar lá, abra o Planilhas Google e classifique por hora de criação. Você verá sua nova planilha bem no topo. Agora, cada novo tweet estará em uma nova linha, então queremos criar uma fórmula que filtrará os tweets que têm links ou imagens e percorrerá para encontrar o último na coluna.

Você pode simplesmente replicar esta cópia da minha planilha ou pode criar a sua própria com as seguintes etapas:

  1. Renomeie a guia com tweets "Ao vivo de IFTTT"
  2. Adicione uma guia chamada "Processando Tweets" à planilha
  3. Adicione esta fórmula na célula A8 da guia Processando Tweets:

= QUERY ('Live from IFTTT'! A3: A2000, "Selecione A Onde não A contém 'https'")

Isso puxa todos os tweets que não têm um link para a Coluna A de sua guia de processamento.

Agora precisamos encontrar o último tweet dessa coluna. Cole a seguinte fórmula na célula B7 da guia de processamento:

= ÍNDICE (FILTRO (A: A, NÃO (ISBLANK (A: A))), FILEIRAS (FILTRO (A: A, NOT (ISBLANK (A: A)))))

Agora queremos fazer algumas substituições para tornar o tweet mais fácil de ler para Alexa. Na verdade, eles podem ser todos um em uma fórmula de célula única, mas eu os separei para maior clareza:

Na Célula B6, cole da guia Processamento:

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

Isso examina o conteúdo da célula abaixo e substitui o sinal # pela palavra "Hashtag"

Na célula B5, cole a próxima iteração:

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

Você entendeu a ideia.

Na pasta Cell B4:

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

Na célula B3:

= trim (regexreplace (B6, "%", "por cento"))

Na célula B2, vamos colocar uma fórmula um pouco mais complicada:

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

Este simplesmente se livra de QUALQUER COISA que não seja um número, letra ou um dos pontos de pontuação que Alexa entende.

No Cell B1, vamos simplesmente copiar o tweet final:

= índice (B2)

Esse é o texto final e você pode programar o enredo para agarrar essa célula se você souber um pouco de JSON, mas para tornar as coisas um pouco mais simples no final do enredo, gosto de copiar o conteúdo para a guia "Live from IFTTT", colocando este fórmula em A2 na guia "Live from IFTTT":

= 'Centro de Processamento'! B1

Groovy. Agora sua planilha está configurada e pronta para ser lida por uma consulta JSON do Storyline.

Etapa 5: Etapa 5: configurar sua consulta JSON de "último tweet" no enredo

Etapa 5: Configure seu
Etapa 5: Configure seu
Etapa 5: Configure seu
Etapa 5: Configure seu
Etapa 5: Configure seu
Etapa 5: Configure seu
  1. Vá para o bloco de boas-vindas da sua habilidade de enredo e adicione uma etapa "O que Alexa diz".
  2. Adicione uma frase introdutória como "Aqui está o tweet mais recente de TheTweetOfGod:"
  3. Use o menu de hambúrguer para adicionar variações
  4. Clique na pequena seta para a direita e selecione "Criar Novo Bloco"

Chamei meu novo bloco de "Get God Tweet". A tarefa aqui é buscar aquele tweet filtrado mais recente na célula A2 da planilha da guia principal. Você faz isso buscando os dados com uma solicitação JSON entregue por meio da API do Google Sheets: na verdade, não é nada mais do que um URL sofisticado.

  1. Clique no pequeno ícone à direita em seu novo bloco para adicionar uma solicitação JSON.
  2. Nomeie sua solicitação de API. Chamei o meu de "GetGodTweet"
  3. Encontre o URL de sua planilha fazendo o seguinte:

    1. Clique em Arquivo -> Publicar na Web em sua planilha.
    2. Use os valores padrão e clique em "Publicar"
    3. Copie o URL e cole-o em um arquivo de nota.

Meu exemplo é:

"https://docs.google.com/spreadsheets/d/e/2PACX-1vSUnz43PEORZbBES1lQ8ZlJjH_4voh4Guc6SWrfjeGk2bZlY5EBYzLD5-fT633ygo_35Jz97cuUwKuy/pubhtml" você precisará extrair o seu ID do documento longo. É o bit entre o / d / e e o próximo / caractere. Portanto, neste caso:

2PACX-1vSUnz43PEORZbBES1lQ8ZlJjH_4voh4Guc6SWrfjeGk2bZlY5EBYzLD5-fT633ygo_35Jz97cuUwKuy

Você troca esse número longo pelo bit no seguinte url que diz "SPREASHEET_ID":

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

  1. Agora pegue ESSE url e cole-o na caixa de URL da consulta JSON no enredo.
  2. Selecione a opção "GET"
  3. Deixe a caixa "Cabeçalhos" em branco
  4. Na próxima caixa, você criará uma variável com o conteúdo da Célula A2 de sua primeira guia colando esta fórmula em:

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

A variável é chamada de "tweet". Ele está copiando o conteúdo da guia principal 0.

Agora, se você adicionar um bloco "Alexa Says" abaixo de sua consulta JSON e colocar apenas a palavra {{tweet}} entre chaves, Alexa dirá o conteúdo da célula. Certifique-se de que o caso corresponda à variável que você nomeou na etapa 4 !!!

Pressione o botão PLAY no enredo e teste sua habilidade! Se você receber a palavra "Nulo", significa que algo deu errado com sua solicitação de API.

É isso mesmo para a habilidade básica. Eu adicionei uma pequena assinatura de áudio engraçada com outro MP3 e perguntei se o usuário deseja ouvir um tweet mais antigo. A próxima etapa mostra um bom truque para gerar um tweet mais antigo aleatório, mas é glacê para aqueles que querem trazer suas habilidades um pouco de usabilidade extra.

Etapa 6: Extra opcional: Gerando um resultado aleatório do Planilhas Google para Alexa ler

Extra opcional: Gerando um resultado aleatório do Planilhas Google para Alexa ler
Extra opcional: Gerando um resultado aleatório do Planilhas Google para Alexa ler

Se você deseja gerar aleatoriamente um de um conjunto de tweets mais antigos, aqui está um truque bacana.

Criei uma terceira guia em minha planilha chamada "Tweets mais antigos". Todos eles ocupam as células A1-A36 da minha planilha

  1. No Storyline, crie um novo bloco chamado "Oldertweets"
  2. Adicionar uma etapa de consulta JSON
  3. Dê um nome a ele
  4. Na caixa URL, use o mesmo URL da API que você construiu com o ID da planilha na etapa do Tweet mais recente, com uma variação:

    Mude o bit em direção ao final que diz / od6 / basic / public para / 3 / basic / public - isso chama TAB 3 em vez de Tab 1

  5. Selecione "OBTER"
  6. Deixe os cabeçalhos em branco
  7. Na próxima caixa, cole isto:

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

Você criou uma nova variável, chamada "oldtweet" e aquela palavrinha "random" significa que a variável mudará toda vez que a consulta JSON for chamada.

Adicione outra etapa "Alexa Says" e insira sua nova variável, {{oldtweet}} com essas chaves. Estrondo! Bondade aleatória!

Se você gostou deste Instructable, por favor, dê algumas estrelas ou um comentário sobre minha habilidade!

Recomendado: