Twitter Bot Node.js和Twit软件包

时间:2018-11-07 06:35:42

标签: javascript node.js twitter bots node.js-stream

问题

因此,我尝试创建一个Twitter机器人,一切都进行得很好,直到我尝试自动回复关注我的用户。 我正在学习,并且正在从本教程Coding Train Twitter Bot(LINK)观看,但是即使我所做的一切都完全一样,我似乎也得到了error(PHOTO)

我正在使用

  • Node.js
  • NPM
  • Windows CMD命令提示符
  • 崇高文字3

导入软件包

<?xml version="1.0" encoding="UTF-8"?>
<Response>
  <Say>This call is being recorded for quality assurance purposes</Say> 
  <Dial record="true">
    <Number url="https://handler.twilio.com/twiml/xxxxxxxxxxxxxxxxxxxxxxx">
      18582208650
    </Number>
  </Dial>
</Response>

流设置

我相信错误是在流部分的某个地方,但是我不明白...我所做的一切与视频相同。也许Twitter从其API阻止了此操作? idk我在说什么,但是任何反馈都会很棒。

var Twit = require('twit');
var Keys = require('./private_auth_keys');
var T = new Twit(Keys);

回复/鸣叫功能

var stream = T.stream('user');


stream.on('follow', followed);


function followed(eventMsg) {
    console.log("New Follower Reply Sent!");

    var Name = eventMsg.source.name;
    var screenName = eventMsg.source.screen_name;



tweetIt('Heyyy .@' + screenName + ' thanks for the follow! Do you like memes? #RateThatMeme');
}

错误消息

events.js:167       投掷者//未处理的“错误”事件       ^

错误:Twitter流请求不正确:401     在Object.exports.makeTwitError(C:\ Users \ admin \ Desktop \ Projects Code Train \ node \ node2 \ node_modules \ twit \ lib \ helpers.js:74:13)....等

2 个答案:

答案 0 :(得分:1)

401状态代码表示您尚未通过身份验证-作为响应,应该有附加的WWW-Authenticate标头,以告诉您更多信息。

我认为自从录制了本教程以来,twitter API发生了变化,您现在必须做更多才能访问它,这可能是401状态的原因。据我所知,the author moved to mastodon with this tutorial lately正因为如此。

答案 1 :(得分:1)

Twitter用户流已于8月退出,因此该代码将不再照常工作。