Chatbot_Class

辞書型の人工無能が簡単な構文で作れるようになる

This script should not be not be installed directly. It is a library for other scripts to include with the meta directive // @require https://greasyfork.org/scripts/379894-chatbot-class/code/Chatbot_Class.js?version=680394

Author
yaju1919
Ratings
0 0 0
Version
0.0.1.20190316111836
Created
Updated
License
N/A
Applies to
All sites

Author's Description

辞書型の人工無能(ChatBot)を作りやすくするためのクラスが入ったライブラリです。


new Chatbot_Class( /*キーワード*/ , /*反応*/ , /*相手の発言の最大文字数*/ , /*反応後の硬直時間*/)


3,4,5番目の引数がなくても動作します。

█ 1番目の引数に使える型は文字列、一次元配列(論理積)、二次元配列(論理和)、関数(返り値は文字列)、正規表現オブジェクトのいずれかです。
''のような場合、全ての文に反応します。
論理積は:

['キーワード1','キーワード2'] // 文の中に'キーワード1'と'キーワード2'がどちらも存在する場合、反応する

論理和は:

[['キーワード1','キーワード2']] // 文の中に'キーワード1'か'キーワード2'のいずれかが存在する場合、反応する

論理積の論理和は:

[['キーワード1','キーワード2'],['キーワード3','キーワード4']]
// 文の中に「'キーワード1'か'キーワード2'のいずれか」と「'キーワード3'か'キーワード4'のいずれか」が存在する場合、反応する


█ 2番目の引数に使える型は文字列、一次元配列(ランダム)、文字列と数値の二次元配列(確率設定)、関数(返り値は文字列)のいずれかです。
''のような場合、絶対に反応しません。
一次元配列は:

['反応1','反応2'] // '反応1'か'反応2'のいずれかがランダムに選ばれる

文字列と数値の二次元配列は:

[['反応1',7],['反応2',11]] // '反応1'か'反応2'のいずれかが7:11の割合でランダムに選ばれる

*一次元配列の中に配列と文字列または関数が混じっている場合、文字列と関数の確率の値は1として設定されます。

█ 3番目の引数は、相手の発言内容の文字数がこの数値を超えたら無視します。
数値以外の指定なら字数制限がなくなります。

█ 4番目の引数は、再度反応するまでの硬直時間です。(単位:秒)
人工無能に人間らしさが不要の場合、この指定はなくても構いません。
数値以外の指定なら硬直時間がなくなります。

█ 5番目の引数は、キーワードを検知後の反応する確率です。
人工無能に人間らしさが不要の場合、この指定はなくても構いません。
数値以外の指定なら100%の確率で反応します。
有効な数値の範囲は0~1の間です。
例えば、0.7だとしたら、キーワード検知後、70%の確率で反応します。


実際の処理はメンバ変数m_judge(_text, _flag)を使用します。
返り値は、反応しなかった場合false、反応した場合文字列が返ります。