Node.js issue with twitter API/bot



我正在尝试设置一个Twitter机器人API,用于创建自定义映像。当我去运行脚本时,出现以下错误:

D:\TwitterBot\Node1\bot.js:39 media_ids: [同上] ^^^^^^^^^

语法错误:意外的标识符

到目前为止,我的js文件看起来像这样(出于显而易见的原因编辑了API凭据(

console.log("The bot is starting...");
var Twit = require("twit");				
var T = new Twit({
consumer_key:         "...",
consumer_secret:      "...",
access_token:         "...",
access_token_secret:  "...",
})
var exec = require('child_process').exec;
var fs = require('fs');
function processing() {
	console.log('finished');
}
tweetIt();
//setInterval(tweetIt, 1000*60) //1 min
function tweetIt(){
	var cmd = 'processing-java --sketch=rainbow --run'
	exec(cmd, processing);
	function processing() {
		var filename = 'rainbow/output.png';
		var params = {
			encoding: 'base64'
		}
		var b64 = fs.readFileSync(filename, params);
		T.post('media/upload', { media_data: b64 }, uploaded);
		function uploaded(err, data, response) {
			var id = data.media_id_string;
			var tweet = {
	  		status: '#test'
	  		media_ids: [id]
			}
			T.post('statuses/update', tweet, tweeted);
		}
	}
}
function tweeted(err, data, response) {
	if (err) {
		console.log('fail');
	} else {
		console.log('pass');
	}
}	
	

我不太确定从哪里开始寻找,在我看来一切似乎都很好 - 所以如果有人能告诉我我在这里做错了什么,我将不胜感激

它与Twitter API无关,这只是一个SyntaxError你在function tweetIt() {结束时错过了一个结束}

function tweetIt() {
var cmd = 'processing-java --sketch="%cd%\rainbow" --run'
exec(cmd, processing);
function processing() {
var filename = 'rainbow/output.png';
var params = {
encoding: 'base64'
}
var b64content = fs.readFileSync(filename, params);
T.post('media/upload', { media_data: b64content }, uploaded);
}
} // This was missing

或者取决于您要做什么:

function tweetIt() {
/* ... */
} // This was missing
function processing() {
/* ... */
}

更新

进行该更改后,我现在遇到以下错误: D:\TwitterBot\Node1\bot.js:39 media_ids: [id] ^^^^^^^^^ SyntaxError: 意外的标识符 我已经用新代码更新了原始帖子

您在status属性后缺少逗号(,)

function uploaded(err, data, response) {
var id = data.media_id_string;
var tweet = {
status: '#test', // Missing comma (,)
media_ids: [id]
}
T.post('statuses/update', tweet, tweeted);
}

最新更新