Chapter 02無料公開

まずは準備

本書の内容を実行するには以下のコマンドおよび言語処理系が必要になります。なお環境は Ubuntu Linux を想定していますが、少し変更する事で簡単に他の環境に移植する事もできるでしょう。

  • twty コマンド
  • jq コマンド
  • curl コマンド
  • Go言語

与えられたテキストを元に加工されたテキストを出力する。この1つの事をうまくやるコマンドをうまく組み合わせる事でシェルスクリプトはどんな物でも実装できるのです。

ただし筆者は目的の機能を実装する為に、全てをシェルスクリプトのみで実装する事は可能な限り避けたいと考えています。

twty コマンドのインストール方法

本章の最後に述べるGo言語をインストールした後に以下を実行します。

$ go get github.com/mattn/twty

これだけです。Twitter で呟ける様にするには twty コマンドを引数なしに実行します。

Open this URL and enter PIN.
https://api.twitter.com/oauth/authenticate?oauth_token=...
PIN:

ブラウザが起動するので Authorize app ボタンを押してください。気を付けておいて欲しいのは、これは bot のアカウントでないといけません。いつもログインしている Twitter アカウントのまま 認証してしまうと以降で動作する bot の発言が本アカウントに流れてしまいフォロワに心配されてしまいます。

ボタンを押すと7桁の数字がブラウザに表示されるので、その番号を上記の PIN: の後に入力して下さい。異常なくコマンドが終了すれば twty コマンドの準備は完了です。既に twty コマンドをお使いの方は環境変数 TWTY_ACCOUNT に bot 名などを設定した上で上記の準備を実行して下さい。

以降の解説で twty コマンドを使う箇所では TWTY_ACCOUNT を設定しておくのをお忘れなく。

jq コマンドとcurlコマンド

以下のコマンドでインストールしておいて下さい。

$ sudo apt install jq curl

Go言語

以下のURLから環境にあった、できれば最新のバージョンのアーカイブをダウンロードします。

https://golang.org/dl

例えば 64bit Linux であれば go1.15.2.linux-amd64.tar.gz をダウンロードし、以下を実行します。

$ sudo rm -rf /usr/local/go
$ sudo tar -C /usr/local xzf go1.15.2.linux-amd64.tar.gz

最後に go コマンドが使える様に、以下をログインシェルに設定します。bash であれば以下を追加します。

export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin

ここまで出来れば後は vim や vim、あとは vim といったテキストエディタを使ってシェルスクリプトを実装しましょう。

他のテキストエディタを使って頂いても構いません

Twitter bot アカウントの準備

本書では長くなってしまうので Twitter bot 専用のアカウント取得方法については割愛します。ただしスパムアカウントになってしまわない様、以下を一読しておくと良いです。

https://blog.twitter.com/developer/ja_jp/topics/tools/2018/at_mul.html