パジャット構造



それを実行する!
すべての新しいレポの最初のステップ-それはあなたの環境で動作します.私は窓を気にしないように提案し、VMやいくつかの雲を使用します.私は、私のWindows版がWSLを実行している問題があるということを知っていました.
私はレポのinstructionsに続きました.
他の解決策の上で雲を選ぶ理由は、それがlocalhostを通してnginxを走らせることがどれくらい問題であるかについてです.ドメインを持つことはそれらの問題を解決する.
きちんと設定するにはいくつかの詳細がありましたが、幸運にも私はこの問題に関しては初めてではありませんでした.

ボットを起動するコマンドを実行するとすぐに、ボットは私のチャンネルチャットでupと言います.

私はそれを止めます、そして、それはdownを言います.
クール、クール.だから動作します.

Pajbot構造について
私はあらゆるステップを説明しません、しかし、私がした主なステップの若干の例.
ここから始めます.
pajbot/ フォルダ.
pajbot/web はロボットのウェブコントローラを扱います.すべての既存のコマンドとその説明のリストのようなものを見つけることができます.

pajbot/web/routes/api/commands.py は、我々がそのウェブサイトに表示するデータを置くところです.
私がhereを追加するという記述は、以下のようにそのWeb版に表示されます.


重要ファイル
pajbot/managers/command.py
このファイルはコマンドの主なものです.ここではどこに格納され、彼らの説明があります.
In hereあなたはすべての引数を見ることができます.ここが私の置かなければならない場所です.
pajbot/models/command.py
はコマンドクラスのファイルです.
私は他のコマンドが入るのに気付きました.
このclass of base commandsなど.
このlist of options
について
私は実際にそれに問題があった.ボットは適切にコマンドを解析しません.推測なぜですか?チャット応答は文字列ですので!booleanではない.それで、オプションにそれを置く前に、私はブールにそれを解析しなければなりませんでした.それは、このargument listがするものです.またはちょうどここで見てください.
        if "command_state" in options:
            state = options["command_state"].lower()
            if state == "true":
                options["command_state"] = True
            elif state == "false":
                options["command_state"] = False
            else:
                options["command_state"] = None
また、piece of codeにも記載されている.問題は、データベースからコマンドを実際に削除したコマンドを無効にすることです.ハードコード化されたソリューションは、これらのコマンドをトグルしたいときに、明らかに問題を引き起こしました.これを解決するために、データベースに新しいchat_enabledプロパティを追加しました.different issue .
それはおそらくこのすべての最も複雑な部分だった.その問題に対する解決策はそれ以上のものを取った.私もコマンドのロジックを接続する必要がありました.私のロジックを(私が既に述べたことを含めて)接続するためにすべての場所を見つけるのに時間がかかった.