Skip to content
Goで書いたMastodonのbot。MySQLとJuman++との合わせ技です。
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
cmd/mastobots
.gitignore
DB.go
LICENSE
MastoApp.go
Persona.go
README.md
database_tables.sql
geocoding.go
mastobots.go
monitor.go
textAnalysis.go
timer.go
voluntaryToot.go
weather.go

README.md

mastobots

お好みの単語が含まれるRSSアイテムを探し、コメントをつけて定期的にトゥートするbotです。メンションに反応するなどの機能もあります。

MySQLデータベースに保存された日本語のRSSアイテムをJuman++で形態素解析し、好みの単語をその結果と照合します。

データベースには別途、feedAggregatorなどを使ってRSSアイテムを読み込んでおく必要があります。

設定ファイル(config.yml)にbotごとの情報を記入すれば、何匹でもbotを駆動することができます。

動作環境

  • Ubuntu 18.04.02
  • Go 1.12
  • MySQL 5.7.25
  • Juman++ 2.0.0-rc2

依存ソフトウェア

以下があらかじめインストールされていないと起動しません。

機能

  • トゥートの間隔、コメント、好みの単語などをカスタマイズ可能。
  • 「いい(+bot固有の語尾)」とメンションすると、背中を押したり押さなかったりしてくれる。
  • botに「フォロー」を含んだメンションをすると、botがフォローしてくる。
  • botに天気を尋ねると、livedoor天気予報の情報を教えてくれる。特定の場所を指定することもできるが、指定にはほとんど従わない。
  • 寝る。寝ている間はトゥートも反応もしない。就寝時刻と起床時刻は自由に設定可。二つを同時刻に設定すれば、寝ない。
  • 設定ファイルでLivesWithSunをtrueに設定すると、LatitudeとLongitudeで指定した地点での太陽の出入り時刻に応じて寝起きする。逆ジオコーディングデータはOpenCage Geocoderから、時刻はSunrise Sunsetからそれぞれ取得。
  • -p <整数> オプション付きで起動すると、<整数>分限定で起動する。

使い方

  1. 下準備:database_tables.sql の記載に従って、MySQLデータベースにテーブルを作成する。定期的にfeedAggregatorなどを使ってRSSアイテムを収集しておく。
  2. cmd/mastobots フォルダで go get、go build すると、フォルダに mastobots コマンドができる。
  3. config.yml.example を config.yml にリネームまたはコピーし、自分の環境に応じて書き換えるあるいは追記する。
  4. ./mastobots で起動。screenなどと併用するか、systemdでサービス化してください。
You can’t perform that action at this time.