Для назначения класса мне необходимо создать программу Siri, которая принимает команду и аргумент и возвращает некоторые данные из API или в одном конкретном случае, читает из текстового файла и выполняет команду в этом файле для получения данных по определенной песне. Я понимаю, как читать файлы с помощью модуля FS, но я не понимаю, как заставить его фактически использовать то, что возвращается, чтобы сделать его командой и выполнить (что по сути является myPlayList (я хочу, чтобы это так). код до сих пор разделен на «Выбрать случаи и функции», а также на то, что находится в текстовом файле. Это мой первый пост, и я понял, что весь код лучше даст контекст того, что происходит. Спасибо за ваше время и помощь .Использование Node.JS для выдачи команды из текстового файла
var keys = require("./keys.js")
var twitter = require("twitter");
var omdb = require("request");
var spotify = require("spotify");
var fs = require("fs");
var liriCommand = process.argv[2];
var searchTitle = process.argv[3];
var twitterKeys = keys.twitterKeys;
var twitterUser = new twitter({
consumer_key: twitterKeys.consumer_key,
consumer_secret: twitterKeys.consumer_secret,
access_token_key: twitterKeys.access_token_key,
access_token_secret: twitterKeys.access_token_secret
});
//console.log(twitterUser); okay keys working
//Switch cases to call function based on liriCommand entered.
switch(liriCommand) {
case "my-tweets":
myTweets();
break;
case "spotify-this-song":
myPlayList();
break;
case "movie-this":
myMovie();
break;
case "do-what-it-says":
randomPick();
break;
}
//Function for pulling in last 20 tweets
function myTweets(){
twitterUser.get('search/tweets', {q: 'burgeoningbaker', count: 20}, function(error, tweet, response) {
if(error){
console.log(error);
}else{
console.log(tweet);
}
});
};
//Function for pulling in artist, song name, link to song and album with song via Spotify
function myPlayList(){
if (!searchTitle){
searchTitle = 'The Sign';
}
spotify.search({type: 'track', query: searchTitle}, function(err, data){
if (err){
console.log('Error occurred: ' + err);
return;
}
//Handle Data
var albumTrack = data.tracks.items;
for (i=0; i < albumTrack.length; i++){
console.log("Artist: " + albumTrack[i].artists[i].name);
console.log("Album Title: " + albumTrack[i].album.name);
console.log("Spotify Link: " + albumTrack[i].preview_url);
console.log("Track Title: " + albumTrack[i].name);
// } else if (!data && !err){
// myPlaylist('The Sign');
}
};
};
//Function for using request to get OMDB movie information from movie object
// Move Title, Year of release, Rating, Country, Language, Plot, Actors, Rotten Tomato Rating, URL
function myMovie(){};
// Function to fire off if typed do what it says
function randomPick(){
fs.readFile("random.txt", "UTF-8", function(error, data){
if (error){
console.log(error);
}
console.log(data);
});
};
Это содержимое текстового файла
Spotify-это песня, "I Want It That Way"
Да, первоначальная функция myPlayList - это взять аргумент командной строки того, какой трек вы хотите искать в Spotify API. Если команда выдается без названия песни, по умолчанию выполняется поиск знака. Последний случай - это мое внимание. Когда это вызывается, он должен заглянуть в текстовый файл и выпустить команду, которая находится там, где должен быть поиск трека, который я хочу так. Я не хотел публиковать фактические инструкции по назначению, но может, если это сделает вещи более ясными. – Matthew
вправо - см. Мой предыдущий комментарий - ваша функция myPlayList не может принимать параметр, отличный от аргумента командной строки. поэтому ваше решение состоит в том, чтобы изменить его, чтобы сделать это – Conan
, если это так, чем мне кажется, что он все еще пытается вернуться к этому файлу и выдает команду внутри. Вот инструкции о том, что должно быть сделано ... node liri.js spotify-this-song '<название песни здесь>' * Приведенная ниже информация о песне в вашем окне terminal/bash * Исполнитель (ы) * Название песни * Если песня не указана, ваша программа по умолчанию будет * «Знак» от Ace of Base – Matthew