Kotz’i’jに恋して23: Twitterbotによる画像の投稿

TwitterbotのKotz’i’jはマヤの象形文字を中心とした画像も定期的に投稿する様にしている。現在は0~19までの数字と幾つかの象形文字をリストからランダムに選んで投稿しているけど、写真とかも加えていこうかな。

プログラムは何も難しいことは行う必要はない。

 

画像数が30以上あるため、ファイル名をリストとして別に保存してそれを読み込む形とした。これで大分コードがスッキリした。

Kotz’i’jに恋して22: 天気予報の取得

TwitterbotのKotz’i’jに定期的に天気予報のツイートをする機能を加えた。

色々やり方はあるけれど、今回は単純に現在時刻とKotz’i’jの出身地であるケツァルテナンゴ市カンテル市の天気予報へのリンクを貼り付けるだけ。なので新たなgemは必要無い。

これだけ。こんな風にツイートが出来る様になった。これをHerokuで一日3,4回ツイートする設定にした。

Kotz’i’jに恋して21: Kotz’i’j、キチェ語の先生になる

ツイッター・ボット、Kotz’i’jのリプライ機能を少し強化。これです。

スペイン語でCómo se dice と単語を入力し、その単語がリストにあるものと一致した場合、キチェ語に訳すというもの。簡単な辞書の様なものだ。

こんな感じで書いた。

一度返信したツイートに再度返信しないために、前回読み込み以降のツイートのみを読み込む様にするなどそれなりの工夫をした。

ポイントは

で今回の最新ツイートIDを取得し、

で保存。

これを次回min_idとして読み込み

前回読み込んだ以降のツイートのみを読み込む。こんな風にリプライしてくれる。 

だんだん進化してきた。次回は天気予報を定期的にロードする機能を取り入れたいなぁ。

Kotz’i’jに恋して20: Herokuにデプロイ

Herokuで前回までに作成したTwitter Botを動かすこととした。ツイートへの自動リプライなんかをする時にずっと自分のPCを稼働させている訳にもいかないし。

Herokuに登録して、CLIのダウンロードやSinatraのダウンロードを済ませて準備を整えた後(Gitも必要だけどこれは既に環境が整っていた)、実行。

まずはHerokuのレポジトリにgit コミットする。

その後、既にコミットしたファイルに修正が入った場合は改めてコミット。

でHerokuにプッシュする。

幾つかコードを書いたけど例えばこれを実行するとする。

tweets.rb

こうやって

選択肢の中からランダムに選んだツイートにグアテマラの現在時刻を追加することとした。というのも同じ文章を連続で投稿してしまうと反映されないことがあるから。

これで実行できた。

実行結果はこんな感じ。

インドネシア語と認識されたのはちょっと気になるけどそれだけキチェ語は世界的にはマイナーということなんだろうと思う。Chanimとは今、英語のnowの意味でIxim Ulew(トウモロコシの土地はグアテマラの意味)。つまり、現在のグアテマラの時間はということをツイートしている。

これをHeroku上で定期的に実行する設定にした。

Kotz’i’jに恋して19: SSL証明

先程の記事で書いたSSL証明だけど、参照しているディレクトリに証明書がないことが原因と分かった。でそのディレクトリを

で探してみるとこんな

存在もしないディレクトリが指定されていることが分かった。そもそもジャスティンって誰って話。このディレクトリを作り証明書(cert.pem)を入れると先程使った

の一文が無くてもツイート出来る様になった。証明書はココからダウンロード出来る。ディレクトリに入れる際にはファイル名を変更する必要があるけど。