05.08.04:30
[PR]
12.22.21:49
複数行応答スクリプト
ユニさんの 量産型UNIANGELを改造して、キーワードに対して複数行の返答を返せるようにしてみた。
最初は二次元配列にしようと思ったんだけど、JScriptだと配列定義がめんどうなので、
1行を区切り文字で区切って複数行に分割する方法にした。
とりあえず「\n」を区切り文字にしています。
※使用の際は、複数行メッセージを+で連結しないで1行に書いてしまった方がいいかも?
ソース:
/*************************************************************************/
//チャンネル内のコメントのある言葉に反応して会話をランダムで返すbotスクリプトです。
//マクロで会話を作るのが面倒な人の為に作りました。
//※管理者権限を持っている時にしか発言しません。
//また、ブラウザでUstreamを見ている人には見えません。
//このスクリプトはテストしていますが自己責任で導入して下さい。改変・改造はご自由に!
//スクリプトの改修にあたりソイソース醤油さんの羅刹キッカーを一部参考にさせて頂きました。
//Thanks!
//(C)2009 ユニ #uniuniuni http://univoice.blog36.fc2.com/
var keyword = new Array();
var ohenji = new Array();
//ここまで変更しないで下さい
// 区切り文字
var delimiter = "\n";
/*************************************************************************/
//★会話内容変更部分 編集可能です。★
//この下を変更すると、反応する単語を指定できます。
//もっと追加したい場合は、その後に続けて
// keyword[次の数字] = '反応する単語';
//と1行ずつ増やしていって下さい。
keyword[0] = 'こんにちは';
keyword[1] = "こんばんは";
//この下を変更すると、返事する内容を指定できます。
//もっと追加したい場合は、その後に続けて
// ohenji[次の数字] = '返事の文章';
//と1行ずつ増やしていって下さい。
ohenji[0] = '( ´_ゝ`)ノボンジュール♪';
ohenji[1] = " ∧∧ \n"
+ " (=゚ω゚)ノ ぃょぅ \n"
+ " ~( x) \n"
+ " U U \n";
/*************************************************************************/
function event::onChannelText(prefix, channel, text) {
var c = findChannel(channel);
if (c) {
var m = c.findMember(myNick);
if (m.op) {
for (i in keyword) {
if (text.match(keyword[i])) {
//n = Math.floor(Math.random()* ohenji.length);
//send(channel, ohenji[n]);
splitMsg = ohenji[i].split(delimiter);
for(var index in splitMsg) {
send(channel, splitMsg[index]);
}
}
}
}
}
}
青:追加
赤:削除
実行結果:
ダウンロードリンク:
uniangel_ryousangata_kaiwa_kai_00.js
(右クリックで名前を付けてリンク先を保存)
ちょっと暇な待ち時間があったので、二次元配列版も作ってみた。
/*************************************************************************/
//チャンネル内のコメントのある言葉に反応して会話をランダムで返すbotスクリプトです。
//マクロで会話を作るのが面倒な人の為に作りました。
//※管理者権限を持っている時にしか発言しません。
//また、ブラウザでUstreamを見ている人には見えません。
//このスクリプトはテストしていますが自己責任で導入して下さい。改変・改造はご自由に!
//スクリプトの改修にあたりソイソース醤油さんの羅刹キッカーを一部参考にさせて頂きました。
//Thanks!
//(C)2009 ユニ #uniuniuni http://univoice.blog36.fc2.com/
var keyword = new Array();
var ohenji = new Array();
//ここまで変更しないで下さい
/*************************************************************************/
//★会話内容変更部分 編集可能です。★
//この下を変更すると、反応する単語を指定できます。
//もっと追加したい場合は、その後に続けて
// keyword[次の数字] = '反応する単語';
//と1行ずつ増やしていって下さい。
keyword[0] = 'こんにちは';
keyword[1] = "こんばんは";
//この下を変更すると、返事する内容を指定できます。
//もっと追加したい場合は、その後に続けて
// ohenji[次の数字] = '返事の文章';
//と1行ずつ増やしていって下さい。
ohenji = [ ["( ´_ゝ`)ノボンジュール♪"], // 0
[" ∧∧",
" (=゚ω゚)ノ ぃょぅ",
" ~( x)",
" U U"] // 1
];
/*************************************************************************/
function event::onChannelText(prefix, channel, text) {
var c = findChannel(channel);
if (c) {
var m = c.findMember(myNick);
if (m.op) {
for (i in keyword) {
if (text.match(keyword[i])) {
//n = Math.floor(Math.random()* ohenji.length);
//send(channel, ohenji[n]);
for(var j in ohenji[i]) {
send(channel, ohenji[i][j]);
}
}
}
}
}
}
やっぱ配列番号がわかりずらいし、メッセージ追加するときもミスしそうだし、split版の
方がいいな。
一応DLリンク:
uniangel_ryousangata_kaiwa_kai_01.js
てか、ユニさんのスクリプトを編集して二次配布してもよかったのだろうか?
まあいいやw
最初は二次元配列にしようと思ったんだけど、JScriptだと配列定義がめんどうなので、
1行を区切り文字で区切って複数行に分割する方法にした。
とりあえず「\n」を区切り文字にしています。
※使用の際は、複数行メッセージを+で連結しないで1行に書いてしまった方がいいかも?
ソース:
/*************************************************************************/
//チャンネル内のコメントのある言葉に反応して会話をランダムで返すbotスクリプトです。
//マクロで会話を作るのが面倒な人の為に作りました。
//※管理者権限を持っている時にしか発言しません。
//また、ブラウザでUstreamを見ている人には見えません。
//このスクリプトはテストしていますが自己責任で導入して下さい。改変・改造はご自由に!
//スクリプトの改修にあたりソイソース醤油さんの羅刹キッカーを一部参考にさせて頂きました。
//Thanks!
//(C)2009 ユニ #uniuniuni http://univoice.blog36.fc2.com/
var keyword = new Array();
var ohenji = new Array();
//ここまで変更しないで下さい
// 区切り文字
var delimiter = "\n";
/*************************************************************************/
//★会話内容変更部分 編集可能です。★
//この下を変更すると、反応する単語を指定できます。
//もっと追加したい場合は、その後に続けて
// keyword[次の数字] = '反応する単語';
//と1行ずつ増やしていって下さい。
keyword[0] = 'こんにちは';
keyword[1] = "こんばんは";
//この下を変更すると、返事する内容を指定できます。
//もっと追加したい場合は、その後に続けて
// ohenji[次の数字] = '返事の文章';
//と1行ずつ増やしていって下さい。
ohenji[0] = '( ´_ゝ`)ノボンジュール♪';
ohenji[1] = " ∧∧ \n"
+ " (=゚ω゚)ノ ぃょぅ \n"
+ " ~( x) \n"
+ " U U \n";
/*************************************************************************/
function event::onChannelText(prefix, channel, text) {
var c = findChannel(channel);
if (c) {
var m = c.findMember(myNick);
if (m.op) {
for (i in keyword) {
if (text.match(keyword[i])) {
//n = Math.floor(Math.random()* ohenji.length);
//send(channel, ohenji[n]);
splitMsg = ohenji[i].split(delimiter);
for(var index in splitMsg) {
send(channel, splitMsg[index]);
}
}
}
}
}
}
青:追加
赤:削除
実行結果:
ダウンロードリンク:
uniangel_ryousangata_kaiwa_kai_00.js
(右クリックで名前を付けてリンク先を保存)
ちょっと暇な待ち時間があったので、二次元配列版も作ってみた。
/*************************************************************************/
//チャンネル内のコメントのある言葉に反応して会話をランダムで返すbotスクリプトです。
//マクロで会話を作るのが面倒な人の為に作りました。
//※管理者権限を持っている時にしか発言しません。
//また、ブラウザでUstreamを見ている人には見えません。
//このスクリプトはテストしていますが自己責任で導入して下さい。改変・改造はご自由に!
//スクリプトの改修にあたりソイソース醤油さんの羅刹キッカーを一部参考にさせて頂きました。
//Thanks!
//(C)2009 ユニ #uniuniuni http://univoice.blog36.fc2.com/
var keyword = new Array();
var ohenji = new Array();
//ここまで変更しないで下さい
/*************************************************************************/
//★会話内容変更部分 編集可能です。★
//この下を変更すると、反応する単語を指定できます。
//もっと追加したい場合は、その後に続けて
// keyword[次の数字] = '反応する単語';
//と1行ずつ増やしていって下さい。
keyword[0] = 'こんにちは';
keyword[1] = "こんばんは";
//この下を変更すると、返事する内容を指定できます。
//もっと追加したい場合は、その後に続けて
// ohenji[次の数字] = '返事の文章';
//と1行ずつ増やしていって下さい。
ohenji = [ ["( ´_ゝ`)ノボンジュール♪"], // 0
[" ∧∧",
" (=゚ω゚)ノ ぃょぅ",
" ~( x)",
" U U"] // 1
];
/*************************************************************************/
function event::onChannelText(prefix, channel, text) {
var c = findChannel(channel);
if (c) {
var m = c.findMember(myNick);
if (m.op) {
for (i in keyword) {
if (text.match(keyword[i])) {
//n = Math.floor(Math.random()* ohenji.length);
//send(channel, ohenji[n]);
for(var j in ohenji[i]) {
send(channel, ohenji[i][j]);
}
}
}
}
}
}
やっぱ配列番号がわかりずらいし、メッセージ追加するときもミスしそうだし、split版の
方がいいな。
一応DLリンク:
uniangel_ryousangata_kaiwa_kai_01.js
てか、ユニさんのスクリプトを編集して二次配布してもよかったのだろうか?
まあいいやw
PR
- トラックバックURLはこちら