Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; ================================================================
- ; Delay Hidden Voice Script (+Dm Auto Voice Handler)
- ; ================================================================
- ; Usage:
- ; This script is designed for Undernet channels using mode +Dm
- ; (Delay Join + Moderated). When enabled, users join the channel
- ; without voice and are automatically voiced (+v) after a short delay.
- ;
- ; Features:
- ; - Automatically scans joining users via NAMES reply (RAW 355)
- ; - WHOIS checks users before voicing
- ; - Voices users after a short delay (5 seconds)
- ; - Includes anti-flood protection when unhiding users
- ; - Toggle-safe with timer cleanup
- ;
- ; Requirements:
- ; - Must be on Undernet
- ; - Requires channel operator access to set +Dm and +v
- ;
- ; Notes:
- ; - The script sets channel mode +Dm when enabled.
- ; - When disabled, it removes +Dm and clears timers.
- ; - Uses a temporary hash system to prevent voice flooding.
- ; ================================================================
- menu channel, {
- $iif(undernet isin $network,Delay Voice)
- ..ON:husers | mode $chan +Dm
- ..OFF:husers | mode $chan -Dm
- }
- alias dm.off {
- .names -d $chan
- if ($timer(hUsers) != $null) {
- .timerhUsers off
- unset %huserchan
- echo -at Delay Hidden voice Script is Off!
- .mode $chan -Dm
- unhide $chan
- }
- }
- alias dm.on {
- .timerhUsers 0 15 .names -d $chan
- set %huserchan $chan
- .mode $chan +Dm
- echo -at Delay Hidden voice Script is On!
- }
- raw 355:*: {
- if ( $4 == $null ) { HALT }
- else {
- set %allnicks $4-
- set %i 1
- :next
- set %nick $gettok(%allnicks,%i, 32)
- if %nick == $null goto done
- if $istok( %nrdone,%nick,32 ) { inc %i | goto next }
- .set -u60 %nrdone %nrdone %nick
- .enable #ghost
- .whois %nick
- ;.timern 1 1 .notice %nick You Are hidden under +Dm channel modes, in a moment you will be voiced(+v) and you will be able to speak.
- .timerv 1 5 mode %huserchan +v %nick
- inc %i
- goto next
- :done
- }
- halt
- }
- raw 366:*: halt
- #ghost off
- raw 301:*: halt
- raw 310:*: halt
- raw 311:*: { echo -at 4 $+ Scanning Hidden User: $address($2,5) | halt }
- raw 312:*: halt
- raw 313:*: halt
- raw 330:*: halt
- raw 319:*: halt
- raw 317:*: halt
- raw 318:*: { .timer 1 15 .disable #ghost | haltdef }
- #ghost end
- alias unhide {
- hadd -mu4 noflood plx 1
- .timer 1 0 names -d $1
- }
- raw 355:*:{
- if ( $hget(noflood,plx) ) {
- var %total = $numtok($4-,32)
- hadd -mu15 user list $4-
- var %x = $hget(user,0).item
- while ( %x > 0 ) {
- var %a = $gettok($hget(user,list),1-6,32)
- .timer 1 0 mode $3 +vvvvvv %a
- .timer 1 1 mode $3 -vvvvvv %a
- hadd user list $gettok($hget(user,list),7-,32)
- dec %x 6
- }
- HALT
- }
- }
- raw 366:*:{ if ( $Hget(noflood,plx) ) { HALT } }
Advertisement