GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

errbotio

errbot – Errbotはチャットボットです。あなたのお気に入りのチャットサービスに接続し、あなたのツールといくつかの楽しみを会話にもたらすデーモン

投稿日:

Errbotはチャットボットです。あなたのお気に入りのチャットサービスに接続し、あなたのツールといくつかの楽しみを会話にもたらすデーモンです。 http://errbot.io

Errbot

Errbotはチャットボットです。 ランダムユーモア、チャット、ビルドの開始、コミットの監視、アラートのトリガーなど、何らかの理由でチャットルームから対話形式でスクリプトを起動することができます…

これはPythonで書かれ、容易に拡張可能です。

Errbotはオープンソースソフトウェアとして入手可能で、GPL v3のライセンスでリリースされています。

特徴

チャットサーバーのサポート

ビルトイン

アドオンを使用する

管理

最初のインストールとセキュリティ設定後、Errbotはボット(chatops)にチャットするだけで管理できます。

  • gitでホストされているプラ​​イベートプラグインまたはパブリックプラグインのインストール/アンインストール/アップデート/有効化/無効化
  • プラグインはチャットから設定できます
  • ボットにマルチユーザーチャットルーム(MUC)への参加/離脱を指示する
  • セキュリティ:ACL制御機能(コマンドごとの管理者権限/ユーザー権限)
  • バックアップ:統合コマンド!バックアップは永続データの完全なエクスポートを作成します。
  • ログ:チャットやSentryへのストリーミングから検査できます。

開発者の機能

  • Pythonで非常に簡単に拡張できます! (下記参照)
  • すべてのプラグインのプリセットストレージ、つまりself['foo'] = 'bar'は値を保持します。
  • ユーザーからの会話状態を追跡するための会話フロー。
  • Webhookコールバックのサポート
  • テーブル、埋め込み画像、リンクなどでマークダウンの追加フォーマットをサポート
  • あなたのプラグインをチャットで設定できるようにする設定ヘルパー
  • グラフィカルおよびテキスト開発/デバッグコンソール
  • 自己文書化:ドキュメントストリングは自動的にヘルプになります
  • サブコマンドとさまざまなarg解析オプションが利用できます(re、コマンドラインタイプ)
  • ポーリングサポート:定期的に何かを行うためのプラグインをセットアップできます
  • エンドツーエンドテストバックエンド
  • SlackとHipchatでのカードレンダリング。

コミュニティとサポート

あなたが持っている場合:

より一般的なディスカッションやアナウンスについては、 Google +コミュニティに参加できます ハッシュタグ#errbotしてTwitterでpingを実行することもできます。

インストール

前提条件

Errbotは、Linux、Windows、MacのPython 3.3以降で動作します。 いくつかのチャットシステムでは、ボットがアクセスするための鍵またはログインが必要です。 注:Python 2のサポートはerrbot-4.2.xでもまだ利用可能ですが、廃止予定です。

クイックスタート

virtualenvを設定することをお勧めします。

  1. pipからerrbotをインストールする
  2. Errbotのデータファイルをホストするためにどこかのディレクトリ(ここではerrbot)を作成します
  3. ディレクトリを初期化する
  4. テキストモードで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!”を返します。 あなたへ。 プラグインでできることの詳細については、 プラグイン開発ガイドを参照してください

Errbot自体への貢献

フォローしてgithubの変更を提案しても構いません







-errbotio
-, , , , , , ,

執筆者: