ACP Admin Control Panel v3.5.1

By TophBeiFong on Nov 26, 2009

Screenshots

WARNING THIS WILL ONLY WORK FOR 6.xx or below Due to 7.1 This dialog won't work for 7.1 Thank you for understanding,
This is a ACP. It has almost everything an Channel owner/IRCop needs. Post your ideas below and i'll add it up.

Update: DNSBL Fixed

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;this was made and founder by TophBeiFong;;;;;;
;;This is a product of a new mirc coming to hawkee;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

dialog ACP {
  title "[Administration Control Panel] 3.5"
  size -1 -1 245 245
  option dbu
  Tab "Admin Control", 1, 0 0 300 300, 
  box "Users", 2, 1 15 111 135
  list 3, 20 23 75 125, extsel multsel size vsbar
  button "Adchat" 5, 115 25 32 10, tab 1
  box "Network Admin Commands", 4, 110 15 120 100, tab 1
  button "AddMotd" 6, 115 35 32 10, tab 1
  button "AddOMotd" 7, 115 45 32 10, tab 1
  button "Chatops" 8, 115 55 32 10, tab 1
  button "Chghost" 9, 115 68 32 10, tab 1
  button "Chgident" 10, 115 78 32 10, tab 1
  button "Chgname" 11, 115 88 32 10, tab 1
  button "Gline" 12, 146 98 32 10, tab 1
  button "Kline" 13, 146 68 32 10, tab 1
  button "Kill" 14, 146 78 32 10, tab 1
  button "Rehash" 15, 146 25 32 10, tab 1
  button "Restart" 16, 146 35 32 10, tab 1
  button "Die" 17, 146 45 32 10, tab 1
  button "Sajoin" 18, 177 98 32 10, tab 1
  button "Sapart" 19, 177 88 32 10, tab 1
  button "Zline" 20, 146 88 32 10, tab 1
  button "Shun" 21, 115 98 32 10, tab 1
  button "Sethost" 22, 146 55 32 10, tab 1
  button "Setident" 23, 177 35 32 10, tab 1
  button "Connect" 24, 177 25 32 10, tab 1
  ;text "Non-Selectble User" 25, 179 45 65 13, tab 1
  text "Ban Selectble User" 26, 179 78 65 10, tab 1
  box "Server Lockdown", 27, 2 218 235 25, tab 1
  button "1< Defcon" 28, 3 228 32 10, tab 1
  button "2< Defcon" 29, 50 228 32 10, tab 1
  button "3< Defcon" 30, 100 228 32 10, tab 1
  button "4< Defcon" 31, 150 228 32 10, tab 1
  button "5< Normal" 32, 200 228 32 10, tab 1
  Tab "test", 33, 0 0 300 300, 
  box "Kicks And Auto op's", 34, 111 15 125 25, tab 33
  box "DnsBL 1", 35, 110 120 160 20, tab 1
  button "set" 36, 210 125 32 10, tab 1
  box "DnsBL 2", 37, 110 140 160 20, tab 1
  button "set" 38, 210 145 32 10, tab 1
  edit "" 41, 115 128 92 10,tab 1
  edit "" 42, 115 148 92 10,tab 1
  text "/dns is really dangerous when the dnsbl is enable, make sure you don't use /dns on the users or they will get banned" 43, 115 178 100 50,tab 1
  button "Turn on" 44, 115 165 32 10, tab 1
  button "Turn off" 45, 148 165 32 10, tab 1
  text "" 46, 185 165 60 10,tab 1
  button "set" 47, 184 108 20 10, tab 33
  edit "" 48, 128 100 10 10,tab 33
  text "Lines" 49, 116 100 12 10,tab 33
  edit "" 50, 158 100 10 10,tab 33
  text "Secs" 51, 145 100 13 10,tab 33
  box "Anti Flood", 52, 111 90 100 50, tab 33
  edit "#" 53, 140 110 40 10, tab 33
  button "Turn off" 54, 116 120 32 10, tab 33
  button "Turn on" 55, 149 120 32 10, tab 33
  text "" 56, 182 120 50 10,tab 33
  text "Channel" 57, 116 112 20 8,tab 33
  ;text "on text:" 58, 106 190 20 10,tab 33
  ;button "Turn off" 59, 180 200 32 10, tab 33
  ;button "Turn on" 60, 180 210 32 10, tab 33
  ;text "on join:" 61, 180 190 20 10,tab 33
  ;text "" 62, 200 190 20 10,tab 33
  button "~" 63, 95 23 16 16, tab 33
  button "" 64, 95 43 16 16, tab 33
  button "@" 65, 95 63 16 16, tab 33
  button "%" 66, 95 83 16 16, tab 33
  button "+" 67, 95 103 16 16, tab 33
  button "- ~" 68, 2 23 16 16, tab 33
  button "" 69, 2 43 16 16, tab 33
  button "- @" 70, 2 63 16 16, tab 33
  button "- %" 71, 2 83 16 16, tab 33
  button "- +" 72, 2 103 16 16, tab 33
  button "Kick/Ban" 73, 113 23 28 10, tab 33
  button "Mute" 74, 141 23 20 10, tab 33
  ;button "Unmute" 75, 161 23 22 10, tab 33
  button "Ban" 76, 183 23 20 10, tab 33
  box "Mode", 77, 111 38 100 44, tab 33
  check "Invite Only" 78, 115 45 35 10, tab 33
  check "Limit" 79, 115 55 35 10, tab 33
  check "No external" 80, 115 65 35 10, tab 33
  check "Mods set Topic" 81, 155 45 43 10, tab 33
  check "No knocks" 82, 155 55 43 10, tab 33
  check "Mute Channel" 83, 155 65 43 10, tab 33
  list 84, 28 150 200 75, extsel multsel size vsbar, tab 33
  text "Ban List" 85, 3 150 24 13, tab 33
  button "Remove" 86, 2 158 24 15, tab 33
  button "Ban Channel" 87, 30 225 40 15, tab 33
  button "Ban Ident" 88, 70 225 40 15, tab 33
  check "Disable Oper Warning" 89, 3 200 60 15, tab 1
  text "" 90, 3 150 80 13, tab 1
}

