4
5

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.

Raspberry piでslackbotを動かす

Last updated at Posted at 2018-05-31

はじめに

久しぶりにラズパイでslackbotを動かしたくなったので、設定した内容まとめ。
過去に一度設定したけど、微塵も覚えてないので、まとめついでに一から設定します。
ついでに、前に設定してなかったip固定とかsystemctlに登録とかしときます。

前提

作業しているPC:Mac(Sierra 10.12.6)
ラズパイ:Raspberry Pi 3 Model B

OS設定編(Macでの作業)

前回何設定したか覚えてないので、OS入れ直してついでにIPを固定しておく。
OSはここから好きなものをダウンロードする。
今回はRaspbianのwith Desktopの方を入れる。
※普通にライトで良かったなーと今更思った。

ダウンロードが終わったらSDカードをMacに挿してOSを入れる。
ここの処理を間違えると悲惨なことになるらしいので要注意。

# コピー先を探す
$ diskutil list 

# 一旦外す
$ diskutil unmountDisk /dev/disk6(※今回はたまたまdisk6だった)

# コピーする
$ sudo dd bs=1m if=[入れたいOS] of=/dev/rdisk6

ラズパイを起動する前にSSHの設定をしておく。
予めsshファイルを作って置けば最初からSSHで繋がるようになっているらしい。
やっとかないとあとで設定が必要そう。

# 中身はなくていいから作るだけ作っとく
$ touch /Volumes/boot/ssh

ラズパイ設定編

ラズパイを起動し早速ターミナルでいろいろ設定。

IP固定化

いちいち変わられても接続するのが面倒くさいので固定する。

$ sudo vi /etc/dhcpcd.conf

# 以下内容を追記
interface wlan0
static ip_address=[設定したい固定IPアドレス]/24
static routers=[デフォルトゲートウェイのIPアドレス]
static domain_name_servers=[DNSサーバーのIPアドレス]

# [SSID]と[PASSPHRASE]は環境に合わせて変更
# /etc/wpa_supplicant/wpa_supplicant.confにパスワードが書かれるので、嫌なら消しとく
$ sudo sh -c 'wpa_passphrase [SSID] [PASSPHRASE] >> /etc/wpa_supplicant/wpa_supplicant.conf'

# 最後に再起動
$ reboot

これでipアドレスが固定されればOK。

slackbotを入れて動かす

botはPythonで動かすことにする。
Slack側の設定は終わってる前提です。
ライブラリはpip3 install slackbotでインストールしておく。
※ついでにvimも入れとく人はsudo apt-get install vimも叩いとく。

準備が出来たらbotを作成する。
とりあえず最小構成で動くとこまで。
フォルダ構成、ソースは以下の通り。

$ cd '任意のフォルダ'
# bot動かすファイル
$ touch run.py
# botの設定を書くファイル
$ touch slackbot_setting.py
# プラグインを入れとくフォルダ作成
$ mkdir plugins
# プラグインとして認識してもらうために、空ファイルでいいので作成
$ touch ./plugins/__init__.py
run.py
# -*- coding: utf-8 -*-

from slackbot.bot import Bot


def main():
bot = Bot()
bot.run()


if __name__ == "__main__":
main()
slackbot_setting.py
# -*- coding: utf-8 -*-

API_TOKEN = "slackで確認したTOKEN"

default_reply = "は?何言ってんの?"


PLUGINS = [
'plugins'
]

ファイルを用意したら、python3 run.pyで起動。
話しかけて、返事してくれればOK。

botをサービス化しとく

python3 run.py &とかで動かしておいても問題ないけど、一応ちゃんと設定しておく。
手順とファイルの内容は下記の通り。

# unit定義ファイル作成
$ sudo vim /etc/systemd/system/runUbibot.service

# リストにいることを確認
$ sudo systemctl list-unit-files --type=service | grep runUbibot
# 自動起動設定しておく
$ sudo systemctl enable runUbibot.service
# 起動
$ sudo systemctl start runUbibot.service
runUbibot.service
[Unit]
Description = 説明

[Service]
ExecStart = ~~/start.sh(絶対パスで)
# 再起動設定
Restart = always
Type = simple

[Install]
WantedBy = multi-user.target
start.sh
# このファイルに実行権限を与えとく`chmod 0777`とか
#!/bin/bash

# 直接これを指定する方法がわからなかったので、shell経由
python3 run.py

これで動いていればOK。

おまけ

ユーザの追加

$ sudo /usr/sbin/useradd --groups sudo -m ユーザID
$ sudo passwd ユーザID

passwordの変更

$ sudo passwd 変更したいユーザ

ユーザの削除

$ userdel -r 消したいユーザ

まとめ

これでいつ、ラズパイが消し飛んでも復活できるはず。
備忘録としてまとめておきます。

4
5
1

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
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?