こんばんは!今年も気がつけば12月になりました。世界的に見れば、コロナが主役になった1年間だったのかなと思います。個人的には、研究室に配属されて自宅で研究の日々だったので、コロナの影響は限定的でした。今年の新入生は大変だと思いますけど、サークルに入るならオリエンテーリングおすすめですよ(急に宣伝(笑))。
さて、昨年から始まった広島大学ITエンジニアアドベントカレンダーですが、昨年は、「情報系学生向け就活サイトまとめ」と「プログラミングやAIについて学べるサイトまとめ」という記事を書きました。今年は、自作(?)したTwitterのbotについて書きたいと思います。
というわけで、この記事は、広島大学ITエンジニア Advent Calendar 2020 の12月12日の記事です。
お天気たしんbotの機能
お天気たしんbotの現在の機能は、大きく3つに分けられます。
ランダムツイート
- 友人きたしんが過去に語ったことば
更新情報ツイート
- 広島大学学生向け情報サイトmomijiの一部の更新情報
- 広島大学HP「重要なお知らせ」の更新情報
- 広大図書館「利用者のみなさまへ」の更新情報
自動実行ツイート
- 広島県東広島市の雨予報
今回は、技術的な側面から、利用しているサービスについて書いていきたいと思います。すべて無料のサービスを利用しています。リリースノートはコチラのページにあります。
なぜ「お天気たしんbot」?
ちなみに、なぜ「お天気たしんbot」なのかというと、最初は「きたしん(人名)」の発言をbotがつぶやくだけのシンプルなものだったんです。そのあと、天気予報の自動ツイート機能を追加しました。そのタイミングで「お天気」+「きたしんbot」で「お天気たしんbot」と改名し、現在に至りました。
twittbot – ボット生成サービス
自動ツイートには、「twittbot」というサービスを使っています。無料で最大700ツイートを登録でき、指定した時間間隔で自動ツイートしてくれます。他にも、自動フォロー返しや自動返信など、様々な機能があります。自動返信機能は、対象ツイートを正規表現で指定し、そのツイートに対する返信を予め作成しておくと、該当するツイートに対して自動で返信する機能です。ほとんどの機能が無料で利用できます。(プレミアム・バージョンに登録したことがないので、課金するとどんないいことがあるのか分かりません)
Feed43 : Convert web pages into professionally looking RSS feeds
更新情報のツイートは、①対象サイトのRSSを作成し、②Twitter管理ツールでRSSを自動ツイート登録、という2つのステップで作成しています。「Feed43」は無料でRSSを作成できるサービスです。
Feed43の詳細な利用方法は省きます(検索すれば出てきます)が、大まかにいうと、①URLを指定、②RSSで取得したい情報を正規表現で指定、③出力フォーマットの指定、という流れです。
SocialDog – スマートで効率的な Twitter アカウント運用ツール
SocialDogは有名なTwitter分析ツールですが、RSSの自動投稿機能も備えています。無料枠では、RSSは3つまで登録でき、最短で1時間おきに更新がないかチェックします(お金を払うと、RSSの登録数を増やしたり、更新頻度を5分おきに設定できるらしいです)。Feed43で作成したRSSのURLを貼り付ければ、あとは自動でツイートしてくれます。
Social Media Auto Poster and Scheduler – dlvr.it
SocialDogのRSS自動投稿の無料枠は3つまでなので、「dlvr.it」も併用します。これも有名なSNS管理ツールです。無料枠では、RSSは50(?)個まで登録できますが、更新頻度が最短で3時間おきという点と、一日の投稿の上限数が3つという点が難点です。
Heroku
広島県東広島市の雨予報のツイートは、①Webスクレイピングで降水確率を取得、②取得した情報を基にツイート、という2つの操作を記述したコードをHerokuのサーバーに上げて、定期実行しています。簡単なコードを一日に2回実行するのみなので、無料枠の範囲内で実現できています。
おわりに
以上、使っているサービスについてざっくりと説明してみました。
Twitterは便利なツールを駆使することで簡単にbotが作れるので、皆さんも是非遊んでみてください!