我正在尝试设置一个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);
}