Created
February 19, 2012 09:12
-
-
Save PyYoshi/1862694 to your computer and use it in GitHub Desktop.
ircBot-console用、自動なると付加スクリプト
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /* | |
| #------------------------------------------------------------------------------- | |
| # Name: grant naruto | |
| # Purpose: ircBot-console用、自動なると付加スクリプト | |
| # Version: 0.1 | |
| # | |
| # History: | |
| # 0.1 初リリース | |
| # | |
| # Author: PyYoshi | |
| # | |
| # Licence: MIT | |
| # ircBot-console: http://www.enjoyxstudy.com/ircbotconsole/ | |
| #------------------------------------------------------------------------------- | |
| */ | |
| ///////////////////// 初期設定 ///////////////////// | |
| // ホワイトリストに追加 | |
| var WHITE_LIST = [ | |
| 'username', | |
| ] | |
| /* | |
| ユーザ名のあいまいチェックのタイプ | |
| 0: 完全一致 | |
| 1: 前方一致 | |
| */ | |
| var STRING_CHECKING = 0; | |
| ////////////////////// 関数群 ////////////////////// | |
| function getUsers(){ | |
| /* | |
| ユーザ情報取得 | |
| Args | |
| none | |
| Return | |
| org.jibble.pircbot.User Array -> http://www.jibble.org/javadocs/pircbot/org/jibble/pircbot/User.html | |
| */ | |
| var users = _ircBot.getUsers(_channel); | |
| return users; | |
| } | |
| function sendMsg(msg){ | |
| // メッセージ送信 | |
| _ircBot.sendMessage(_channel, msg); | |
| } | |
| function chkWhiteList(user){ | |
| /* | |
| ホワイトリストに入っているか確認する | |
| Args | |
| user: org.jibble.pircbot.User | |
| Return | |
| boolean | |
| true: ホワイトリストに含まれている | |
| false: ホワイトリストに含まれていない | |
| */ | |
| var ret = false; | |
| for(i=0;i<WHITE_LIST.length;i++){ | |
| if(STRING_CHECKING == 0){ | |
| // 完全一致 | |
| var regex_str = '^' + WHITE_LIST[i] + '$'; | |
| }else if(STRING_CHECKING == 1){ | |
| // 前方一致 | |
| var regex_str = '^' + WHITE_LIST[i] + '*'; | |
| } | |
| var re = new RegExp(regex_str, "ig"); | |
| var res = re.exec(user.getNick()); | |
| if(res){ | |
| ret = true; | |
| break; | |
| } | |
| } | |
| return ret; | |
| } | |
| function enOp(user){ | |
| /* | |
| OP権限を渡す | |
| Args | |
| user: org.jibble.pircbot.User | |
| */ | |
| var nick = user.getNick(); | |
| _ircBot.op(_channel,nick); | |
| } | |
| ///////////////////// main ///////////////////// | |
| try{ | |
| var users = getUsers(); | |
| for(cnt=0;cnt<users.length;cnt++){ | |
| if(!users[cnt].isOp()){// Op権限を持っていない人のチェック | |
| if(chkWhiteList(users[cnt])){// ホワイトリストからチェック | |
| enOp(users[cnt]); | |
| } | |
| } | |
| } | |
| }catch(e){ | |
| // エラーログ出力関数が無いので無視 | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment