Chatspace Admin/oper access list/Unauthorized admin protection

By blackvenomm666 on Jan 14, 2012

Another script i was asked to do meant for chatspace. This script is meant for people who do not host their own chatspace and have to go through someone to get opers/admins added to the admin/oper list and also for people to help protect against people not admin getting admin. first things first with the server as the active server you can right click a persons name then go to safelist and add them that way. or you can do it manually but you have to get their ip to do it i use $address($nick,1) so if you wanna do it manually to make sure you have the right info just do //echo -a $address(nickhere,1) and it'll give ya the proper info. after you add them to that list you can then go into admin access add admin. or add oper whichever one you wanna add them to. it will ask you their nickname so put their nick then their login name then pass. so it would be like /oper loginname password. after you've added that they can then notice you /notice yournick admin/oper theirloginname theirpw and you will automatically give them admin

Menu menubar,nicklist,channel,status {
  Admin access
  ..AddAdmin: { writeini admin.ini $server $+ admin $$?="their nick?" $$?="Their login name" $$?="Whats their pass?" }
  ..DelAdmin: { remini admin.ini $server $+ admin $$?="remove what nick" }
  ..Addoper: { writeini admin.ini $server $+ oper $$?="their nick?" $$?="Their login name" $$?="Whats their pass?" }
  ..Deloper: { remini admin.ini $server $+ oper $$?="remove what nick" }
  Admin protect
  .on off settings
  ..$iif($group(#admincheck) == On,$style(2)) Turn on: { .enable #admincheck }
  ..$iif($group(#admincheck) == Off,$style(2)) Turn off: { .disable #admincheck }
  .adminsafelist
  ..SafeList Nick:auser AdminSafe *!*@ $+ $$?="SafeList What Nick?"
  ..UnSafeList Nick:ruser AdminSafe *!*@ $+ $$?"UnSafeList What Nick?"
  ..Safelist $1: { auser AdminSafe $address($1,2) }
  ..UnSafelist $1: { ruser AdminSafe $address($1,2) }
}
#admincheck off
on *:snotice:*is now an IRC Operator*:{
  if ($level($address($4,2)) != AdminSafe) {
    .kill $4 you are not in the safelist
  }
}
#admincheck end
on *:notice:*:*: {
  if (admin isin $1-) {
    .set %checknick $nick
    .whois $nick
    .timer 1 4 admincheck $1-
  }
  if (oper isin $1-) {
    .set %checknick $nick
    .whois $nick
    .timer 1 4 opercheck $1-
  }
}

alias admincheck {
  if ($level($address($nick,1) ==  AdminSafe)) && ($readini(admin.ini,$server $+ admin,%checknick) == $2-) {
    .setoper %checknick +admin
  }
}
alias opercheck {
  if ($level($address($nick,1) ==  AdminSafe)) && ($readini(admin.ini,$server $+ oper,%checknick) == $2-) {
    .setoper %checknick +oper
  }
}

Comments

Sign in to comment.
blackvenomm666   -  Jan 26, 2012

ty weldon

 Respond  
blackvenomm666   -  Jan 16, 2012

why would it need to be more expansive?

 Respond  
ThE ViPeR   -  Jan 16, 2012

Not bad but this could be quite a bit more expansive.

 Respond  
CommonKnowledge   -  Jan 14, 2012

Very nicely written, Could be consolidated more, Works well, Tested on my server. Other than that, once again, Nice script BlackVenomm666

 Respond  
Are you sure you want to unfollow this person?
Are you sure you want to delete this?
Click "Unsubscribe" to stop receiving notices pertaining to this post.
Click "Subscribe" to resume notices pertaining to this post.