Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kymmt90/meigen-bot

A Twitter bot in Java, tweeting someone's words of wisdom (meigen)
https://github.com/kymmt90/meigen-bot

Last synced: about 1 month ago
JSON representation

A Twitter bot in Java, tweeting someone's words of wisdom (meigen)

Awesome Lists containing this project

README

        

# 名言 Bot [![Build Status](https://travis-ci.org/kymmt90/meigen-bot.svg?branch=master)](https://travis-ci.org/kymmt90/meigen-bot)

## 概要

- 指定 Twitter ユーザのツイートから閾値以上のお気に入り数のツイートを収集
- その中からランダムにツイート

## 必要環境

- Java (>= 1.8)
- Maven

## 前準備

まず、Twitter アカウントの consumer key, access token を取得しておく。

Bot を動作させるために、以下のプロパティファイルを作成する。

### Twitter4J 用プロパティファイル

内部で利用しているライブラリ [Twitter4J](http://twitter4j.org/ja/index.html) のために、`twitter4j.properties` という名前のプロパティファイルを作成する。設定項目は以下の通り。

debug=false
oauth.consumerKey=
oauth.consumerSecret=
oauth.accessToken=
oauth.accessTokenSecret=

`twitter4j.properties` は Bot 実行時のカレントディレクトリに保存する。

### Bot 用プロパティファイル

Bot の動作設定用のプロパティファイルを作成する。ファイル名は任意。設定項目は以下の通り。

screenName=<ツイートを収集するユーザのスクリーンネーム(カンマ区切りで複数指定可)>
favCount=<各ユーザから収集するツイートのお気に入り数閾値(カンマ区切りで複数指定可)>
filePath=<収集した JSON 形式ツイートデータの保存パス>
intervalMinutes=
reply=<リプライをツイートするなら true, そうでないなら false>

`screenName` と `favCount` の中の要素は対応しているため、設定する要素数は同じにする。例えば、以下のように設定する。

screenName=user1,user2
favCount=2,3
filePath=path/to/file.json
intervalMinutes=60
reply=false

この場合、`user1` のお気に入り数 `2` 以上のツイートと、`user2` のお気に入り数 `3` 以上のツイートを収集する。

## ビルド

$ mvn clean package dependency:copy-dependencies -DincludeScope=runtime

## 実行

$ java -jar meigen-bot-.jar

## ライセンス

- [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0)