4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Twitter_bot 作成①

Last updated at Posted at 2021-03-20

学習用にTwitter botを作成してみようと思ったので、Twitterbot作成過程を記録します。

Twitter developerへの登録

https://blog.mimipen.net/entry/2019/07/07/231145
上記記事を参考に、Twitter developerへの登録を行いました。
英語ばかりで少し難解な部分もありましたが、なんとか完了。

完了後にAPI keyとAccess tokenが必要なのでそちらを発行し、後々使う時のためにメモしておきます。

GitHub上でリポジトリを作成後、ローカルマシンにクローン

ここはそんなに難しくはないので問題なしです。
git配下にtwitter-bot-1というファイルをクローンし作成しました。

rails newする

twitter-bot-apiディレクトリ上でrails newを行いました。

$ rails __new__ . -d myspl
としデータベースにmysplを指定した状態でrails newしました。

docker-compose.ymlファイルの作成

Gemfileと同階層にdocker-compose.ymlというファイルを作成し、以下の記述を行いました。

version: "3.2"

services:
  database:
    restart: always
    image: mysql:latest
    ports:
      - 3306:3306
    command: --default-authentication-plugin=mysql_native_password
    volumes:
      - mysql-datavolume:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: root

volumes:
  mysql-datavolume:
    driver: local

上記の記述は以前mysql2でLineBotを作った時に使ったものをそのまま引用したのですが、これで$ docker-compose up -dとしても「port番号が既に使われているよ!」というエラーが発生してしまいました。

おそらくports:の部分の記述を変更すれば良いのだろうなーとは思ったので、その辺りをググりport: -3316:3306と修正しました。

これで$ docker-compose up -dは通りました。

database.ymlの修正

こちらも過去に作成したものを参考に、config/database.ymlを以下のように修正しました。

default: &default
  adapter: mysql2
  encoding: utf8
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  username: root
  password: root
  host: 127.0.0.1

development:
  <<: *default
  database: twitter_bot_1_development

test:
  <<: *default
  database: twitter_bot_1_test

production:
  <<: *default
  database: twitter_bot_1_production
  username: twitter_bot_1
  password: <%= ENV['TWITTER_BOT_1_DATABASE_PASSWORD'] %>

上記のようにdatabase.ymlを修正後$ bundle exec rails sとしたところ、エラーが発生しました。

エラー文を読み取っていくと「webpackerをインストールしなさい」と記載があったので、指示通りにwebpackerをインストール。エラーは解決できました。
プログラミングを学習し始めた時はエラー文一つでテンパリまくっていましたが、2ヶ月ほど勉強したら少しは落ち着いて対処できるようになりました。

$ bundle exec rails sを実行後、localhost:3000にアクセス成功しました。

本日はここまでです。
作成が進んだら、再度記事UPしていきます。

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?