Cha-tale 自動チャット - オンライン マニュアル
●はじめに
自動お喋りロボットのことを当ソフトでは、RE_ACTORと呼ぶ。
RE_ACTORが、あなたの作った辞書に応じて、自動的に喋る事ができる。
1行目にトリガーワード、2行目にリアクション・センテンスを記述する。
( AutoChatter とRE_ACTOR は同義である。)
〜 以下、辞書と実際のチャットの例を記載する 〜
●例1
辞書:
(1行目)頭いいぞ
(2行目)これもAdminの御尽力のおかげです。
チャット:
誰かが 「頭いいぞ」 と発言すると、RE_ACTOR が
「これもAdminの御尽力のおかげです。」 と発言する。
→以下、「1行目」「2行目」と書くが「奇数行目」「偶数行目」と同義である。
→同じトリガーワード(キーワード)が登録されていた場合、上にある行が優先される。
●例2-1
辞書:
(1行目)そろそろ寝ま[&]
(2行目)そうですね。
チャット:
[&] は任意の文字を表し、誰かが 「そろそろ寝ませんか?」
「そろそろ寝ますか?」 などと発言すると、RE_ACTOR が
「そうですね。」と発言する。
→このように、[ ]で囲まれたものを タグ と呼ぶ。
●例2-2
辞書:
(1行目)[&](謎)
(2行目)ホントにミステリアスですな〜(ーー;)
チャット:
誰かが 「それでも地球は回っている! (謎)」
などと発言すると、RE_ACTOR が
「ホントにミステリアスですな〜(ーー;)」と発言する。
●例2-3
辞書:
(1行目)[&]apple[&]
(2行目)あなたは、Mackerなんだ(謎)
チャット:
誰かが
「pineapple (パイナップル)」 や「apple pie (アップルパイ)」 や
「Macintoshは米国 Apple Computer,Inc.の登録商標です。」
などと発言すると、RE_ACTOR が
「あなたは、Mackerなんだ(謎)」と発言する。
勿論、「 Apple 」と発言しても、反応する。
→キーワードの大文字・小文字は区別されない。
●例2-4
辞書:
(1行目)君[&]でしょ[&]
(2行目)バレた?σ(^◇^;)。。。
チャット:
誰かが「君なんでしょ?」 や「君って、馬鹿でしょ。。。」 などと発言すると、
RE_ACTOR が「バレた?σ(^◇^;)。。。」と発言する。
●例3
辞書:
(1行目)今何時?
(2行目)う〜んと、今[TIME]だよ。
チャット:
誰かが 「今何時?」 と発言すると RE_ACTOR が
「う〜んと、今 12:30 だよ。」 と発言する。
→[TIME]は、現在時刻を表し、実際の時刻が挿入される。
●例4
辞書:
(1行目)はじめまして
(2行目)はじめまして、私は[RE_ACTOR]です。
チャット:
誰かが 「はじめまして」 と発言すると RE_ACTOR が
「はじめまして、私は Shadow です。」 と発言する。
→[RE_ACTOR]は、自動お喋りロボットの名前が挿入される。
●例5
辞書:
(1行目)ねむい
(2行目)[TRIGGER_NICK]さん、がんばって!
チャット:
「ねむい」 と発言した人が ○○ である場合、
RE_ACTOR が「 ○○さん、がんばって!」 と発言する。
→[TRIGGER_NICK]は、トリガーとなる言葉を発言した
人の名前が挿入される。
→これに対して、オンラインユーザの誰かをランダムで
選ぶのが[RANDOM_NICK]である。
●例6
辞書:
(1行目)占って
(2行目)[RANDOM]大吉[|]中吉[|]小吉[|]
チャット:
誰かが 「占って」 と発言すると RE_ACTOR が
「大吉」 or 「中吉」 or 「小吉」 のいずれかを発言する。
→[RANDOM] は、[|] で区切られた言葉をランダムに発言する。
●例7
辞書:
(1行目)[DYNAMIC_TEXT]
(2行目)[TRIGGER_NICK]さん、正解です!!
チャット:
( AutoChat画面 のテキストフィールドに入力した)クイズの答えなどを
○○さんが発言すると RE_ACTOR が「○○さん、正解です!!」 を発言する。
●例8
辞書1(自作タグ):
(1行目)[いつ]
(2行目)[RANDOM]10年前[|]1ヶ月前[|]1時間前[|]1週間前[END]
→ 奇数行目に [ と ] で囲った自作タグを設定可能
辞書2:
(1行目)文章作って
(2行目)[いつ][どこで][だれが][どうした]
チャット:
誰かが 「文章作って」 と発言すると
RE_ACTOR が 他の行の自作タグを検索し、文章を作る。
●例9
辞書1:
(1行目)[RANDOMCHAT]
(2行目)いやぁ〜、チャットって面白いなぁ。
辞書2:
(1行目)[RANDOMCHAT]
(2行目)[RANDOM_NICK] さん、良いキャラしてますね(爆)
チャット:
上のような形式で、複数登録された辞書(の2行目)からランダムに
RE_ACTOR が一定間隔で発言する。辞書2のように既存タグや自作タグ
も使用可能。
●例10
辞書:
(1行目)[StartUpMessage]
(2行目)現在のパーソナリティはCha-tale作成者によって作成されました。
チャット:
AutoChatter Config 画面 の 「スタートアップ メッセージ 送信」 を押すと発言する。
一つだけ登録可能。(なお、2行目は、既存タグや自作タグが使用可能。)
「私は ○○ によって起動された自動お喋りロボットです。」という固定部分に
続いて、発言する文を設定できる。
●例11(拡張機能)
[RANDOM]〜1〜[|]〜2〜[|]〜3〜[|] に加えて、
[RANDOM]〜1〜[|]〜2〜[|]〜3〜[END]という記述方法もある。
→ 1から3までをランダムで選択
[RANDOM] の中に [RANDOM] を組み合わせたい(入れ子にしたい)時に使う。
●例12-1
辞書:
(1行目)名前を変えたい[TRIGGER_NICK=○○]
(2行目)「クライアント」→「初期設定」→「名前」で変えて下さい。
チャット:
○○さんが、「名前を変えたい」と発言すると RE_ACTOR が
『 「クライアント」→「初期設定」→「名前」で変えて下さい。』と発言する。
このように、ユーザ名を条件に付与する時に使う。
2人以上を条件に付与する場合は…
(1行目)名前を変えたい[TRIGGER_NICK=○○][TRIGGER_NICK=××]
…の様に設定する。
●例12-2
辞書:
(1行目)名前を変えたい[TRIGGER_NICK:=○○]
(2行目)「クライアント」→「初期設定」→「名前」で変えて下さい。
アルファベットの大文字と小文字を区別するときには、=の前にコロンをつける。
例 :Unknown と UNKNOWN
Unknown と unknown
(これらは、違う条件として扱われる)
●例13-1
辞書1:
(1行目)[MANUALCHAT]
(2行目)その言葉は私の辞書にありません(≧ω≦)
辞書2:
(1行目)[MANUALCHAT]
(2行目)[TRIGGER_NICK]さん、そんなこと言わないで〜o(><、)o
チャット:
上のような形式で、複数登録された辞書(の2行目)を定型文に登録。
MC( ManualChat ) ボタンを押し、マニュアルチャット画面にて、
プルダウンリストから選択された定型文をRE_ACTOR が発言する。
辞書2のように 既存タグや自作タグ も使用可能。
→ ManualChat画面を開いた時に、最初に「読込」ボタンを押す必要あり。
→ タグ更新 ボタンを押すことにより、 [TRIGGER_NICK]などのタグが
最新の状態に反映される。
※ただし、[TRIGGER_NICK]は、キーワードを発言したユーザーという意味で、
トリガーワードを発言しないと、ユーザー名が入らない。
●例13-2
辞書:
(1行目)[MANUALCHAT]
(2行目)って言ってますけど、[SELECT_NICK]さんはどう思います?
チャット
例13-1 のオプション機能である。
[SELECT_NICK] フレーム内にあるコンボボックスに入力した名前か、
プルダウンリストから選んだニックネームで、[SELECT_NICK]を置き換える。
(1) ALL ボタン
MC_BOXの中にある [SELECT_NICK] をすべて置換
(2) > ボタン
MC_BOXの中にある [SELECT_NICK] を一つ一つ順番に置換
→この他に、「RE_ACTORとして発言」にチェックを入れると通常使用するチャットウィンドウの
テキストフィールドに入力した内容を、RE_ACTOR が発言する。
(ユーザー辞書も使える。)
●例14-1
辞書:
(1行目)挨拶をさせます。
(2行目)[TimeSpan]07:00-11:00,おはようございます。[TS:END]
チャット:
例えば、現在 10:00 の場合、「おはようございます。」と発言する。
書式:
[TimeSpan]開始時刻-終了時刻,○,×[TS:END]
現在の時間が、開始時刻〜終了時刻であるとき、最初のカンマが
ある所から、次のカンマまで、「○」を発言する。
時間外であるときは、「×」を 発言をする。
書式補足:
→ [TimeSpan]開始時刻-終了時刻,True,False[TS:END]
開始時刻-終了時刻 の条件に合致している状態を True (真)、
合致していない状態を False(偽)という。読み方は「フォルス」。
→ 書式は以上の通りで、TrueかFalseのいずれかは省略可。一つ目のカンマは必須。
→ スペースは空けない。時刻は二桁かつ24時間表記の事。
●例14-2
以下のようにも記述可能。
辞書:
(1行目)今7時になりましたか?
(2行目)[TimeSpan]07:00-07:00,7時です,7時ではありません[TS:END]
辞書:
(1行目)今7時になりましたか?
(2行目)[TimeSpan]07:00,7時です,7時ではありません[TS:END]
●例15-1
辞書:
(1行目)今日の予定は?
(2行目)[DateSpan]2009/09/20-2009/09/23,今日はGW休みです,会社です[DS:END]。
チャット:
例えば、今日の日付が、2009/09/21 の場合、「今日はGW休みです。」と発言する。
書式:
[DateSpan]開始日-終了日,○,×[DS:END]
現在の日付が、開始日〜終了日であるとき、最初のカンマが
ある所から、次のカンマまで、「○」を発言する。
範囲外であるときは、「×」を 発言をする。
書式補足:
→ [DateSpan]日付-日付,True,False[DS:END]
書式は以上の通りで、TrueかFalseのいずれかは省略可。一つ目のカンマは必須。
→ スペースは空けない。西暦を省略した場合は、現在の年であると考える。
→ 日付を指定する場合、2桁 表記の事。
※[TimeSpan] と [DateSpan] も、入れ子にできる。
●例15-2
年をまたがる場合は、以下の例のように、注意する。
<正しい例>
(1行目)今は冬ですか?
(2行目)[DateSpan]11/01-12/31,冬です。[DS:END][DateSpan]01/01-03/31,冬です。[DS:END]
<誤った例>
(1行目)今は冬ですか?
(2行目)[DateSpan]11/01-03/31,冬です。[DS:END]
→例えば、今日の日付が 12月16日 でも、False となり該当せず 、何も発言しない。
●例15-3
辞書:
(1行目)今日は金曜日ですね。
(2行目)[DateSpan]Fri, 金曜日だ、仕事終わり、遊ぶぞ〜![DS:END]
チャット:
今日が金曜日 の場合、「金曜日だ、仕事終わり、遊ぶぞ〜!」と発言する。
→ 日付を指定する場合、以下のような記述もできる。
12/16 : 今年の12月16日
2009/12/1stMon : 2009年12月の第一月曜日
12/1stMon : 今年の12月の第一月曜日
1stMon : 今月の第一月曜日
Mon : 月曜日
※ [DateSpan] や [RepeatDate] にも同様の記述ができ、[DateFormat] は後述するが基本は同じ。
※1stMon や 2ndFri や 3rdWed や 4thSun などは、「タグ入力サポート」を利用すると
間違いがない。もし間違っても、エラーが表示される。1th 2th 3th などと表記しても問題ない。
●例15-4
「第○週 の ○曜日」と記述する場合は、以下の例のように、注意する。
<正しい例>
辞書:
(1行目)今は冬ですか?
(2行目)[DateSpan]11/01-9thMon,冬です。[DS:END]
→例えば、今日の日付が 12月16日 でも、「冬です。」と発言する。
ストッパーとして使用可能。
<誤った例>
辞書:
(1行目)今は冬ですか?
(2行目)[DateSpan]2009/11/01-2009/12/9thMon,冬です。[DS:END]
→年および月を指定して、該当日がない場合、何も発言しない。
→上記の 2009/12/9thMon など存在しない日は、処理されない。
今日の日付が 2009年12月16日 でも、何も発言しない。
→例えば、その月の第五週の月曜日が存在しない場合と存在する場合など、
正しく処理するための仕様である。
●例16
辞書:
(1行目)[UserLogin]
(2行目)[LATEST_LOGIN_NICK]さん、ようこそ!
チャット:
ユーザーがログインしてきた時に、RE_ACTOR が話しかける。
・ [LATEST_LOGIN_NICK] は最後にログインしてきたユーザーの名前を表わす。
[UserLogin] が複数登録されている場合は、一番上に記述された辞書を元に、発言する。
・ 2行目には、既存タグや自作タグが使える。
・自分自身や、自分や他人のRE_ACTOR に対しては、発言しない。
・ [UserLogin] が一つも定義されていない場合は、ログイン時は何も発言しない。
・ [LATEST_LOGIN_NICK] の代わりに、 [TRIGGER_NICK] は使えない。
●例17-1
辞書:
(1行目)今日の日付は?
(2行目)[DateFormat]yyyy年mm月dd日[DF:END]です。
チャット:
「2009年10月16日です。」のように発言する。
辞書:
(1行目)今日の日付は?
(2行目)[DateFormat]yyyy/mm/dd[DF:END]です。
チャット:
「2009/10/16です。」のように発言する。
辞書:
(1行目)今日は何曜日?
(2行目)[DateFormat]aaaa[DF:END]です。
チャット:
「○曜日です。」と発言する。
辞書:
(1行目)今年は、平成何年でしたっけ?
(2行目)[DateFormat]ggg e年[DF:END]です。
チャット:
「平成 21年です。」のように発言する。
辞書:
(1行目)今何時ですか?
(2行目)[DateFormat]hh:mm AM/PM[DF:END]です。
チャット:
「07:18 AMです。」のように発言する。
→[TIME] 同様、時刻を発言できる。
<その他のオプション>
書式定義 出力結果
yy/mm/dd 93/01/27
g ee/mm/dd H 05/01/27
ggg e年m月d日 aaaa 平成 5年1月27日 水曜日
m/d/yy 1/27/93
dddd, mmmm dd, yyyy Wednesday, January 27, 1993
d-mmm 27-Jan
mmmm-yy January-93
hh:mm AM/PM 07:18 AM
h:mm:ss a/p 7:18:00 a
d-mmmm h:mm 3-January 7:18
aaa 水曜
aaaa 水曜日
→ [DateFormat] は、入れ子にする必要性がない。
また、書式定義にない文字は、そのまま、表示される。
●例17-2
辞書:
(1行目)今年の大晦日は何曜日ですか?
(2行目)[DateFormat]aaaa,SetDate=12/31[DF:END]です。
チャット
「○曜日です。」と発言する。
→ SetDate= は、省略可、( 2010/12/31 のように )年号を特定する事もできる。
→ 省略した場合は、今日の日付になる事に注意。
●例17-3
辞書:
(1行目)昨日は何日ですか?
(2行目)[DateFormat]yyyy年mm月dd日,Year+0,Month+0,Week+0,Day-1[DF:END]です。
チャット:
「2009年10月15日です。」のように発言する。
→ Year+0, Month+0, Week+0, Day-1 の ように、現在の日付からの日数差を記述できる。
勿論、順不同&省略可能。SetDateとの併用も可能。
●例17-4
カンマを含む言葉を発言したい場合は、以下の例のように、注意する。
<誤った例>
辞書:
(1行目)What day is today's date ?
(2行目)[DateFormat]dddd, mmmm dd, yyyy[DF:END]
チャット:
「Thursday」のように発言する。意図した結果が得られない。
<正しい例:1>
辞書:
(1行目)What day is today's date ?
(2行目)[DateFormat]dddd', mmmm dd', yyyy[DF:END]
チャット:
「Thursday, December 31, 2009」のように発言する。
→偶数行目のリアクションに、, を表示するには、',と記述。
<正しい例:2>
辞書:
(1行目)What day is today's date ?
(2行目)[DateFormat]dddd[DF:END], [DateFormat]mmmm dd[DF:END], [DateFormat]yyyy[DF:END]
チャット:
「Thursday, December 31, 2009」のように発言する。
→同様な結果が得られる。
●例18
辞書:
(1行目)今週の当番は?
(2行目)[RepeatDate]2009/11/01:Week*1,SetDate=2009/11/29,A班です,B班です[RD:END]
チャット:
「A班です」と発言する。
→上記の例では、SetDate=2009/11/29 を省略すると、今日の日付の当番を発言する。
→上記の例では、2009/11/01から一週間を第一週として、2009/11/29が何週に当たるかを
判定し、第一週:A班、 第二週:B班、 第三週:A班、 第四週:B班、 第五週:A班・・・
というように、一週間おきに、A班とB班が入れ替わる。
入れ替わる項目の数は、自由、A班, B班, C班, D班 のようにしてもいい。
→ Day*1(一日おき)、Week*1(一週間おき)、Month*1(一ヶ月おき)、Year*1(一年おき)
→ Day*2(二日おき)のように、*の後の値は 自由、Week*-1など、過去にさかのぼる事も可能。
→ 項目に、既存タグや自作タグを使用することが可能。
<誤った例>
(1行目)今週の当番は?
(2行目)[RepeatDate]2009/11/01:Week*1,SetDate=2009/11/9thSat,A班です,B班です[RD:END]
チャット:
何も発言しない。
→第九週の土曜日など存在しない場合は、エラーメッセージを出さず。常に何も発言しない。
同様に、11/9thSat や 9thSat でもタグ内は空になり、何も発言しない。
●例19-1
辞書:
(1行目)今年は、閏年ですか?
(2行目)[LeapYear]閏年です,閏年ではありません[LY:END]。
チャット:
「閏年ではありません。」のように発言する。
書式:
[LeapYear]○,×[LY:END]
[LeapYear]True,False[LY:END]
今年が、閏年(うるうどし)であるとき、最初のカンマが
ある所まで、「○」を発言する。
閏年ではないときは、「×」を 発言をする。
→TrueかFalseのいずれかは省略可。
辞書:
(1行目)2004年は、閏年ですか?
(2行目)[LeapYear]2004:閏年です,閏年ではありません[LY:END]。
チャット:
「閏年です。」と発言する。
書式:
[LeapYear]指定年:○,×[LY:END]
指定年が、閏年(うるうどし)であるとき、:(コロン)から、最初のカンマが
ある所まで、「○」を発言する。
閏年ではないときは、「×」を 発言をする。
→ [LeapYear]指定年:True,False[LY:END]
→ 指定年は4桁以内、また指定年のあとに、:(コロン)を忘れない事。
→TrueかFalseのいずれかは省略可。
→:(コロン)を文字として扱いたい場合は、「':」とする。
●例19-2
閏年に関する記述の応用例を挙げる。 (以下の二つの例は同じ結果になる。)
辞書:
(1行目)2004年の2月の最終日は何曜日ですか?
(2行目)[DateFormat]yyyy年mm月dd日 aaa曜日です。,SetDate=02/[LeapYear]2004:29,28[LY:END][DF:END]
チャット:
「2004年02月29日 日曜日です。」と発言する。
辞書:
(1行目)2004年の2月の最終日は何曜日ですか?
(2行目)[DateFormat]yyyy年mm月dd日 aaa曜日です。,SetDate=2004/03/01,day-1[DF:END]
チャット:
「2004年02月29日 日曜日です。」と発言する。
●例20-1
辞書:
(1行目)今月の第一金曜日は、何日ですか?
(2行目)[DateFormat]yyyy年mm月dd日 aaa曜日,SetDate=1stFri[DF:END]です。
チャット:
「2009年12月04日 金曜日 です。」ように発言する。
→ SetDate を使う場合、 以下のような記述もできる。
SetDate=12/16 : 今年の12月16日
SetDate=2009/12/1stMon : 2009年12月の第一月曜日
SetDate=12/1stMon : 今年の12月の第一月曜日
SetDate=1stMon : 今月の第一月曜日
SetDate=Mon : 月曜日
●例20-2
辞書:
(1行目)いよいよ金曜日だ!
(2行目)[DateSpan]Fri,金曜日。仕事終わり、遊ぶぞ〜![DS:END]
チャット:
今日が金曜日である場合、「金曜日。仕事終わり、遊ぶぞ〜!」と発言する。
辞書:
(1行目)今日は、第二月曜日ですか?
(2行目)[DateSpan]2ndMon,そうです,違います[DS:END]。
チャット:
「そうです。」または、「違います。」と発言する。
辞書:
(1行目)今日は、第二月曜日ですか?
(2行目)[DateSpan]2ndMon-2ndMon,そうです,違います[DS:END]。
チャット:
「そうです。」または、「違います。」と発言する。
辞書:
(1行目)今日は、第一月曜日以降ですか?
(2行目)[DateSpan]1stMon-8thMon,そうです,違います[DS:END]。
チャット:
「そうです。」または、「違います。」と発言する。
→ 8thMon(第8週月曜日)など その月の最終日をオーバーしている場合も
使用可能。
●例20-3
辞書:
(1行目)開始日より終了日の日付が若い場合は?
(2行目)[DateSpan]2009/11/2ndMon-2008/11/4thThu,○,×[DS:END]
チャット:
何も発言しない。
→ False (×) にも該当しない事に注意!
辞書:
(1行目)開始日がその月の最終日をオーバーしている場合は?
(2行目)[DateSpan]2009/10/9thMon-2009/11/4thThu,○,×[DS:END]
チャット:
何も発言しない。
→ False (×) にも該当しない事に注意!
●例21
RE_ACTOR が、発言する条件となる奇数行目に Time , Date 関連のタグを使用する例
を列挙する。
辞書1:
(1行目)今年は、[LeapYear]閏年ですね,閏年ではありませんね[LY:END]?
(2行目)はい、そうです。
辞書1:
(1行目)今年は、[LeapYear]閏年ではありませんね,閏年ですね[LY:END]?
(2行目)いいえ、違います。
書式:
[LeapYear]○,×[LY:END]
閏年である場合、○を選択し、違う場合、×を選択する。
→ ○と×を入れ替えることで、「いいえ、違います。」と発言させることが可能。
辞書2:
(1行目)今週の当番は[RepeatDate]2006/04/30:week*1,A班,B班[RD:END]?
(2行目)はい、[RepeatDate]2006/04/30:week*1,A班,B班[RD:END]です。
辞書2:
(1行目)今週の当番は[RepeatDate]2006/04/30:week*1,B班,A班[RD:END]?
(2行目)いいえ、[RepeatDate]2006/04/30:week*1,A班,B班[RD:END]です。
→ 同様に[RepeatDate]でも、○と×を入れ替えることで、(例ではA班とB班を
入れ替えたことで、) 「いいえ、違います。」や「いいえ、B班です。」などと
訂正する発言をする。
辞書3:
(1行目)今日は、[DateFormat]aaa曜日[DF:END]ですね。
(2行目)そうですね。
チャット:
誰かが、(○曜日に)「今日は、○曜日ですね。」を発言すると、RE_ACTORが「そうですね。」と発言する。
辞書4:
(1行目)もう、[DateSpan]04/01-06/30,春[DS:END][DateSpan]07/01-09/30,夏[DS:END][DateSpan]10/01-10/31,秋[DS:END][DateSpan]11/01-12/31,冬[DS:END][DateSpan]01/01-03/31,冬[DS:END]ですね。
(2行目)[DateSpan]04/01-06/30,すっかり春めいてきましたね[DS:END][DateSpan]07/01-09/30,暑いですね[DS:END][DateSpan]10/01-10/31,やっと涼しくなってきましたね[DS:END][DateSpan]11/01-12/31,今年ももうすぐ終わりますね[DS:END][DateSpan]01/01-03/31,春が待ち遠しいですね[DS:END]。
→ 誰かが、例えば12月19日に「もう、冬ですね。」と発言すると、
「今年ももうすぐ終わりますね。」とRE_ACTOR が発言する。
→ False が記述されていないため、該当日以外は、スルーする。(何も発言しない。)
辞書5:
(1行目)[TimeSpan]19:00-06:59,お疲れ様です[TS:END][TimeSpan]07:00-11:59,おはようございます[TS:END][TimeSpan]12:00-15:59,こんにちわ[TS:END][TimeSpan]16:00-18:59,こんばんわ[TS:END]。
(2行目)[TimeSpan]19:00-06:59,そろそろ、おやすみになった方が…。[TS:END][TimeSpan]07:00-11:59,今日も一日頑張りましょう![TS:END][TimeSpan]12:00-15:59,後もう一踏ん張り!![TS:END][TimeSpan]16:00-18:59,飲み会でもいってストレス解消といきましょう![TS:END]
→ 誰かが、例えば20:00に「お疲れ様です。」と発言すると、
「そろそろ、おやすみになった方が…。」とRE_ACTOR が発言する。
辞書6:
(1行目)[RANDOMCHAT]
(2行目)[DateSpan]04/01-06/30,すっかり春めいてきましたね[DS:END][DateSpan]07/01-09/30,暑いですね[DS:END][DateSpan]10/01-10/31,やっと涼しくなってきましたね[DS:END][DateSpan]11/01-12/31,今年ももうすぐ終わりますね[DS:END][DateSpan]01/01-03/31,春が待ち遠しいですね[DS:END]。
→ [RANDOMCHAT] の 2行目にも、Time , Date 各種タグが使用可能。
→ 該当する日付に定義された言葉を発言する。
例えば、今日が4月1日である場合、「すっかり春めいてきましたね。」と一定間隔で発言。
辞書7:
(1行目)[RANDOMCHAT]
(2行目)[DateSpan]01/01,[TimeSpan]00:00-01:00,明けましておめでとうございます[TS:END][DS:END]。
チャット:
「明けましておめでとうございます。」と発言する。
→ [RANDOMCHAT] の 2行目にも、Time , Date 各種タグが使用可能。
勿論、入れ子にすることも可能。
→ 上記の例では、1月1日で、現在時刻が、0時〜1時の範囲内である場合、一定間隔で発言。
●例22
<正しい例:1>
辞書:
(1行目)[RANDOM]一等[|]二等[|]二等[|]三等[|]三等[|]三等[|]
(2行目)当たりました。
<正しい例:2>
辞書:
(1行目)[RANDOM]一等[|]二等[|]二等[|]三等[|]三等[|]三等[END]
(2行目)当たりました。
チャット:
6分の1の確率を狙って誰かが、「一等」と発言すると、その確率で「当たりました。」のようにする。
はずれた場合は、何も発言しない。
→最後は前述の通り、[END]でもいい。
<誤った例>
辞書:
(1行目)[RANDOM][RANDOM]特賞[|]一等[END][|]二等[|]二等[|]三等[|]三等[|]三等[END]
(2行目)当たりました。
辞書:
(1行目)一等[|]二等[|]二等[|]三等[|]三等[|]三等[END]
→Cha-taleのなかでは、辞書が上記のように変換される。
チャット:
意図した通り、発言されない。
→奇数行目で[RANDOM]は入れ子にできない。
→ヒットする確率を変えたい場合は、[RANDOM]〜[|]・・・と項目数を増やし、調整する。
● エスケープシーケンスについて
RE_ACTOR の構文を制御するための区切り文字は、通常は使えないが、
エスケープシーケンスの使用により可能になる。
効果 : 奇数行目にエスケープシケーンスを記述した場合は、[ や ] をトリガーワードの対象にでき、
偶数行目に同様に記述した場合は、[ や ] をリアクションに含める事ができる。
定義 : 区切り文字は、 [ と ] や ,で、 エスケープシーケンスは ' (アポストロフィ)である。
例 : 偶数行目のリアクションに、[ を表示するには、'[ と記述し、] を表示するには、'] と記述。
また、偶数行目のリアクションに、, を表示するには、', と記述。
閏年のリアクション (Trueの部分) に : を表示するには、': と記述。
例 : 偶数行目のリアクションに、'[ を表示するには、''[ と記述し、'] を表示するには、''] と記述。
また、偶数行目のリアクションに、', を表示するには、'', と記述。
→ 奇数行目も同様に記述できる。
制約 :
基本的には、日付やパラメーターを区切る前後のカンマ(やスペース)は、エスケープできない。
(リアクションの中にカンマを表現する場合の制約ではない。)
<例1>
',SetDate=2010/01/07
→ [DateFormat]では、通常通り(例では2010/01/07で)処理が行われ、[RepeatDate]では、エラーメッセージが表示される。
<例2>
,□SetDate=2010/01/07
(□はスペース)
→ エラーにならず、SetDateで指定した日付は無効となり、今日の日付がセットされる事に注意!
<例3>
2009/11/01:year*1',, → エラーになる。
●改行や一時停止タグ
[WAIT_TIME]: 一時停止 (500ミリ秒)
※ [RANDOMCHAT] や [MANUALCHAT] では使用不可
[RETURN_KEY]: 改行
※いずれも2行目(偶数行)で使用可能。
●タグ入力サポート
チェックをいれて、オンにすると…タグの入力をサポートするリストを表示。
リストボックス内のタグを選択し、自動チャットロボットの辞書を編集。
Enter キーを押すと、挿入するタグの確定。
※ フォームが読み込まれた時、タグ入力サポートをオンにした時、更新ボタンを押した時に…
奇数行目に定義した自作タグがリスト候補に追加される。
●その他
・一つの文(一つのリアクション)の中で複数のタグが使用可能である。
(アルゴリズムに再帰関数を使っている。)
(Adminメモ:自作タグを循環させないように注意する。警告機能あり。)
・例 の中で使われるタグの前後には、スペースが入っているが、
レイアウトの都合なので、コピーする場合は注意する。
→オンラインマニュアルはスペースが入っていないので、そのまま使える。
また、実行時、 タグ入力サポートを使用するか、AutoChatter EDITの
ヘルプ画面上のタグをコピーすると良い。
(・Chat Intervals は、500ミリ秒〜2000ミリ秒までに自動補正される。)
(→ぼやき機能はさらに45000ミリ秒以下は、45000ミリ秒に補正され、
Chat Intervals の 60倍の間隔で、発言される。)
・リアクション・センテンスの制限文字数 (3000文字) を超えるとエラーメッセージ
を出すようにした。
(自作タグが循環してないか?どうか確かめる。[いつ]の2行目に[いつ]があるなど。)
(→(1行目)[いつ]
(2行目)[RANDOM]10年前[|]1ヶ月前[|]1時間前[|]1週間前[|][いつ][|] )
・[AutoChatter] を自作タグとして作成し、 [RE_ACTOR] と同値にした。
・RE_ACTOR の名前を変えた場合は、「再読込/設定保存」を 押して反映すること。
・自動チャットは、サーバ側で Get IPまたは、オートログインを実行しないと
トリガーワードが二重に表示される。
・奇数行目や偶数行目が空欄がある場合、その行以降は処理されないことに注意。
→同様に[END_DIC]以降も処理されず、その後には、コメントが書ける。
( [END_DIC] は、なくてもいい。)
戻る