MeMO Admin Control Panel - Accomplished By MOhammaD

By MaSt3R on Dec 12, 2012

admin contro panel accomplished By MOhammaD
Enjoy .... :P

dialog ACP {
  title "Administration Control PaNEl-Accomplished By MOhammaD "
  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 "SoperAdmin" 7, 115 25 32 10, tab 1
  box "Network Admin Commands", 4, 110 15 120 100, tab 1
  button "ModNick" 6, 115 35 32 10, tab 1
  button "SvsNick" 5, 115 45 32 10, tab 1
  button "Dropnick" 8, 115 55 32 10, tab 1
  button "host" 9, 115 65 32 10, tab 1
  button "ident" 10, 115 75 32 10, tab 1
  button "Rname" 11, 115 85 32 10, tab 1
  button "Gline" 12, 146 95 32 10, tab 1
  button "Kline" 13, 146 65 32 10, tab 1
  button "Kill" 14, 146 75 32 10, tab 1
  button "Rehash" 15, 146 25 32 10, tab 1
  button "Botjoin" 16, 146 35 32 10, tab 1
  button "BotPart" 17, 146 45 32 10, tab 1
  button "Sajoin" 18, 177 95 32 10, tab 1
  button "Sapart" 19, 177 85 32 10, tab 1
  button "Zline" 20, 146 85 32 10, tab 1
  button "Shun" 21, 115 95 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
  button "bottalk" 25, 177 45 32 10, tab 1
  button "SpamADD" 91, 177 55 32 10, tab 1
  button "SpamDEL" 92, 177 65 32 10, tab 1
  button "Dropchan" 26, 177 75 32 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 150 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 off
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 ) { 
    set %svsnickk $$?"Nick"
    var %svsnick $did(3,0).sel
    while (%svsnick) {
      os svsnick $did(3,$did(3,%svsnick).sel).text %svsnickk
      dec %svsnick
    }
  }
  if ( $did == 6 ) {
    set %mooode $$?"Mode"
    var %umode $did(3,0).sel
    while (%umode) {
      os umode $did(3,$did(3,%umode).sel).text %mooode
      dec %umode
    }
  }
  if ( $did == 7 ) {
    Nick DeMoN | .timer 1 1  ns id seydalidarak  | .timer 1 2 /os set superadmin on
  }
  if ( $did == 8 ) {
    var %Dnick $did(3,0).sel
    while (%Dnick) {
      ns drop $did(3,$did(3,%Dnick).sel).text 
      dec %Dnick
    }
  }
  if ( $did == 26 ) {
    cs drop $$?"channel"
  }
  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 ) {
    set %btjchan $$?"channel"
    var %btjoin $did(3,0).sel
    while (%btjoin) {
      os raw  : $+ $did(3,$did(3,%btjoin).sel).text  join %btjchan
      dec %btjoin
    }
  }
  if ( $did == 25 ) {
    set %bttalk $$?"Msg"
    var %bttalkk $did(3,0).sel
    while (%bttalkk) {
      /msg operserv raw : $+ $did(3,$did(3,%bttalkk).sel).text  PrivMsg %chan %bttalk
      dec %bttalkk
    }
  }

  if ( $did == 15 ) {
    Rehash 
  }
  if ( $did == 17 ) {
    set %btpchan $$?"channel"
    var %btpart $did(3,0).sel
    while (%btpart) {
      os raw  : $+ $did(3,$did(3,%btpart).sel).text  part %btpchan
      dec %btpart
    }
  }
  if ( $did == 18 ) {
    sajoin $did(3).seltext $$?"Channel: #chat1,#chat2,#chat3"
  }
  if ( $did == 19 ) {
    sapart $did(3).seltext $$?"Channel"
  }
  if ( $did == 91 ) {
    spamfilter add cpnNqduat $$?="Amaliyat" 0 IRanWeb/Team\Staff $$?="Version"
  }
  if ( $did == 92 ) {
    spamfilter del cpnNqduat  $$?="Amaliyat" 0  IRanWeb/Team\Staff $$?="Version"
  }

  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.
amclay   -  Dec 13, 2012

You could make this run a lot faster with elseif instead of evaluating every option.

 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.