Skip to content

nomlab/swimmy

Repository files navigation

Actions Status

swimmy

swimmyとは,B4新人課題で作成した各々のSlackBotを1つにまとめたものである.本プロジェクト名は,絵本作家レオ・レオニ作の絵本「swimmy」に由来し,各々のプログラムをまとめた1つの成果物を表している.

Setup

  • このリポジトリを clone する.

    $ git clone https://github.com/nomlab/swimmy.git
    
  • gem のインストール

    • 以下のコマンドを実行し,gemをインストールする.
    $ gem install bundler
    $ bundle install --path vendor/bundle
    
  • 設定ファイルの作成

    • 以下のコマンドを実行し,.env.sample を .envに変更する.

      $ cp .env.sample .env
      
  • Slack appの作成とOAuth Tokenの取得

  • APIキーの設定

    • Google Maps API の API キー取得

      • Google Maps API へアクセスし,「キーの取得」をクリックする.
      • 「Select or create project」をクリックする.
      • 「Create a new project」をクリックし,プロジェクト名を付ける.
      • 「NEXT」をクリックすると,Google Maps APIキーが作成される.
    • Google Places API の API キー取得

      • Google Place APIへアクセスし, 「キーの取得」をクリックする.
      • 「Create a new project」を選択し,プロジェクト名を決定する.
      • 「Next」をクリックすると API キーが生成される.
    • Yahoo! JAPAN デベロッパーネットワーク Web API の Client ID の取得

      • Yahoo! JAPAN デベロッパーネットワークにアクセスする.
      • ページ上部の「機能」をクリックし,「アプリケーションの開発」をクリックする.
      • 本プログラムの使用者の Yahoo!JAPAN アカウントにログインする.
      • 「新しいアプリケーションの開発」をクリックする.
      • アプリケーション情報を入力し,「ガイドラインに同意する」にチェックを入れ,「確認」をクリックする.
      • Client ID を取得する.なお,Client ID を API キーとして用いる.
    • 取得したAPIキーを.envに記述する.

  • sheetqの設定

  • Google OAuthの設定
    この設定はtodayコマンド,及びphoto_uploadコマンドの使用に必須である.

    1. Google Cloud Console上で作成したOAuthクライアント認証情報をダウンロード(「OAuthクライアントをダウンロード」,「JSONをダウンロード」の順にクリック)し,config/credentials.jsonとして保存する. または,config/credentials.json.sampleをconfig/credentials.jsonとしてコピーし,自身のクライアント認証情報に沿って編集する.
    2. 以下のコマンドを実行し,Google OAuth アクセストークンを作成する.
      $ ./exe/google_oauth_initializer
  • systemdの設定

    • 以下のコマンドを実行する.

      # root ユーザ
      $ cp systemd_conf/swimmy.service /etc/systemd/system/swimmy.service
      $ cp systemd_conf/swimmy_env /etc/default/swimmy_env
      
      # 非 root ユーザ
      $ cp systemd_conf/user/swimmy.service ~/.config/systemd/user/swimmy.service
      $ cp systemd_conf/swimmy_env ~/.config/systemd/user/swimmy_env
      
    • コピーしたswimmy.serviceについて,以下の項目を環境に合わせて設定する.

      5 WorkingDirectory=/home/nomlab/swimmy
      6 ExecStart=/bin/sh -c 'exec /home/nomlab/swimmy/exe/swimmy >> /var/log/swimmy.log 2>&1'
      7 User=nomlab
      8 Group=nomlab
      
    • コピーしたswimmy_envについて,PATHを環境に合わせて設定する.

Run

以下のコマンドを実行することでswimmyを起動できる.

# root ユーザ
$ sudo systemctl start swimmy

# 非 root ユーザ
$ systemctl --user start swimmy

また,以下のコマンドを実行することでswimmyを停止できる.

# root ユーザ
$ sudo systemctl stop swimmy

# 非 root ユーザ
$ systemctl --user stop swimmy