2016-04-30 15 views
0

私はHubotを最初に試しています。私は基本的な会話のためのダイアログスクリプトを作っています。私は多くの可能性を完成させました(私は多くの質問とキーワードが働いています)が、ユーザーが質問したり、Hubotが認識しないことを言うと、完全な沈黙です。既存のコマンドではないすべてのメッセージにHubotが返信する方法はありますか?

は、私が(「面白い」または「は私に以上に知らせる」のような漠然とした回答。)それは既存のコマンドや単語を見つけることができないときHubotのための回答のデフォルトセットを追加したい

スクリプトでこれを行う方法はありますか?次のようなものがあります。

robot.respond/* /, (msg) -> 
    msg.send ArrayOfVagueReplies 

*は「その他すべて」です。 "コマンドの場合 ... else ..."すべての非マッチした対話をキャッチする

答えて

1

に参照することができ、あなただけの正規表現として/.*/を供給することができ、そしてそれはすべてのものと一致している必要があります。

だからあなたが持っていると思います:

module.exports = (robot) -> 
     robot.respond /.*/i, (msg) -> 
      doSomething(msg) 
+0

恐ろしいが。私はより複雑なマッチを作成するために使用できる式のリストをどこから見つけることができますか?たとえば、私は "()"と "|" (w | W)あなたはあなたの名前/ – Yisela

+1

オンラインで多くの良い正規表現のチュートリアルがあります。特定のコード例については、Googleで「coffeescript regex」を検索してみてください。ただし、正規表現は2つのスラッシュ( '/ /' – TonyH

+1

BTW、https://regex101.com/を参照してください)の間で動作するはずです。テストし、あなたの正規表現の仕組みを説明します。 – TonyH

関連する問題