I tried tackling this, and came with some success. All in Remote section.

Ins and Outs: The IP Blacklist works to the best of my knowledge, all you have to do is Right-Click their name in the Channel's namelist and highlight Devoice 'EM and then you have two options. You can Perm DV or Timed DV. The timed has some preset times and a Custom time setting. Right clicking the chat area will let you view the 'IP' list in: "Username -- IP" format. The demuting feature isn't up to the standards you stated, but all you have to do is rightclick namelist and hit De-Devoice and type their name in. Also have a simple Autovoice and a Refresh button in the IP list-window. Hope you enjoy, it was fun to make, besides a few headaches. ^^

Code:
on *:JOIN:#: {
  if ( $read(dvupkeep.txt, s, $nick ) != $null ) {
    /notice $nick You are still muted.
  }
  else {
    /mode # +v $nick
  }
}
Menu channel {
  View Devoice List:{
    /window @Devoice -l
    var %blahhityblah = 1
    while (%blahhityblah <= $lines(dvupkeep.txt) ) {
      /aline -c @Devoice $read( dvupkeep.txt, %blahhityblah )
      inc %blahhityblah
    }
  }
}
Menu nicklist {
  Devoice 'EM!
  .Perm DVoice: {
    if ( $read(dvupkeep.txt, w, * $+ $address( $$1 $+ ,1) $+ * ) == $null ) {
      /write dvupkeep.txt $$1 -- $address( $$1 $+ ,1)
      /mode # -v $$1
    }
    else {
      /notice $me That name is already in the Devoice List.
    }
  }
  .Timed DVoice
  ..One Minute: {
    /mode # -v $$1
    /write dvupkeep.txt $$1 -- $address( $$1 $+ ,1 )
    timer $+ $1 1 60 /mode # +v $$1
    timer $+ $1 $+ 2 1 60 /write -ds $+ $$1 dvupkeep.txt
  }
  ..Five Mins: {
    /mode # -v $$1
    /write dvupkeep.txt $$1 -- $address( $$1 $+ ,1)
    timer $+ $1 1 300 /mode # +v $$1
    timer $+ $1 $+ 2 1 300 /write -ds $+ $$1 dvupkeep.txt
  }
  ..15 Mins: {
    /mode # -v $$1
    /write dvupkeep.txt $$1 -- $address( $$1 $+ ,1)
    timer $+ $1 1 900 /mode # +v $1
    timer $+ $1 $+ 2 1 900 /write -ds $+ $$1 dvupkeep.txt
  }
  ..30 Mins: {
    /mode # -v $$1
    /write dvupkeep.txt $$1 -- $address( $$1 $+ ,1)
    timer $+ $1 1 1800 /mode # +v $1
    timer $+ $1 $+ 2 1 1800 /write -ds $+ $$1 dvupkeep.txt
  }
  ..Custom: {
    var %ctime $+ $1 = $?="Enter how many seconds."
    /mode # -v $$1
    /write dvupkeep.txt $$1 -- $address( $$1 $+ ,1)
    timer $+ $1 1 $! /mode # +v $1
    timer $+ $1 $+ 2 1 $! /write -ds $+ $$1 dvupkeep.txt 
  }
  De-Devoice:{
    /write -ds $+ $?="Enter name to delete."  dvupkeep.txt
    /mode # +v $!
  }
}
Menu @Devoice {
  Refresh List: {
    /window @Devoice -l
    var %blahhityblah = 1
    while (%blahhityblah <= $lines(dvupkeep.txt) ) {
      /aline -c @Devoice $read( dvupkeep.txt, %blahhityblah )
      inc %blahhityblah
    }
  }  
}




Quick edit before I forget: When you first use it, you may want to click PermDV then unmute a dummy account in a room. That should setup the .txt you'll need. After that Autovoice will work X_X

Last edited by Nonborn; 24/01/11 09:51 AM.