AWS Lightsailでお手軽bot作成 その弐

カバー写真は、著者のイメージのようなものです

構成についてチョット考えてみた

前回「AWS Lightsailでお手軽bot作成 その壱」では、特に説明してなかった Twitter Bot についてチョット説明。

すでに用意しているデータ(投稿テキスト)からランダムに選んで、特定の日時にツイートするシステムを作るよ。誰でもテキストを用意できて、かつDBとかややこしいところまで手を出すこと無く後は勝手にシステムが処理してくれる。省力化!これぞIT!ってな感じのものを作りたいのです。

上記のものを作るために次のことを考えてみたよ
① Google Spreadsheetにテキストを入力すると外部に JSON で吐き出す仕組みが欲しい
② JSONで取得したデータからランダムにテキストを選択して、Twitter に投稿する仕組みが欲しい
③ ②のシステムが特定の時間に勝手に動作してくれる仕組みが欲しい

ぐーぐるすぷれっどしぃーとぉ から ジェイソン

Google SpreadSheet をまず用意します。会社で G Suite を使ってる人もできなくはないですが、外部とのデータ共有設定によっては上手くいかないこともあるので、確実にやりたいなら個人の Google アカウントから作成しましょう。

やり方は、Google先生が教えてくれる。「Google SpreadSheet JSON 出力」と検索すればそれっぽいサイトがヒットするでしょう。自分で頑張るだけがいいわけじゃない。車輪の再発明とか、時と場合を考えてってことで。下記を参考にしました。※弊社および私とは関係ないサイトです

Google SpreadSheet のデータを JSON 形式で取得する Web API をサクッと作る

※注意 もちろん作成したデータはインターネット上でアクセス可能な状況なので、公開したら困るデータは公開しないこと

こんな感じにデータ用意して

ほらちゃんと出力された。幸運の置物大事。

細かい配慮大事ゼッタイ

とまぁ、いいのですが少しは利用者さんのことも思いやっておきましょう。Twitter は文字数制限(140字)があるので、条件付き書式で回避させておきましょう。

ふぅ。。。

Ubuntuさんの設定

ちょっと放置しておりました AWS Lightsail のUbuntu さん。サーバー立てたけど、このままでは何もできませんので環境構築をしていきます。Macとかだと殆ど入ってるので、お金で解決するって素晴らしい・・・ いえ、ちゃんと作っていきましょう。

まずは、PHPのバージョンなにかなということで

$ php -v

って入れると、グチャグチャとなにか物申したい感じのウブンツちゃん。PHP入ってないのか。ならば最新版を入れる感じで。

$ sudo apt-get update
$ sudo apt-get install php7.0-intl php7.0-mbstring

こんなんで PHP の環境は手に入る。 7.1を入れる場合も似たようなもので、Google 先生があなたを助けてくれるでしょう。そういや海外の技術系サイトで見かける「Google is your friend」って、日本語訳は「ググレ◯ス」でいいんですよね?

そして、よく考えると curl(カール)が入ってないのでこれも入れなきゃいけない。カールとは、おやつではなくファイルのアップロードやダウンロードを行うためのプログラムです。

$ sudo apt-get install php7.0-curl

これで入ってるはず。

あとは、投稿するための仕組みと、定時実行する仕組みを作ればおしまい。次回で最終回になりそうですね。よかったよかった。

※社内の勉強を兼ねたネタですので、正規の開発とは異なることは多々ありますがご了承くださいませ

最後までお読みいただき、誠にありがとうございます。


中村聞吾

  • facebook
  • twitter
  • line
  • このエントリーをはてなブックマークに追加

アットファイブで一緒に働きませんか?

エンジニアをはじめ、複数の職種で仲間を募集しています!