どのようにコードの17行でシンプルなツイッターボットを構築する
11937 ワード
数ヶ月前、私はこのツイッターボットを作成しました.何か?それは17行のコードだけでした.私がこれを共有している理由は、私がそれが狂っていると思うので、オンラインサービスがあなたがちょうどあなた自身を造ることができるとき、BOTをつくる単純なツールのために少なくとも15ドルを請求する方法です.それで、あなたは準備ができていますか?
ここでは、BOTをビルドするために使用します. ノード.js — インストールhttps://nodejs.org/en/
ねじり — TwitterのAPIクライアントのノード(私を信じて、それはツイート).https://github.com/ttezel/twit
aaaandそれは基本的にそれです.
アプリケーションの作成
我々はコードを書くに入る前に、我々の設定をTwitterのアプリケーションにする必要があります.あなたはそれを行うことができます.を押して“新しいアプリを作成”ボタンをクリックすると、これはあなたが表示されます何です
情報を入力します.あなたがウェブサイトを「ウェブサイト」フィールドに置く必要がないならば、あなたはちょうど書くことができますhttps://www.example.com .
一度アプリケーションを作成すると、“キーとアクセストークン”タブに注意する4つの重要なことがあります 消費者キー 消費者秘密 アクセストークンキー アクセストークン あなたの「アクセストークンキー」と「アクセストークン秘密」を見ないならば、ちょっと「私のアクセストークンをつくってください」ボタンをクリックしてください、そして、あなたはセットされます.
プロジェクトの初期化
あなたのTwitterボットのための新しいディレクトリにCMDまたは端末とCDを開き、コマンドを実行します.
注意:エントリポイントを変更した場合
楽しいへんパート
あなたの好みの空白のテキストエディタを開き、TwitterのAPIにリクエストをするために使用できるツイートのインスタンスを作成します.設定は次のようになります.
次に、あなたがretweetしたいユーザの文字列IDを保持する配列を作成します.
さあ、イベントつぶやきが解雇されると、そのストリームを聞きます.
行4は基本的にツイートを使用してツイートにツイートを使用しています
ボットを走らせてください!
それは基本的に、あなただけのコードの17行であなたの最初のTwitterボットを作成!実行するには、このコマンドをcmdまたはterminalで実行します.
将来更新
あとで別のポストを書きます.Herokuにボットを展開する方法を説明します.そうすれば、ローカルシステム24/7でそれを実行する必要はありません.
最終コード
ここでは、BOTをビルドするために使用します.
アプリケーションの作成
我々はコードを書くに入る前に、我々の設定をTwitterのアプリケーションにする必要があります.あなたはそれを行うことができます.を押して“新しいアプリを作成”ボタンをクリックすると、これはあなたが表示されます何です
情報を入力します.あなたがウェブサイトを「ウェブサイト」フィールドに置く必要がないならば、あなたはちょうど書くことができますhttps://www.example.com .
一度アプリケーションを作成すると、“キーとアクセストークン”タブに注意する4つの重要なことがあります
プロジェクトの初期化
あなたのTwitterボットのための新しいディレクトリにCMDまたは端末とCDを開き、コマンドを実行します.
npm init
と情報を入力します.次に、適切な依存関係をインストールする必要があります.npm install twit --save
では、インデックスと呼ばれるディレクトリにファイルを作成します.JS畝注意:エントリポイントを変更した場合
npm init
次に、ファイル名がpackage.json
. あなたが何も変えなかったならば、心配しないでくださいindex.js
.楽しいへんパート
あなたの好みの空白のテキストエディタを開き、TwitterのAPIにリクエストをするために使用できるツイートのインスタンスを作成します.設定は次のようになります.
var Twit = require('twit')
var T = new Twit({
consumer_key: ' ... ',
consumer_secret: ' ... ',
access_token: ' ... ',
access_token_secret: ' ... ',
})
置換する' ... '
あなたの消費者とアクセスキーで.次に、あなたがretweetしたいユーザの文字列IDを保持する配列を作成します.
var users = ["10228272", "155659213", "783214"];
今、フォームにあるストリームを作成しますT.stream(path, [params])
:var stream = T.stream('statuses/filter', {follow: users});
キーの2番目のパラメータに注意してくださいfollow
値を変数として設定しますusers
.さあ、イベントつぶやきが解雇されると、そのストリームを聞きます.
stream.on('tweet', function (tweet) {
if (users.indexOf(tweet.user.id_str) > -1) {
console.log(tweet.user.name + ": " + tweet.text);
T.post('statuses/retweet/:id', { id: tweet.id_str }, function (err, data, response) {
console.log(data)
})
}
})
この関数は、ステータス( Tweet )がストリームに入るたびに発行されます.行2は、ツイートされたユーザのIDが配列に存在することを保証するために必要であるusers
.行4は基本的にツイートを使用してツイートにツイートを使用しています
id
of tweet.id_str
. つぶやきオブジェクトの他のプロパティをチェックしたい場合は、以下のようにします.ボットを走らせてください!
それは基本的に、あなただけのコードの17行であなたの最初のTwitterボットを作成!実行するには、このコマンドをcmdまたはterminalで実行します.
node index.js
将来更新
あとで別のポストを書きます.Herokuにボットを展開する方法を説明します.そうすれば、ローカルシステム24/7でそれを実行する必要はありません.
最終コード
var Twit = require('twit')
var T = new Twit({
consumer_key: ' ... ',
consumer_secret: ' ... ',
access_token: ' ... ',
access_token_secret: ' ... ',
})
var users = ["10228272", "155659213", "783214"];
var stream = T.stream('statuses/filter', {follow: users});
stream.on('tweet', function (tweet) {
if (users.indexOf(tweet.user.id_str) > -1) {
console.log(tweet.user.name + ": " + tweet.text);
T.post('statuses/retweet/:id', { id: tweet.id_str }, function (err, data, response) {
console.log(data)
})
}
})
Reference
この問題について(どのようにコードの17行でシンプルなツイッターボットを構築する), 我々は、より多くの情報をここで見つけました https://dev.to/oohsinan/how-to-build-a-simple-twitter-bot-in-17-lines-ofcode-2aanテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol