Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 8 additions & 7 deletions lambda/index.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
const Alexa = require('ask-sdk-core');
const ytlist = require('yt-list');
const ytmusic = require('node-youtube-music');
const ytdl = require('ytdl-core');
require('dotenv').config();

Expand Down Expand Up @@ -41,16 +41,16 @@ const PlaySongIntentHandler = {

const controller = {
async search(handlerInput, query) {
const data = await searchForVideos(query);
return this.play(handlerInput, data.items[0]);
const data = await searchForMusic(query);
return this.play(handlerInput, data);
},
async play(handlerInput, audioInfo) {
const { responseBuilder } = handlerInput;
const playBehavior = "REPLACE_ALL";
const id= audioInfo.id.videoId;
const id= audioInfo.youtubeId;
const audioFormat = await getAudioUrl(id);
responseBuilder
.speak(`Playing ${audioInfo.snippet.title}`)
.speak(`Playing ${audioInfo.title}`)
.withShouldEndSession(true)
.addAudioPlayerPlayDirective(
playBehavior,
Expand All @@ -69,8 +69,9 @@ const controller = {
},
};

const searchForVideos = async (searchQuery, nextPageToken, amount) => {
return await ytlist.searchVideos(searchQuery, nextPageToken, amount);
const searchForMusic = async (searchQuery) => {
musics = await ytmusic.searchMusics(searchQuery);
return musics[0];
}

const getAudioUrl = async (videoId) => {
Expand Down