Github: https://github.com/errbotio/errbot
Errbot
Errbotはチャットボットです。 ランダムユーモア、チャット、ビルドの開始、コミットの監視、アラートのトリガーなど、何らかの理由でチャットルームから対話形式でスクリプトを起動することができます…
これはPythonで書かれ、容易に拡張可能です。
Errbotはオープンソースソフトウェアとして入手可能で、GPL v3のライセンスでリリースされています。
特徴
チャットサーバーのサポート
ビルトイン
- IRCのサポート
- ヒップチャットサポート
- スラックサポート
- 電報のサポート
- XMPPのサポート
アドオンを使用する
- CampFire ( 指示を参照)
- Cisco Spark ( 手順を参照)
- 不一致 ( 説明を参照)
- ジッタサポート ( 説明を参照)
- マトリックス ( 説明を参照)
- 事実上 ( 指示を参照)
- Skype ( 手順を参照)
- TOX ( 指示を参照)
- VK ( 手順を参照)
- ズリップ ( 指示を参照)
管理
最初のインストールとセキュリティ設定後、Errbotはボット(chatops)にチャットするだけで管理できます。
- gitでホストされているプライベートプラグインまたはパブリックプラグインのインストール/アンインストール/アップデート/有効化/無効化
- プラグインはチャットから設定できます
- ボットにマルチユーザーチャットルーム(MUC)への参加/離脱を指示する
- セキュリティ:ACL制御機能(コマンドごとの管理者権限/ユーザー権限)
- バックアップ:統合コマンド!バックアップは永続データの完全なエクスポートを作成します。
- ログ:チャットやSentryへのストリーミングから検査できます。
開発者の機能
- Pythonで非常に簡単に拡張できます! (下記参照)
- すべてのプラグインのプリセットストレージ、つまり
self['foo'] = 'bar'
は値を保持します。 - ユーザーからの会話状態を追跡するための会話フロー。
- Webhookコールバックのサポート
- テーブル、埋め込み画像、リンクなどでマークダウンの追加フォーマットをサポート
- あなたのプラグインをチャットで設定できるようにする設定ヘルパー
- グラフィカルおよびテキスト開発/デバッグコンソール
- 自己文書化:ドキュメントストリングは自動的にヘルプになります
- サブコマンドとさまざまなarg解析オプションが利用できます(re、コマンドラインタイプ)
- ポーリングサポート:定期的に何かを行うためのプラグインをセットアップできます
- エンドツーエンドテストバックエンド
- SlackとHipchatでのカードレンダリング。
コミュニティとサポート
あなたが持っている場合:
- 簡単な質問は、Gitterのerrbotio / errbotでチャットに参加しても構いません。
- プラグインの開発に関する質問は、errbotとpythonタグでStackoverflowを使用してください。
- 報告するバグや機能のリクエストは、 GitHubのプロジェクトページを使用してください 。
より一般的なディスカッションやアナウンスについては、 Google +コミュニティに参加できます 。 ハッシュタグ#errbot
してTwitterでpingを実行することもできます。
インストール
前提条件
Errbotは、Linux、Windows、MacのPython 3.3以降で動作します。 いくつかのチャットシステムでは、ボットがアクセスするための鍵またはログインが必要です。 注:Python 2のサポートはerrbot-4.2.xでもまだ利用可能ですが、廃止予定です。
クイックスタート
virtualenvを設定することをお勧めします。
- pipからerrbotをインストールする
- Errbotのデータファイルをホストするためにどこかのディレクトリ(ここではerrbot)を作成します
- ディレクトリを初期化する
- テキストモードでErrbotを試してみてください
$ pip install errbot
$ mkdir errbot; cd errbot
$ errbot --init
$ errbot
それはプロンプトを表示します>>>ので、あなたはボットに直接話すことができます! 試してみてください!
チャットシステムのサポートの追加
ビルトインの場合は、単にslack、hipchap、電文、IRC、XMPPのいずれかをピップで使用してください。初期インストール後にこれを行うことができます。
$ pip install "errbot[slack]"
外部のもの(Skype、Gitter、Discordなど)については、それぞれのgithubページに従ってください。
構成
これらのチャットシステムに接続するようにErrbotを設定するには、errbot –initによって生成されたconfig.pyファイルを調整する必要があります。
お手伝いするため、ここでは文書化されたテンプレートconfig-template.pyを入手できます。
注:構成からBACKENDを変更しても、errbot -Tおよびerrbot -Gを使用して、インスタンスをローカルでテストすることができます(それぞれテキストモードとグラフィックモード)。
デーモンとしてErrbotを起動する
動作していれば、-d(または–daemon)パラメータを使用してdetachedモードで実行できます。
errbot --daemon
Botとのやりとり
Errbotを起動した後、あなたがまだ持っていなければあなたのバディリストにボットを追加してください。 一部のチャットシステムでは、ボットを明示的にチャットルームに招待する必要があります。 今すぐコマンドをボットに直接送ることができます!
使用可能なすべてのコマンドのリストを取得するには、次のコマンドを実行します。
!help
特定のコマンドについてもっと知りたい場合は、次のコマンドを発行してください:
!help command
プラグインの管理
ハンドルがconfig.pyのBOT_ADMINSリストにある場合、1対1のチャットでボットを管理できます。
たとえば、パブリックプラグインのreposでキーワードを検索すると、次のように発行できます。
!repos search jira
このリストからプラグインをインストールするには、次のコマンドを実行します。
!repos install <name of repo>
たとえば、!repos install errbotio / err-imagebotなどです。
プラグインの作成
あなた自身のプラグインを書くことは非常に簡単です。 errbot –initはpluginsサブディレクトリにbaseとして使用できるerr-exampleというプラグインをインストールします。
一例として、これは「Hello、world!」を作成するために必要なすべてです。 Errbotのプラグイン:
from errbot import BotPlugin, botcmd
class Hello(BotPlugin):
"""Example 'Hello, world!' plugin for Errbot"""
@botcmd
def hello(self, msg, args):
"""Return the phrase "Hello, world!" to you"""
return "Hello, world!"
このプラグインはコマンド “!hello”を作成し、発行時に “Hello、world!”を返します。 あなたへ。 プラグインでできることの詳細については、 プラグイン開発ガイドを参照してください 。