概要
- TwiChaDashにBot機能を持たせることができます。
- Pythonコードにより、機能を拡張できます。
- これらの機能は、v1.1より使えます。
- 仕様は随時変わることがあります。
仕組み
- TwiChaDash内部から、IronPython経由でプログラムが呼ばれます。
- 受信したタイミングで intercept 関数が呼ばれます。
ここで処理された文字をベースに、リスト表示が作られたり、読み上げられます。
(中での処理順序は、intercept⇒正規表現⇒ルール の順です) - そのほか、プログラム内部から、送信用の入力枠および
送信ボタンを押すことができます。
前提条件
- 内部処理は(今更かもですが)Python v2です。
- 少なくとも、下記のものはインポートしてください。
import System
import clr
受信処理関数 (intercept)
基本構造は下記のとおりです。
def intercept(Message,Username):
return ( Message )
- 何も処理しないならば、Messageをそのまま返却してください。
- 中身を空(=”) にして戻した場合は、表示処理をしません。
- 文字列以外のものを代入しないでください。
入力アクション
変数名 | 役割 | 型 |
OriginalText | 上の入力枠 | System.Windows.Forms.TextBox |
TranslatedText | 下の入力枠 | System.Windows.Forms.TextBox |
- 入力枠のオブジェクトにアクセスできます。
- テキストを取得したり書き換えたりするなら、.Text にアクセスしてください。
(例:OriginalText.Text)
送信アクション
変数名 | 役割 | 型 |
SendOriginalText | 母国語を送信 | System.Windows.Forms.TextBox |
SendTranslatedText | 翻訳語を送信 | System.Windows.Forms.TextBox |
- 実装がうまく行かなくて・・・いまのところはこの仕様です。
そのうち、もう少しまともに(関数化)したいところ。 - 送信アクションを送る前に、入力アクションで値をセットしてください。
- それぞれのボタンを押して、送信アクションをします。
起動するには、.Text に “go” という文字列を代入してください。 - SendTranslatedTextで翻訳をする際に、TranslatedTextがセットされてなくて
なおかつOriginalTextがセットされている場合は、翻訳して送信します。