Skip to content

Instantly share code, notes, and snippets.

@PyYoshi
Created February 19, 2012 09:12
Show Gist options
  • Select an option

  • Save PyYoshi/1862694 to your computer and use it in GitHub Desktop.

Select an option

Save PyYoshi/1862694 to your computer and use it in GitHub Desktop.
ircBot-console用、自動なると付加スクリプト
/*
#-------------------------------------------------------------------------------
# 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