alias ACP { 
  set %chan $active
  dialog -m ACP ACP
  set %iii i
  If (o isincs $usermode) {
    did -a ACP 90 You have access to this network $server
  }
  elseif ($group(#notoper) == on) dialog -m isnotoper isnotoper
}
#notoper on
dialog isnotoper {
  title "Warning!"
  size -1 -1 125 40 
  option dbu
  text "YOU ARE NOT AN OPER OF THIS NETWORK, Feel free to use the other tabs or Login in order to use this tab" 1, 3 3 120 100,
  button "OK" 2, 50 25 20 15, ok
}
on 1:dialog:isnotoper:sclick:1: {
  .did -k isnotoper 
}
#notoper end

on 1:dialog:acp:sclick:78: {
  If (i isincs $chan(%chan).mode) { 
    mode %chan -i 
  } 
  else mode %chan +i
}
on 1:dialog:acp:sclick:79: {
  If (l isincs $chan(%chan).mode) { 
    mode %chan -l 
  } 
  else mode %chan +l $$?"add a limit for %chan "
}

on 1:dialog:acp:sclick:80: {
  If (n isincs $chan(%chan).mode) { 
    mode %chan -n 
  } 
  else mode %chan +n 
}

on 1:dialog:acp:sclick:81: {
  If (t isincs $chan(%chan).mode) { 
    mode %chan -tK | did -u ACP 82

  } 
  else mode %chan +t 
}
on 1:dialog:acp:sclick:82: {
  If (K isincs $chan(%chan).mode) { 
    mode %chan -K 
  } 
  elseif (i isincs $chan(%chan).mode) {
    mode %chan +K 
  }
  else dialog -m inotset inotset | did -u acp 82
}
on 1:dialog:acp:sclick:83: {
  If (m isincs $chan(%chan).mode) { 
    mode %chan -m
  } 
  else mode %chan +m 
}
on 1:dialog:acp:sclick:89: {
  If ($group(#notoper) == on) { 
    disable #notoper
  } 
  else enable #notoper
}

on 1:dialog:acp:sclick:88: {
  set %idenname $$?"ban ident username"
  mode %chan +b %idenname $+ @*
  did -a ACP 84 %idenname $+ @*
}

on 1:dialog:acp:sclick:74: {
  var %set.mode $did(3,0).sel
  while (%set.mode) {
    mode %chan +b ~q: $+ $address( $did(3,$did(3,%set.mode).sel).text , 2 )
    dec %set.mode
    did -a acp 84 ~q: $+ $address( $did(3,$did(3,%set.mode).sel).text , 2 )
  }
}
on 1:dialog:acp:sclick:75: {
  var %set.mode $did(3,0).sel
  while (%set.mode) {
    mode %chan -b ~q: $+ $address( $did(3,$did(3,%set.mode).sel).text , 2 )
    dec %set.mode

  }
}
on 1:dialog:acp:sclick:73: {
  var %set.mode $did(3,0).sel
  while (%set.mode) {
    mode %chan +b $address( $did(3,$did(3,%set.mode).sel).text , 2 )
    kick %chan $did(3,$did(3,%set.mode).sel).text $$?"Reason"
    dec %set.mode
    did -a acp 84 $address( $did(3,$did(3,%set.mode).sel).text , 2 )
  }
}

on 1:dialog:acp:sclick:86: {
  var %set.mode $did(84,0).sel
  var %set.modeList $did(84,1).sel
  while (%set.mode) {
    mode %chan -b $did(84,$did(84,%set.mode).sel).text
    .timer 1 0 did -d $dname 84 $did(84,%set.modeList).sel
    dec %set.mode
  }
}
on 1:dialog:acp:sclick:87: {
  set %set.chan $$?"Ban Channel "
  mode %chan +b ~c:# $+ %set.chan
  did -a acp 84 ~c:# $+ %set.chan
}

dialog inotset {
  title "Warning!"
  size -1 -1 125 30 
  option dbu
  text "You Can't set 'No Knocks' The 'Invite Only' Must be Checked" 1, 3 3 100 100,
}

on 1:dialog:ACP:sclick:*: {
  if ( $did == 5 ) { 
    adchat $$?"Message" 
  }
  if ( $did == 6 ) {
    inc %rows
    /addmotd $$?"(LINE 1)" 
    /addmotd $$?"(LINE 2)" 
    /addmotd $$?"(LINE 3)" 
    /addmotd $$?"(LINE 4)" 
    /addmotd $$?"(LINE 5)" 
  }
  if ( $did == 7 ) {
    /addmootd $$?"(LINE 1)" 
    /addomotd $$?"(LINE 2)" 
    /addomotd $$?"(LINE 3)" 
    /addomotd $$?"(LINE 4)" 
    /addomotd $$?"(LINE 5)" 
  }
  if ( $did == 8 ) {
    chatops $$?"message" 
  }
  if ( $did == 9 ) {
    chghost $did(3).seltext $$?"change $did(3).seltext $+ 's  host" 
  }
  if ( $did == 10 ) {
    Chgident $did(3).seltext $$?"change $did(3).seltext $+ 's ident"
  }
  if ( $did == 11 ) {
    Chgname $did(3).seltext $$?"change $did(3).seltext $+ 's Real name"
  }
  if ( $did == 16 ) {
    restart $$?"Password"
  }
  if ( $did == 15 ) {
    Rehash 
  }
  if ( $did == 17 ) {
    die $$?"Password"
  }
  if ( $did == 18 ) {
    sajoin $did(3).seltext $$?"Channel: #chat1,#chat2,#chat3"
  }
  if ( $did == 19 ) {
    sapart $did(3).seltext $$?"Channel"
  }

  if ( $did == 21 ) {
    shun $did(3).seltext - $$?"Reason"
  }
  if ( $did == 22 ) {
    sethost $$?"Set Your Hostname:"
  }
  if ( $did == 23 ) {
    setident $$?"Set Your Ident:"
  }
  if ( $did == 24 ) {
    Connect $$?"Connect\link With Server"
  }
  if ( $did == 28 ) {
    msg operserv defcon 1
  }
  if ( $did == 29 ) {
    msg operserv defcon 2
  }
  if ( $did == 30 ) {
    msg operserv defcon 3
  }
  if ( $did == 31 ) {
    msg operserv defcon 4
  }
  if ( $did == 32 ) {
    msg operserv defcon 5
  }

  if ($did == 12) {
    set %reason $$?"reason"
    var %kill.lines $did(3,0).sel
    while (%kill.lines) {
      gline $did(3,$did(3,%kill.lines).sel).text %reason
      dec %kill.lines
    }
  }
  if ($did == 13) {
    set %reason $$?"reason"
    var %kill.lines $did(3,0).sel
    while (%kill.lines) {
      kline $did(3,$did(3,%kill.lines).sel).text %reason
      dec %kill.lines
    }
  }
  if ($did == 14) {
    set %reason $$?"reason"
    var %kill.lines $did(3,0).sel
    while (%kill.lines) {
      kill $did(3,$did(3,%kill.lines).sel).text %reason
      dec %kill.lines
    }
  }
  if ($did == 20) {
    set %reason $$?"reason"
    var %kill.lines $did(3,0).sel
    while (%kill.lines) {
      echo zline $did(3,$did(3,%kill.lines).sel).text %reason
      dec %kill.lines
    }
  }
  if ( $did == 36 ) {
    set %dnsbl1 $did(41).text
  }
  if ( $did == 38 ) {
    set %dnsbl2 $did(42).text
  }

  if ( $did == 44 ) {
    .enable #dnsbl
    did -a ACP 46 $iif($group(#dnsbl).status iswm on, Stats: Enabled, Stats: Disabled) 
  }
  if ( $did == 45 ) {
    .disable #dnsbl
    did -a ACP 46 $iif($group(#dnsbl).status iswm on, Stats: Enabled, Stats: Disabled) 

  }

  if ( $did == 47 ) {
    set %fline $did(48).text
    set %sline $did(50).text
    set %jline $did(53).text

  }

  if ( $did == 54 ) {
    .disable #flood
    did -a ACP 56 $iif($group(#flood).status iswm on, Enabled, Disabled) 
  }
  if ( $did == 55 ) {
    .enable #flood
    did -a ACP 56 $iif($group(#flood).status iswm on, Enabled, Disabled) 
  }

  if ( $did == 59 ) {
    .disable #joinflood
    did -a ACP 62 $iif($group(#joinflood).status iswm on, Enabled, Disabled) 
  }
  if ( $did == 60 ) {
    .enable #joinflood
    did -a ACP 62 $iif($group(#joinflood).status iswm on, Enabled, Disabled) 
  }
  if ($did == 63) {

    var %set.mode $did(3,0).sel
    while (%set.mode) {
      mode %chan +q $did(3,$did(3,%set.mode).sel).text 
      dec %set.mode
    }
  }
  if ($did == 64) {
    var %set.mode $did(3,0).sel
    while (%set.mode) {
      mode %chan +a $did(3,$did(3,%set.mode).sel).text 
      dec %set.mode
    }
  }

  if ($did == 65) {
    var %set.mode $did(3,0).sel
    while (%set.mode) {
      mode %chan +o $did(3,$did(3,%set.mode).sel).text 
      dec %set.mode
    }
  }
  if ($did == 66) {
    var %set.mode $did(3,0).sel
    while (%set.mode) {
      mode %chan +h $did(3,$did(3,%set.mode).sel).text 
      dec %set.mode
    }
  }
  if ($did == 67) {
    var %set.mode $did(3,0).sel
    while (%set.mode) {
      mode %chan +v $did(3,$did(3,%set.mode).sel).text 
      dec %set.mode
    }
  }
  if ($did == 68) {

    var %set.mode $did(3,0).sel
    while (%set.mode) {
      mode %chan -q $did(3,$did(3,%set.mode).sel).text 
      dec %set.mode
    }
  }
  if ($did == 69) {
    var %set.mode $did(3,0).sel
    while (%set.mode) {
      mode %chan -a $did(3,$did(3,%set.mode).sel).text 
      dec %set.mode
    }
  }

  if ($did == 70) {
    var %set.mode $did(3,0).sel
    while (%set.mode) {
      mode %chan -o $did(3,$did(3,%set.mode).sel).text 
      dec %set.mode
    }
  }
  if ($did == 71) {
    var %set.mode $did(3,0).sel
    while (%set.mode) {
      mode %chan -h $did(3,$did(3,%set.mode).sel).text 
      dec %set.mode
    }
  }
  if ($did == 72) {
    var %set.mode $did(3,0).sel
    while (%set.mode) {
      mode %chan -v $did(3,$did(3,%set.mode).sel).text 
      dec %set.mode
    }
  }
}

on *:DIALOG:ACP:*:*: {
  if ($devent == init) {
    var %a = 1
    while ($nick(%chan,%a)) {
      did -a ACP 3 $nick(%chan,%a)
      inc %a
    }
    else { inc %a }
  }
  if ($devent == init) {
    did -a ACP 41 %dnsbl1
    did -a ACP 42 %dnsbl2
    did -a ACP 46 $iif($group(#dnsbl).status iswm on, Stats: Enabled, Stats: Disabled) 
    did -a ACP 33 %chan
    did -a ACP 48 %fline
    did -a ACP 50 %sline
    did -a ACP 56 $iif($group(#flood).status iswm on, Enabled, Disabled) 
    ;did -a ACP 62 $iif($group(#joinflood).status iswm on, Enabled, Disabled) 
    did -ra ACP 53 %jline
    did -a ACP 64 $chr(182)
    did -a ACP 69 - $chr(182)
    did -v ACP 4
  } 
  If (i isincs $chan(%chan).mode) { 
    did -c acp 78 
  } 
  If (l isincs $chan(%chan).mode) { 
    did -c acp 79 
  } 
  If (n isincs $chan(%chan).mode) { 
    did -c acp 80 
  } 
  If (t isincs $chan(%chan).mode) { 
    did -c acp 81 
  } 
  If (K isincs $chan(%chan).mode) { 
    did -c acp 82
  } 
  If ($group(#notoper) == off) { 
    did -c acp 89
  }

  if ($devent == init) {
    var %banlist = 0
    :banlist
    if (%banlist == $ibl(%chan,0)) {
      halt
    }
    else {
      inc %banlist
      did -a ACP 84 $ibl(%chan,%banlist)
      goto banlist
    }

  }
}
; DO NOT EDIT BELOW IF YOU KNOW WHAT YOU ARE DOING
#dnsbl off
on 1:snotice:*Client connecting*:{
  whois $9
}
raw 378:*:{ 
  var %dnsC1 $+($gettok($7,4,46),.,$gettok($7,3,46),.,$gettok($7,2,46),.,$gettok($7,1,46),.,%dnsbl1)
  var %dnsC2 $+($gettok($7,4,46),.,$gettok($7,3,46),.,$gettok($7,2,46),.,$gettok($7,1,46),.,%dnsbl2)

  set %RBLdns.ip $7
  dns %dnsC1
  dns %dnsC2

}
On 1:DNS: { 
  if ($dns(0)) { gline *@ $+ %RBLdns.ip 14h Your IP was detected as a worm or proxy, 14 hour ban } ; change this line if you like
  unset %RBLdns.ip
}

#dnsbl end
#flood off

on *:text:*:#%jline:{ 
  inc -u [ $+ [ %sline ] ] %flood. [ $+ [ $nick ] ]
  if (%flood. [ $+ [ $nick ] ] == %fline) {
    /mode $chan +b $address( $nick , 2 )
    /kick $chan $nick Flooding,
  }
}

#flood end

Comments

Sign in to comment.
LordBotTeam   -  Jan 07, 2012

This person just ripped it from mIRC- mBL, i have mIRC mBL and it comes with that. This guy didn't do anything,all he did was copy it.
Here is the link for mIRC mBL if you want to get it:
http://bopm.webs.com/download.html

TophBeiFong  -  Jan 08, 2014

I own it lol.

Sign in to comment

TophBeiFong   -  Aug 10, 2010

Next: Adding tabs [your nickname], chanserv, nickserv, system info and making something more better

 Respond  
TophBeiFong   -  Aug 04, 2010
  1. ok i'll add it and
  2. its for unreal, some commands works with inspircd
 Respond  
Cheiron   -  Aug 04, 2010

might be worth making it menu open TophBeiFong as opposed /acp
most users of dialogues are used to menu driven boxes over alias based :)

only other question i had.. is... what server daemon is this intended for as you have not specified on the description ?

unreal/anope , inspiricd/atheme , etc ?

 Respond  
TophBeiFong   -  Aug 04, 2010

Im thinking of getting the /dns to prevent from banning users, when it comes to a none blacklisted

 Respond  
TophBeiFong   -  Aug 03, 2010

You have to type /acp in a channel

 Respond  
Cheiron   -  Aug 03, 2010

loaded this up on my mirc on an unrealircd.. went through all my right clicks and menus and couldnt find it listed anywhere....

 Respond  
Sorasyn   -  Aug 02, 2010

Gah JaYaRe has to be the most fucking retarded infuriating irc user ive ever met.

 Respond  
DarkGamer120   -  Aug 01, 2010

Nice :)

DG.

 Respond  
TophBeiFong   -  Aug 01, 2010

v2.9 has been made, you can add dnsbl domains and set it, make sure you turn it on, this will only work on local servers and i'll be making one for remote too aka linked

 Respond  
rayrayray   -  Jul 28, 2010

when is the user on out ??? its stil lsays its coming

 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.