Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hanage999/mastobots
Goで書いたMastodonのbot。MySQLとJuman++との合わせ技です。
https://github.com/hanage999/mastobots
bot golang jumanpp mastodon mysql
Last synced: 2 months ago
JSON representation
Goで書いたMastodonのbot。MySQLとJuman++との合わせ技です。
- Host: GitHub
- URL: https://github.com/hanage999/mastobots
- Owner: Hanage999
- License: mit
- Created: 2018-11-10T11:13:23.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2024-02-07T22:21:54.000Z (11 months ago)
- Last Synced: 2024-04-13T13:54:14.643Z (8 months ago)
- Topics: bot, golang, jumanpp, mastodon, mysql
- Language: Go
- Size: 205 KB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# mastobots
お好みの単語が含まれるRSSアイテムを探し、コメントをつけて定期的にトゥートするbotです。メンションに反応するなどの機能もあります。
MySQLデータベースに保存された日本語のRSSアイテムをJuman++で形態素解析し、好みの単語をその結果と照合します。
データベースには別途、[feedAggregator](https://blog.crazynewworld.net/2018/10/29/323/)などを使ってRSSアイテムを読み込んでおく必要があります。
設定ファイル(config.yml)にbotごとの情報を記入すれば、何匹でもbotを駆動することができます。
## 依存ソフトウェア
以下があらかじめインストールされていないと起動しません。
+ MySQL
+ [Juman++ 2.0.0-rc3](http://nlp.ist.i.kyoto-u.ac.jp/index.php?JUMAN++)## 機能
+ トゥートの間隔、コメント、好みの単語などをカスタマイズ可能。
+ 「いい(+bot固有の語尾)」とメンションすると、背中を押したり押さなかったりしてくれる。
+ botに「フォロー」を含んだメンションをすると、botがフォローしてくる。
+ botに場所と時間(今、今日、明日、明後日)を指定して天気を尋ねると、[OpenWeatherMap](https://openweathermap.org)からの情報を教えてくれる。「体感」という言葉を含めて尋ねると体感気温を返してくる。
+ 寝る。寝ている間はトゥートも反応もしない。寝ている間に通知が来ていたら、起きた時に対応する。就寝時刻と起床時刻は自由に設定可。二つを同時刻に設定すれば、寝ない。
+ 設定ファイルでLivesWithSunをtrueに設定すると、LatitudeとLongitudeで指定した地点での太陽の出入り時刻に応じて寝起きする。ジオコーディングデータは[Yahoo! YOLP API](https://developer.yahoo.co.jp/webapi/map/)から、時刻は[Sunrise Sunset](https://sunrise-sunset.org/api)からそれぞれ取得。
+ 設定ファイルでRandomFrequencyをゼロ以上にし、かつRandomTootsに1つ以上の文字列を指定すると、不定期に指定文字列のいずれかを呟く。(この機能を使わない場合は、RandomFrequencyはゼロに設定し、かつRandomTootsには空の配列要素を1つ設定してください)
+ -p <整数> オプション付きで起動すると、<整数>分限定で起動する。## 使い方
0. 下準備:database_tables.sql の記載に従って、MySQLデータベースにテーブルを作成する。定期的に[feedAggregator](https://blog.crazynewworld.net/2018/10/29/323/)などを使ってRSSアイテムを収集しておく。
1. cmd/mastobots フォルダで go get、go build すると、フォルダに mastobots コマンドができる。
2. config.yml.example を config.yml にリネームまたはコピーし、自分の環境に応じて書き換えるあるいは追記する。
3. ./mastobots で起動。screenなどと併用するか、systemdでサービス化してください。## クレジット
+ Webサービス by Yahoo! JAPAN (https://developer.yahoo.co.jp/sitemap/)