Cocoalatte / TwitterBotFramework

Easy to understand, useful, many, make it yourself, freely, so perfect Twitter Bot Framework.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

English Readme is here.

TwitterBotFramework (TBFW)

基本理念: プログラムの知識の少ない人でも簡単にTwitter Botを運用できるようにする。

特徴

わかりやすく

プログラミングの経験がない人や疎い人でも TBFWを使えば 簡単にTwitter Botが自前で構築できるよう、設計されています。
また、Pythonで書かれているため実行前にコンパイルは不要です。

べんりに

TBFWは ロギング機能を有しています。このため、プラグインのロード状況や 例外の発生などを容易に確認できます。
また、JSONにて内部の状況(スレッド等)を吐き出すAPIも整備されています。
バグを見つけたと思われる際にはissueにログを掲載してくださると助かります。

いっぱい

TBFWは 複数のTwitterアカウントに対応しています。
TBFWは マルチスレッドで動作するのでそれぞれのアカウントが独立して処理されるため、動作に支障は出ません。

おもいのままに

TBFWは プラグインシステムを用いて簡単に機能を追加できます。
実際にプラグインを開発するには Wikiのプラグインの仕様まとめをご覧ください。

じゆうに

このプロジェクトは MITライセンスで公開されています。
したがって、だれでも無償で無制限に利用できます。
例えば、このTBFWを利用してBotを作成して 実際に稼働させたりそのソースコードを公開したりすることも自由にできます。

導入方法 (CentOS 7での例)

TBFWは Python 3.4以上のPython 3.x系で動作しますが、特に理由がない場合 最新(執筆時)のPython 3.5.2での利用を推奨します。

1. リポジトリのクローン

cd ~
git clone https://github.com/NephyProject/TwitterBotFramework.git

2. TBFWで使用しているライブラリのインストール

cd TwitterBotFramework
pip3 install -r requirements.txt

3. config.jsonの作成

sample.config.jsonをコピーして編集してください。

オプション名 説明 必須? デフォルト値
accounts TBFWで使用するアカウントの配列です Yes -
muteClient 無視するクライアント(via)の名称です。配列で指定します。 No []
muteUser 無視するユーザーのスクリーンネームです。配列で指定します。 No []
muteDomain 無視するドメインです。配列で指定します。 No []
permissions プラグインの実行権限を配列で指定します。 No []

以下はaccounts配列内のオプションです。

オプション名 説明 必須? デフォルト値
id アカウントの数字IDです。 Yes -
ck アカウントのConsumer Keyです。 Yes -
cs アカウントのComsumer Secretです。 Yes -
at アカウントのAccess Tokenです。 Yes -
ats アカウントのAccess Token Secretです。 Yes -
sn アカウントのスクリーンネームです。 Yes -

以下はpermissions配列内のオプションです。

オプション名 説明 必須? デフォルト値
plugin パーミッションを適用するプラグインの名前です。 Yes -
action このパーミッションによって許可するならばallow
拒否するならばdenyを指定します。
Yes -
users このパーミッションを適用するユーザーのスクリーンネームです。 No []
domain このパーミッションをフォローしているユーザーに適用するならばfollowing
フォロワーに適用するならばfollowerを配列で指定します。(複数指定可)
No []

4. 実行

python3 main.py

About

Easy to understand, useful, many, make it yourself, freely, so perfect Twitter Bot Framework.


Languages

Language:Python 100.0%