plugin.id = "clone-control";
plugin.init =
function _init( glob ) {
this.major = 1;
this.minor = 1;
this.version = this.major + "." + this.minor + " ( 20 Mar 2008)";
this.description = "Clone Control Users List. " +
"By MAKOKE <gboxlan@gmail.com>";
plugin.cmds = [
["clones", cmdClones, CMD_CONSOLE | CMD_NO_HELP | CMD_NEED_CHAN]
];
return "OK";
}
plugin.enable =
function _enable(){
plugin.commands = client.commandManager.defineCommands( plugin.cmds );
return true;
}
plugin.disable =
function _disable(){
client.commandManager.removeCommands( plugin.commands );
return true;
}
function cmdClones( e ) {
var tabla = new Array(); var myList = new Array();
var strr=""; var cloneLine = "";
var cuser = 0; var cclon = 0; var sw = 0;
tabla = dumpObject( e.channel.users ).split( "\n" ); var limite = tabla.length-1;
for( var h = 0; h < limite; h++ ) {
strr = "";
for( var j = 0; j < tabla[h].length-1; j++ ) {
if( tabla[h][j] != " " ) strr = strr + tabla[h][j];
else break;
}
tabla[h] = e.channel.getUser( strr ).encodedName;
myList[h] = "*!*@" + e.channel.getUser( strr ).host;
if( myList[h] == "*!*@undefined" && typeof client.detectNick != 'undefined' )
for( var k = client.detectNick[0].length-2; k >= 0; k-- )
if( client.detectNick[2][k] == tabla[h] ) {
myList[h] = "*!*@" + client.detectNick[1][k];
break;
}
}
e.channel.display ( "Clone control for the channel " + e.channel.unicodeName );
for( var i = 0; i < limite; i++ ) {
if( !tabla[i] ) continue;
cloneLine = ""; sw = 0;
for( var k = 0; k < limite; k++ ) {
if( ( myList[i] == myList[k] ) && ( i != k ) ) {
cloneLine = cloneLine + tabla[k] + ", ";
tabla[k] = "";
cclon++; sw++;
}
}
if( sw ) {
cuser++;
e.channel.display ( cuser + ".- " + tabla[i] + " " + myList[i] );
e.channel.display ( cloneLine.substr( 0, cloneLine.length-2 ) );
}
}
e.channel.display ( "Have found " + cclon + " clons." );
e.channel.display ( "Have found " + cuser + " cloned users." );
}
Download File clone-control.js 2.1 KB