Skip to content

yananananarn/weatherbot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 

Repository files navigation

天気Bot

LineNotifyで天気を通知してくれるBOTです。

各自で指定すること

入力項目は3つあり、各自で任意のトークン・都市・通知時間を入れれば誰でも使えるようになると思います。トークン発行は必須です

  • アクセストークンの発行でお世話になったサイト様

  • 都市名はこの中にあるものをお使いください

  • 通知時間は「HH:MM」の形式(例:09:30)

    • おすすめは 00:00 ~ 04:59 です。(気象庁の情報が朝5時に切り替わり、最低気温の情報がなくなるため)

ファイルの自動起動について

私の環境ではRaspberry Piで実行していますが、再起動をしても自動的にファイルが起動するようにしました。

少し手間取ったため一応ここに記載します。いくつか方法はあるらしいですが、systemdを使いました。 Linuxでもできると思います。

手順

  1. 自動起動の設定ファイルを作るため、まずcd /etc/systemd/systemで適切な場所に移動する

  2. 次にファイルを作る。sudo nano [サービス名].serviceでファイルを作り、編集する。
    [サービス名]は任意の名前。今回はweatherbot.serviceにしている

  3. 設定の詳細を記述する。{ }この括弧があるところは各自の環境で修正してください。( { }この括弧はいらない )

[Unit]
Description={ 任意の説明文(例:Do weatherbot) }
After=network-online.target
ConditionPathExists={ 実行ファイルがおいてあるディレクトリのパス(例:/home/pi/desktop) }

[Service]
ExecStart=/usr/bin/python3 { 実行ファイルのパス(例:/home/pi/desktop/weatherbot.py) }
Restart=always
RestartSec=10
Type=simple

[Install]
WantedBy=multi-user.target
  1. 入力できたらCtrl + Oで保存、Ctrl + Xでエディタを抜ける。

  2. 作成した設定ファイルをsudo systemctl start [サービス名].serviceでサービスを開始。
    正しく起動しているかどうかはsudo systemctl status [サービス名].serviceにて確認できる

  3. まだこの状態だと電源を落とすと止まってしまうため、sudo systemctl enable [サービス名].serviceを打つ。 そうすることで機器を起動した際に自動起動ができるようになる。

  4. 後は再起動をしてきちんと自動実行ができているかどうか確認する

もしImportError: No module named scheduleのようなエラーが出たとき

上記のエラーが出たときは、scheduleモジュールがきちんとインストールされていないときです。
恐らく普通に実行する際は問題ないのですが、systemdで実行しているとユーザーディレクトリにモジュールをインストールしていた場合に参照ができないらしいです。

なのでsudo pip3 install scheduleという風にスーパーユーザーで実行することでrootにインストールができ、systemd側が見つけられるらしいです。

大変参考にしたサイト様

プログラム作成

ファイルの自動起動設定

天気APIの使用元

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages