#javascript #node.js
#javascript #node.js
Вопрос:
У меня есть работающий бот с функцией ретвита сообщений с хэштегами.
Использование Nodejs и twit
Теперь я пытаюсь создать генератор ссылок на YouTube, но, похоже, отправляюсь по кругу.
Любая помощь с этим была бы оценена..
const Twit = require('twit')
const config = require('./config')
var Twitter = new Twit(config)
require('console-stamp')(console, '[HH:MM:ss.l]');
console.log('the bot is looking at bot.js');
let phraseArray = [
"Rod Stewart - If you think Im sexy https://www.youtube.com/watch?v=Hphwfq1wLJs",
"Tom Jones - Not Unusual - Live Tea in the park https://www.youtube.com/watch?v=zydIvSDXS7Y",
"Britney Spears - Baby one more time - Live in hawaii https://www.youtube.com/watch?v=5vjFljmxecY"
];
function chooseRandom(array) {
return array[Math.floor(Math.random() * array.length)];
}
let phrase =
chooseRandom(phraseArray);
Twitter.post('statuses/update', { status: chooseRandom });
chooseRandom();
setInterval(chooseRandom, 60*60*1000);
console.log('read through bot.js');
Комментарии:
1. не могли бы вы, пожалуйста, подробнее рассказать о том, чего вы пытаетесь достичь. Нравится то, что вы пробовали, и то, что вы видели, и каков ожидаемый результат
2. да .. в основном просто для того, чтобы опубликовать описание и ссылку YouTube прямо в Twitter. Я перепробовал все виды поиска, но многие, похоже, размещают изображение с текстом и т.д., Но, похоже, не могут найти никакой помощи в Google для размещения случайной ссылки.
3. Просто добавлю, что я запустил 100daysofcode challenge около двух недель назад, так что я очень новичок в этом.. Я только что нашел добавление бота для ретвитов забавным, поэтому подумал, что попробую это в качестве своего следующего проекта. Приведенный выше код может быть совершенно неподходящим для данной задачи, поэтому я приношу извинения, если это так.. Но я нуб и готов учиться.
4. ok twitter.post — это асинхронная операция, поэтому вам следует либо использовать обратный вызов, либо обещания, чтобы убедиться, была ли операция успешной или нет
Twitter.post('statuses/update', { status: 'hello world!' }, function(err, data, response) { console.log(data) })
что вы пытаетесь опубликовать, этоphrase
,chooseRandom
это функция в вашем случае Я думаю, что статус должен быть строковым, и вы пытаетесь опубликовать функцию без ее оценки5.если вы новичок, то вам нужно узнать об обратных вызовах / асинхронных операцияхmedium.com/codebuddies /… scotch.io/courses/10-need-to-know-javascript-concepts /…
Ответ №1:
Я следовал вашему коду, чтобы отправлять случайные фразы в твиттере, и это сработало, но они должны быть в массиве.
let phrases= [""]; //this is your array
function tweetIt() {
var posts= phrases[Math.floor(Math.random() * phrases.length)];
let tweet = { status: posts
}