Actualmente estoy trabajando en un bot de Twitter con javascript, node y el paquete twit. Configuré un temporizador y una función de selección aleatoria, por lo que mi objetivo es que el bot tuitee cada 60 segundos y elija una oración aleatoria de mi matriz. Cuando pruebo ambos bits solos (el temporizador O la función aleatoria), funcionan, pero por alguna razón no puedo hacer que funcionen en conjunto. Traté de declarar una variable para la función getRandomSentence() (como var tweet = getRandomSentence(tweet)) pero luego recibía este error return sentences[index]; ^
TypeError: no se puede leer la propiedad 'NaN' de indefinido
El código como lo he subido ahora se ejecuta, pero el temporizador no parece funcionar.
// timer setInterval(getRandomSentence, 1000*60) // random var sentences = [ 'sentence1', 'sentence2', 'sentence3.', 'sentence4', 'sentence5', 'sentence6' ], maxSentences = sentences.length; function getRandomSentence() { var index = Math.floor(Math.random() * (maxSentences - 1)); return sentences[index]; } // tweets // T.post('statuses/update', { status: getRandomSentence()}, tweeted); function tweeted (err, data, response) { if (err) { console.log(err); } else { console.log("It works."); } }¡Realmente agradecería si alguien pudiera ayudarme aquí! Todavía soy un novato absoluto.
Hola, he hecho algunos cambios en el código. Esto funciona para que la consola registre una oración aleatoria para twittear cada 60 segundos:
var sentences = [ 'sentence1', 'sentence2', 'sentence3', 'sentence4', 'sentence5', 'sentence6' ]; var maxSentences = sentences.length; var sentenceToTweet = ''; function getRandomSentence() { var index = Math.floor(Math.random() * (maxSentences - 1)); sentenceToTweet = sentences[index]; console.log(sentenceToTweet); setTimeout(getRandomSentence, 1000 * 60); } getRandomSentence();