1. TOP
  2. Web制作
  3. Node.jsでTwitterのbotを作成してみた【超初心者向け】

Node.jsでTwitterのbotを作成してみた【超初心者向け】

偉大な先人達の記事を参考に、Node.jsでTwitterのbotを作成しました。

自分が疑問だったりつまづいたりした部分も合わせてまとめておきます。

※わかりやすさを重視しているので、厳密な表現ではありません。ご容赦ください。

動作環境: Mac 

※Macなら何もしなくても初めからNode.jsが使えるみたいです。公式サイトから無駄にダウンロードしちゃった。

作業時間の目安:(調べながらの作業で、)1時間

この記事通りすんなりいけば、20分ほどで終わるのではないかしら。

やること(目次)
Twitterのアカウントを用意し、botを利用できるようにする
javascriptで、botが投稿するためのコードを書く
Node.jsにTwitterの機能を付ける
botでのツイートを実行する

Twitterのアカウントを用意し、botを利用できるようにする

まずは、botに使うTwitterのアカウントを用意してください。

次に、Twitterアプリであなたのbotを登録します。

先ほど用意したアカウントにログインした状態で、Create New Appというボタンを押しましょう。

名前、説明、Webサイトなど入力必須項目がありますが、Webサイトは「決まっていないなら一旦は仮でも大丈夫」とあります。私はとりあえず個人用のサイトのURLを入れておきました。

(URLとしての形を成している文じゃないと、はじかれるようです。)

javascriptで、botが投稿するためのコードを書く

Node.jsは、サーバー側で動いてくれるjavascript。

結局はjavascriptなので、コードを書きましょう。

私はWebデザイナー御用達のエディタ「Brackets」でコードを書きました。

(Mac標準装備のテキストエディタでも、一応「右クリック→情報→名前と拡張子」から.jsに変更できそうでしたが、念のため専用のエディタで作りました。)

—————- コードここから ————————–

var twitter = require('twitter');

var client = new twitter({
consumer_key : "XXXXXXXXXXXXXXXXXXXXX" /* 各自記入 */,
consumer_secret :"XXXXXXXXXXXXXXXXXXXXX" /* 各自記入 */,
access_token_key : "XXXXXXXXXXXXXXXXXXXXX" /* 各自記入 */,
access_token_secret : "XXXXXXXXXXXXXXXXXXXXX" /* 各自記入 */
});
var params = {screen_name: 'nodejs'};

client.post('statuses/update', {status: 'I am a tweet'}, function(error, tweet, response) {
if (!error) {
console.log(tweet);
}
});

—————- コードここまで ————————–

各自記入のところは、Twitterアプリのページで確認します。

下ふたつ(access〜)は、consumer_keyなどが書いてある下に、それらしいボタンがあるので押すと表示されるようになりました。

記述できたら、app.jsという名前でデスクトップに保存しましょう。

(保存場所はどこでもいいですが、わかりやすくするためです。)

※コードの参考:

node.jsを使ってtwitter botを作ってみる – Qiita

node-twitter/examples at master · desmondmorris/node-twitter · GitHub

Node.jsにTwitterの機能を付ける

先ほどのjavascriptをそのまま実行すると、「Twitterのモジュールがないよ」とエラーで言われてしまいます。

Node.jsは、npm(Node Package Manager)を使って、追加の機能を付けていくことができます。(npmは、Node.jsと一緒に最初から備わっています。)

npmを使って、Node.jsにTwitter用の機能をインストールしましょう。

コマンドプロンプトを起動しておく

やり方は少し特殊です。web上で「ダウンロード」ボタンを押すのではなく、コマンドプロンプトを起動してコマンドを入力していく必要があります。

とはいえ、簡単です。MacのLaunchpad(ロケットマーク)で、「その他」というようにまとめられているフォルダを探してください。その中の「ターミナル」を起動してください。これを使います。

場所がわからなければこちらを参考にしてください。

※windowsの場合は、ウィンドウズのロゴ・窓マークのキーを押すと、アプリを検索できる窓が出てくると思うのでそこで「cmd」と打つと起動できます。

※背景が黒いほうがプロっぽくて好きな人は、ターミナル→環境設定→Proを選んでターミナルを再起動してください。

npmの動作確認をし、Twitterのパッケージをインストールする

見慣れない人は戸惑うと思いますが、ターミナルで表示されている文の後ろに、自分で何かを入力することでパソコンに命令できます。まずは動作確認のため、

npm --version

と 入力し、Enterを押してください。「5.〜」と数字が出てきたら、npmは動作します。

以下のように入力し、Twitter用パッケージをインストールしましょう。

npm install twitter

実行した結果、多少エラーが出ましたが、気にしなくてもTwitterへの投稿はうまくいくはずです。

※この工程ではこの記事が助かりました。モジュールなんて知らんかった・・。

botでのツイートを実行する

ようやく、botでのツイートができるようになりました。

先ほどから使っているターミナルで、以下のように入力し、実行します。

node ファイルのパス/app.js

上記のファイルのパス部分は、慣れない内は入力が難しい部分です。

先ほど、app.jsを作っておいた場所(デスクトップ)からターミナルに向けて、app.jsをドラック&ドロップしましょう。

こうすることで、パスを入力しなくてもターミナルが勝手に補完してくれます。

「I am a tweet」と投稿されていたら、成功です。

 

Sponsored Link