Twitter Bot Node.js 和 Twit 包

Posted

技术标签:

【中文标题】Twitter Bot Node.js 和 Twit 包【英文标题】:Twitter Bot Node.js and Twit Package 【发布时间】:2019-04-10 14:17:43 【问题描述】:

问题

所以我尝试创建一个 twitter 机器人,一切都很顺利,直到我尝试自动回复关注我的用户。 我正在学习并正在观看本教程 Coding Train Twitter Bot(LINK) 但我似乎得到了这个 error(PHOTO) 即使我所做的一切都完全相同。

我正在使用

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

导入包

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

流设置

我相信错误在流部分的某个地方,但我不明白...我所做的一切都与视频相同。也许 twitter 从他们的 API 中阻止了这个?我知道我在说什么,但任何反馈都会很棒。

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');

回复/推文功能

function tweetIt(txt) 


var tweet = 
status: txt



T.post('statuses/update', tweet, tweeted);


function tweeted(err, data, response) 
    if (err) 
        console.log("oof! Something went wrong!");
     else 
         console.log("Tweet sent successfully!");

    
   

错误信息

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)....等

【问题讨论】:

【参考方案1】:

Twitter 用户流已于 8 月停用,因此此代码将不再按原样工作。

【讨论】:

【参考方案2】:

401 状态代码表示您不是未经身份验证的 - 应该有额外的 WWW-Authenticate 标头作为响应,它会告诉您更多信息。

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

【讨论】:

以上是关于Twitter Bot Node.js 和 Twit 包的主要内容,如果未能解决你的问题,请参考以下文章

如何将 postgres 查询分配给 node.js、Discord bot 和 postgres 集成中的变量?

如何在Node.js应用程序中使用Javascript来获取外部网页信息/ webscraping?

类型错误:不是 NODE JS DIScord Bot 中的函数 [关闭]

Discord bot 在尝试播放链接后崩溃(Node.js)

使用 socket.io/node.js 在网页上显示流式 Twitter

Bot Emulator 连接到另一台机器上的 Node.js 服务