使用Twitter的API构建Twitter机器人是TwitterAPI的基本应用之一。要使用 Nodejs 构建 Twitter 机器人,您需要先执行以下步骤,然后再继续:
- 为自动程序创建新帐户
- 在developer.twitter.com申请 API 访问
- 确保计算机上安装了 Node.js 和 NPM
我们将构建一个Twitter机器人与Nodejs跟踪一个特定的标签,然后喜欢和转推每一个包含该标签的帖子。
启动和运行
首先,您需要通过运行 npm init
和填充所需的参数来初始化节点应用。接下来,我们安装 Twit,一个 NPM 软件包,它可以轻松地与 Twitter API 进行交互。
xxxxxxxxx
$npm安装twit-保存
之后,您需要将这些键设置为要在应用中使用的环境变量。
您可能还喜欢:
使用推特与Python和Tweepy
构建机器人
现在,在应用程序的输入文件中,使用 Twitter 应用中的密钥初始化 Twit。
xxxxxxxxx
索引.js
康斯特·特威特=要求("twit");
康斯特T=新特威特(*
1px;”• consumer_key:进程。env.APPLICATION_CONSUMER_KEY_HERE,
consumer_secret过程。env.APPLICATION_CONSUMER_SECRET_HERE,
access_token过程。env.ACCESS_TOKEN_HERE,
access_token_secret过程。env.ACCESS_TOKEN_SECRET_HERE
});
收听事件
Twitter 的流式 API允许访问两个流:用户流和公共流。我们将使用公共流,这是所有公共推文的流。您可以在文档中阅读更多关于它们。
我们将从公共推文流中跟踪关键字,因此自动程序将跟踪包含”#JavaScript”(不区分大小写)的推文。
跟踪关键字
9722px;”>
xxxxxxxxxx
索引.js
康斯特·特威特-要求("特威特");
康斯特T-新特威特
consumer_key流程。关于 .APPLICATION_CONSUMER_KEY_HERE,
consumer_secret流程
APPLICATION_CONSUMER_SECRET_HERE,
access_token过程。env.ACCESS_TOKEN_HERE,
access_token_secret过程。env.ACCESS_TOKEN_SECRET_HERE
});
启动流和跟踪推文
康斯特流=T.流("状态/过滤器",=跟踪"#JavaScript"*);
事件处理程序
流
9896px;”>
在此处执行某些操作
});
响应事件
现在,我们已经能够跟踪关键字,我们现在可以使用包含此类关键字的推文在我们的事件处理程序函数中执行一些魔术。
Twitter API 允许与平台进行正常交互。您可以创建新的推文,例如,转推、回复、关注、删除等。我们将只使用两个功能,它们是类似和转推。
xxxxxxxxx
2222px;”>
索引.js
康斯特·特威特=要求("twit");
康斯特T=新特威特(*
consumer_keyAPPLICATION_CONSUMER_KEY_HERE,
consumer_secretAPPLICATION_CONSUMER_SECRET_HERE,
access_tokenACCESS_TOKEN_HERE,
access_token_secretACCESS_TOKEN_SECRET_HERE
});
1px;”[// 启动流和跟踪推文]
康斯特流=T.流("状态/过滤器",=跟踪"#JavaScript"*);
用它来记录来自请求的错误
函数响应回调(错误数据响应) |
控制台.日志(错误);
}
事件处理程序
流。上('tweet'tweet> {}
1px;”* // 转推
T. .帖子('状态/转推/:id', @id推文.id_str响应回调"
// 喜欢
T. .帖子('收藏夹/创建', @id推文.id_str响应回调"
});
转推
要转推,我们只需发布到 statuses/retweet/:id
也传递的对象,其中包含推文的 ID。第三个参数是发送响应后调用的回调函数。虽然是可选的,但当出现错误时收到通知仍是一个好主意。
喜欢
要与推文一样,我们将发布请求发送到 favourites/create
终结点,同时使用 ID 和可选回调函数传入对象。
部署
现在,机器人已准备好部署。我使用 Heroku 来部署节点应用,因此下面我将给出一个简短的演练。
首先,您需要下载 Heroku CLI 工具。下面是文档。该工具需要 git 才能进行部署。还有其他方法,但从 git 进行部署似乎更容易,因此下面是文档。
在 Heroku 中有一个功能,你的应用在一段时间不活动后进入睡眠状态;这可能被看做是一个错误。请参阅此处的修复程序。
您可以在 Twitter 文档中阅读更多内容,以构建更大的应用程序。它有所有你需要知道的信息com/Dunebook/js-bot”rel=”不跟随”目标=”_blank”=下面是源代码,以防您感兴趣。