aIRC — File Browser
aIRCv0.8.69 / aIRCv0.8.69 / script / chansetup.mrc
chansetup.mrc — 22.86 KB — Download this file
;/**********************************************************************
; *
; * aIRC
; * Channel Setup
; *
; **********************************************************************/
;
alias _chansetup {
_dialog -m chansetup chansetup
if ($_ischan($1)) { _chansetup.refresh $1 1 1 }
elseif ($_ischan($active)) { _chansetup.refresh $active 0 1 }
else { _chansetup.refresh $null 0 1 }
}
dialog chansetup {
size -1 -1 263 202
option dbu
title "Channel Setup"
tab "Toggles",2990,85 2 173 177
tab "Options",2991
tab "Lists",2992
text "Settings:",1,10 10 30 10
list 2,10 20 65 135,size
button "Add",3,10 160 30 15
button "Remove",4,45 160 30 15
box "",5,5 2 75 178
box "",51,90 15 165 160,tab 2990
; enforcebans bitch stopnethack revengebot secret shared
; clearbans dynamicbans userbans autoop greet protectops protectfriends
check "Global",61,95 20 25 10,tab 2990
check "Clear bans on join (+clearbans)",62,125 20 127 10,tab 2990
check "Global",63,95 30 25 10,tab 2990
check "Only activate bans when needed (+dynamicbans)",64,125 30 127 10,tab 2990
check "Global",65,95 40 25 10,tab 2990
check "Allow bans to be made by users directly? (+userbans)",66,125 40 127 10,tab 2990
check "Global",67,95 50 25 10,tab 2990
check "Autoop +o users (+autoop)",68,125 50 127 10,tab 2990
check "Global",69,95 60 25 10,tab 2990
check "Say infoline on join (+greet)",70,125 60 127 10,tab 2990
check "Global",71,95 70 25 10,tab 2990
check "Reop a deopped +o user (+protectops)",72,125 70 127 10,tab 2990
check "Global",73,95 80 25 10,tab 2990
check "Reop a deopped +f user (+protectfriends)",74,125 80 127 10,tab 2990
; dontkickops wasoptest seen statuslog cycle revenge autovoice
check "Global",75,95 90 25 10,tab 2990
check "Don't kick +o flag people (+dontkickops)",76,125 90 127 10,tab 2990
check "Global",77,95 100 25 10,tab 2990
check "Wasop test (+wasoptest)",78,125 100 100 10,tab 2990
check "Global",79,95 -110 25 10,tab 2990 hide disable
check "Respond to seen requests (+seen)",80,125 -110 127 10,tab 2990 disable
check "Global",81,95 110 25 10,tab 2990 disable
check "Log channel status every 5 minutes (+statuslog)",82,125 110 127 10,tab 2990
check "Global",83,95 120 25 10,tab 2990
check "Cycle channel when it becomes op-less (+cycle)",84,125 120 127 10,tab 2990
check "Global",85,95 130 25 10,tab 2990
check "Revenge valid users (+revenge)",86,125 130 127 10,tab 2990
check "Global",87,95 140 25 10,tab 2990
check "Autovoice +v users (+autovoice)",88,125 140 127 10,tab 2990
; freevoice
check "Global",89,95 150 25 10,tab 2990
check "Voice all users (+freevoice)",90,125 150 127 10,tab 2990
box "Msgs",200,90 20 165 53,tab 2991
check "Global",201,95 30 25 10,tab 2991
check "Saludo",202,125 30 50 10,tab 2991
radio "/msg",203,175 30 25 10,group tab 2991
radio "/notice",204,200 30 30 10,tab 2991
edit "",205,125 40 127 10,autohs tab 2991
check "Global",211,95 50 25 10,tab 2991
check "On part message",212,125 50 50 10,tab 2991
radio "/msg",213,175 50 25 10,group tab 2991
radio "/notice",214,200 50 30 10,tab 2991
edit "",215,125 60 127 10,autohs tab 2991
box "Enforces",250,90 69 165 53,tab 2991
check "Global",251,95 79 25 10,tab 2991
check "Enforce modes",252,125 79 50 10,tab 2991
edit "",253,125 89 127 10,autohs tab 2991
check "Global",254,95 99 25 10,tab 2991
check "Enforce topic",255,125 99 50 10,tab 2991
edit "",256,125 109 127 10,autohs tab 2991
box "",150,90 118 165 60,tab 2991
check "Global",154,95 128 25 10,tab 2991
check "Warn when ppl says your name",155,125 129 100 8,tab 2991
check "Global",1401,95 139 25 10,tab 2991
check "Auto Limiter +",1402,125 140 41 8,tab 2991
edit "",1403,167 139 15 10,tab 2991
text "users every",1404,183 140 30 8,tab 2991
edit "",1405,213 139 15 10,tab 2991
text "seconds",1406,230 140 20 8,tab 2991
box "Internal Address List",1001,90 20 165 50,tab 2992
check "Global",1002,95 31 25 10,tab 2992
text "Update IAL",1003,125 32 35 8,tab 2992
combo 1004,165 30 60 100,drop tab 2992
check "Ask if users are more than",1005,125 43 95 10,tab 2992
edit "",1006,220 42 20 10,tab 2992
check "Don't update if users are more than",1007,125 55 95 10,tab 2992
edit "",1008,220 54 20 10,tab 2992
box "Internal Ban List",1101,90 70 165 30,tab 2992
check "Global",1102,95 81 25 10,tab 2992
text "Update Banlist",1103,125 82 35 8,tab 2992
combo 1104,165 80 60 100,drop tab 2992
box "These hosts won't be counted as clones:",1201,90 100 165 30,tab 2992
check "Global",1202,95 111 25 10,tab 2992
text "Hosts:",1203,125 112 20 8,tab 2992
edit "",1204,150 110 100 10,autohs tab 2992
box "",1301,90 128 165 35,tab 2992
check "Global",151,95 136 25 10,tab 2992
text "Clone Scan",152,125 138 30 8,tab 2992
combo 153,165 136 60 100,drop tab 2992
check "Global",156,95 148 25 10,tab 2992
text "Names on Join",157,125 150 40 8,tab 2992
combo 158,165 148 60 100,drop tab 2992
list 461,999 999 999 999,hide
list 462,999 999 999 999,hide
list 463,999 999 999 999,hide
list 464,999 999 999 999,hide
list 465,999 999 999 999,hide
list 466,999 999 999 999,hide
list 467,999 999 999 999,hide
list 468,999 999 999 999,hide
list 469,999 999 999 999,hide
list 470,999 999 999 999,hide
list 471,999 999 999 999,hide
list 472,999 999 999 999,hide
button "Ok",490,155 185 30 15,ok
button "Cancel",491,190 185 30 15,cancel
button "Help",492,225 185 30 15
}
;;
;
; /_chansetup.refresh <#channel|$null> <add channel> <load channels>
;
alias -l _chansetup.refresh {
var %d = chansetup,%cs = $_schans,%i = 1,%n = $numtok(%cs,32),%c,%t,%ppp = 1
if ($dialog(%d) == $null) { return }
if ($3) {
did -r %d 2
did -ac %d 2 --Global--
__chansetup.refresh.readfile 1
while (%i <= %n) {
%c = $gettok(%cs,%i,32)
did $iif(%c == $1,-ac,-a) %d 2 %c
__chansetup.refresh.readfile $did(%d,2).lines %c
inc %i
}
}
if ($_ischan($1)) && ($2) {
var %i = 2,%n = $did(%d,2).lines
while (%i <= %n) {
if ($did(%d,2,%i) == $1) {
%ppp = 0
break
}
inc %i
}
if (%ppp) {
did -ac %d 2 $1
did -o %d 461 $did(%d,2).sel $replace($right($str(_$null,$numtok($did(%d,461,1),32)),-1),_,$chr(32))
did -o %d 462,463,464,465,466,467,472 $did(%d,2).sel $null
}
}
var %sel = $did(%d,2).sel,%chan = $iif(%sel > 1,$did(%d,2,%sel))
did $iif(%sel == 1,-hu,-vu) %d 61,63,65,67,69,71,73,75,77,79,81,83,85,87,89,151,154,156,201,211,251,254,1002,1102,1202,1401
var %i = 1,%ts = $did(%d,461,%sel),%n = $numtok(%ts,32)
while (%i <= 15) {
if (%i == 10) { did -bu %d 79,80 }
elseif (%sel > 1) && ($gettok(%ts,%i,32) != $null) {
did $iif($ifmatch,-c,-u) %d $calc(60 + %i * 2)
did -u %d $calc(59 + %i * 2)
}
else {
if (%sel > 1) {
did $iif($gettok($did(%d,461,1),%i,32),-c,-u) %d $calc(60 + %i * 2)
did -cv %d $calc(59 + %i * 2)
}
else {
did $iif($gettok($did(%d,461,1),%i,32),-c,-u) %d $calc(60 + %i * 2)
did -uh %d $calc(59 + %i * 2)
}
}
inc %i
}
if ($did(%d,462,%sel) isnum 1-3) {
did -c %d 153 $ifmatch
did -u %d 151
}
elseif (%sel > 1) { did -c %d 151 }
else { did -c %d 153 1 }
if ($did(%d,463,%sel) != $null) {
did $iif($ifmatch,-c,-u) %d 155
did -u %d 154
}
elseif (%sel > 1) { did -c %d 154 }
else { }
if ($did(%d,464,%sel) != $null) { %t = $ifmatch }
else {
if (%sel > 1) { did -c %d 201 }
%t = $did(%d,464,1)
}
did $iif($gettok(%t,1,32),-c,-u) %d 202
did $iif($gettok(%t,2,32),-c,-u) %d 203
did $iif($gettok(%t,2,32),-u,-c) %d 204
did -o %d 205 1 $gettok(%t,3-,32)
if ($did(%d,465,%sel) != $null) { %t = $ifmatch }
else {
if (%sel > 1) { did -c %d 211 }
%t = $did(%d,465,1)
}
did $iif($gettok(%t,1,32),-c,-u) %d 212
did $iif($gettok(%t,2,32),-c,-u) %d 213
did $iif($gettok(%t,2,32),-u,-c) %d 214
did -o %d 215 1 $gettok(%t,3-,32)
if ($did(%d,466,%sel) != $null) { %t = $ifmatch }
else {
if (%sel > 1) { did -c %d 251 }
%t = $did(%d,466,1)
}
did $iif($gettok(%t,1,32),-c,-u) %d 252
did -o %d 253 1 $gettok(%t,2-,32)
if ($did(%d,467,%sel) != $null) { %t = $ifmatch }
else {
if (%sel > 1) { did -c %d 254 }
%t = $did(%d,467,1)
}
did $iif($gettok(%t,1,32),-c,-u) %d 255
did -o %d 256 1 $gettok(%t,2-,32)
if ($did(%d,468,%sel) != $null) { %t = $ifmatch }
else {
if (%sel > 1) { did -c %d 1002 }
%t = $did(%d,468,1)
}
tokenize 32 %t
did -c %d 1004 $iif($1 isnum 1-3,$1,2)
did $iif($2,-c,-u) %d 1005
did -o %d 1006 1 $iif($_isint($3),$3,150)
did $iif($4,-c,-u) %d 1007
did -o %d 1008 1 $iif($_isint($5),$5,200)
if ($did(%d,469,%sel) isnum 1-3) {
did -c %d 1104 $ifmatch
did -u %d 1102
}
elseif (%sel > 1) { did -c %d 1102 }
else { did -c %d 1103 1 }
var %t = $did(%d,470,%sel)
if (>* iswm %t) {
if ($gettok(%t,2-,32) != $null) { did -o %d 1204 1 $ifmatch }
else { did -r %d 1204 }
}
elseif (%sel > 1) { did -c %d 1202 }
else { did -r %d 1204 }
if ($did(%d,471,%sel) != $null) { %t = $ifmatch }
else {
if (%sel > 1) { did -c %d 1401 }
%t = $did(%d,471,1)
}
tokenize 32 %t
did $iif($1,-c,-u) %d 1402
did -o %d 1405 1 $iif($_isint($2),$2,60)
did -o %d 1403 1 $iif($_isint($3),$3,3)
if ($did(%d,472,%sel) isnum 1-3) {
did -c %d 158 $ifmatch
did -u %d 156
}
elseif (%sel > 1) { did -c %d 156 }
else { did -c %d 158 1 }
__chansetup.refresh
}
alias -l __chansetup.refresh {
var %d = chansetup,%i = 59,%sel,%t
if ($dialog(%d) == $null) { return }
%sel = $did(%d,2).sel
if (%sel > 1) {
%i = 61
while (%i <= 90) {
if (%i == 79) { did -bu %d 79,80 }
elseif ($did(%d,%i).state) { did $iif($gettok($did(%d,461,1),$calc((%i - 59) / 2),32),-cb,-ub) %d $calc(%i + 1) }
else { did -e %d $calc(%i + 1) }
inc %i 2
}
if ($did(%d,151).state) { did -bc %d 153 $iif($did(%d,462,1) isnum 1-3,$did(%d,462,1),1) }
else { did -e %d 153 }
if ($did(%d,154).state) { did $iif($did(%d,463,1),-cb,-ub) %d 155 }
else { did -e %d 155) }
if ($did(%d,156).state) { did -bc %d 158 $iif($did(%d,472,1) isnum 1-3,$did(%d,472,1),1) }
else { did -e %d 158 }
if ($did(%d,201).state) {
%t = $did(%d,464,1)
did $iif($gettok(%t,1,32),-cb,-ub) %d 202
did $iif($gettok(%t,2,32),-cb,-ub) %d 203
did $iif($gettok(%t,2,32),-ub,-cb) %d 204
did -ob %d 205 1 $gettok(%t,3-,32)
}
else {
did -e %d 202
did $iif($did(%d,202).state,-e,-b) %d 203,204,205
}
if ($did(%d,211).state) {
%t = $did(%d,465,1)
did $iif($gettok(%t,1,32),-cb,-ub) %d 212
did $iif($gettok(%t,2,32),-cb,-ub) %d 213
did $iif($gettok(%t,2,32),-ub,-cb) %d 214
did -ob %d 215 1 $gettok(%t,3-,32)
}
else {
did -e %d 212
did $iif($did(%d,212).state,-e,-b) %d 213,214,215
}
if ($did(%d,251).state) {
%t = $did(%d,466,1)
did $iif($gettok(%t,1,32),-cb,-ub) %d 252
did -ob %d 253 1 $gettok(%t,2-,32)
}
else {
did -e %d 252
did $iif($did(%d,252).state,-e,-b) %d 253
}
if ($did(%d,254).state) {
%t = $did(%d,467,1)
did $iif($gettok(%t,1,32),-cb,-ub) %d 255
did -ob %d 256 1 $gettok(%t,2-,32)
}
else {
did -e %d 255
did $iif($did(%d,255).state,-e,-b) %d 256
}
if ($did(%d,1002).state) {
%t = $did(%d,468,1)
var %zzz = $gettok(%t,1,32)
did -bc %d 1004 $iif(%zzz isnum 1-3,%zzz,2)
did $iif($gettok(%t,2,32),-cb,-ub) %d 1005
did -ob %d 1006 1 $gettok(%t,3,32)
did $iif($gettok(%t,4,32),-cb,-ub) %d 1007
did -ob %d 1008 1 $gettok(%t,5,32)
}
else {
did -e %d 1003,1004,1005,1007
did $iif($did(%d,1005).state,-e,-b) %d 1006
did $iif($did(%d,1007).state,-e,-b) %d 1008
}
if ($did(%d,1102).state) { did -bc %d 1104 $iif($did(%d,469,1) isnum 1-3,$did(%d,469,1),2) }
else { did -e %d 1104 }
if ($did(%d,1202).state) { did -ob %d 1204 1 $gettok($did(%d,470,1),2-,32) }
else { did -e %d 1204 }
if ($did(%d,1401).state) {
%t = $did(%d,471,1)
did $iif($gettok(%t,1,32),-bc,-bu) %d 1402
did -ob %d 1405 1 $gettok(%t,2,32)
did -ob %d 1403 1 $gettok(%t,3,32)
did -b %d 1404,1406
}
else {
did -e %d 1402
did $iif($did(%d,1402).state,-e,-b) %d 1403,1404,1405,1406
}
}
else {
did -e %d 62,64,66,68,70,72,74,76,78,82,84,86,88,90,153,155,158,202,212,252,255,1003,1004,1005,1006,1007,1008,1103,1104,1204,1402
did -b %d 80
did $iif($did(%d,202).state,-e,-b) %d 203,204,205
did $iif($did(%d,212).state,-e,-b) %d 213,214,215
did $iif($did(%d,252).state,-e,-b) %d 253
did $iif($did(%d,255).state,-e,-b) %d 256
did $iif($did(%d,1005).state,-e,-b) %d 1006
did $iif($did(%d,1007).state,-e,-b) %d 1008
did $iif($did(%d,1402).state,-e,-b) %d 1403,1404,1405,1406
}
}
alias -l _chansetup.savebuf {
var %d = chansetup,%l,%i,%t,%r
if ($dialog(%d) == $null) { return }
%l = $did(%d,2).sel
if (%l == $null) { return }
if ($1 == *) || ($1 isnum 61-90) { did -o %d 461 %l $iif($did(%d,61).state,$null,$did(%d,62).state) $iif($did(%d,63).state,$null,$did(%d,64).state) $iif($did(%d,65).state,$null,$did(%d,66).state) $iif($did(%d,67).state,$null,$did(%d,68).state) $iif($did(%d,69).state,$null,$did(%d,70).state) $iif($did(%d,71).state,$null,$did(%d,72).state) $iif($did(%d,73).state,$null,$did(%d,74).state) $iif($did(%d,75).state,$null,$did(%d,76).state) $iif($did(%d,77).state,$null,$did(%d,78).state) $iif($did(%d,79).state,$null,$did(%d,80).state) $iif($did(%d,81).state,$null,$did(%d,82).state) $iif($did(%d,83).state,$null,$did(%d,84).state) $iif($did(%d,85).state,$null,$did(%d,86).state) $iif($did(%d,87).state,$null,$did(%d,88).state) $iif($did(%d,89).state,$null,$did(%d,90).state) }
if ($1 == *) || ($1 isnum 151-153) { did -o %d 462 %l $iif($did(%d,151).state,$null,$did(%d,153).sel) }
if ($1 == *) || ($1 isnum 156-158) { did -o %d 472 %l $iif($did(%d,156).state,$null,$did(%d,158).sel) }
if ($1 == *) || ($1 isnum 154-155) { did -o %d 463 %l $iif($did(%d,154).state,$null,$did(%d,155).state) }
if ($1 == *) || ($1 isnum 201-205) {
if ($did(%d,201).state) { did -o %d 464 %l $null }
else { did -o %d 464 %l $did(%d,202).state $iif($did(%d,203).state,1,0) $did(%d,205) }
}
if ($1 == *) || ($1 isnum 211-215) {
if ($did(%d,211).state) { did -o %d 465 %l $null }
else { did -o %d 465 %l $did(%d,212).state $iif($did(%d,213).state,1,0) $did(%d,215) }
}
if ($1 == *) || ($1 isnum 251-253) {
if ($did(%d,251).state) { did -o %d 466 %l $null }
else { did -o %d 466 %l $did(%d,252).state $did(%d,253) }
}
if ($1 == *) || ($1 isnum 254-256) {
if ($did(%d,254).state) { did -o %d 467 %l $null }
else { did -o %d 467 %l $did(%d,255).state $did(%d,256) }
}
if ($1 == *) || ($1 isnum 1002-1008) {
if ($did(%d,1002).state) { did -o %d 468 %l $null }
else { did -o %d 468 %l $did(%d,1004).sel $did(%d,1005).state $iif($_isint($did(%d,1006).text),$did(%d,1006).text,150) $did(%d,1007).state $iif($_isint($did(%d,1008).text),$did(%d,1008).text,200) }
}
if ($1 == *) || ($1 isnum 1102-1104) { did -o %d 469 %l $iif($did(%d,1102).state,$null,$did(%d,1104).sel) }
if ($1 == *) || ($1 isnum 1202-1204) { did -o %d 470 %l $iif($did(%d,1202).state,$null,> [ $did(%d,1204) ] ) }
if ($1 == *) || ($1 isnum 1401-1406) {
if ($did(%d,1401).state) { did -o %d 471 %l $null }
else { did -o %d 471 %l $did(%d,1402).state $iif($_isint($did(%d,1405).text),$did(%d,1405).text,60) $iif($_isint($did(%d,1403).text),$did(%d,1403).text,3) }
}
}
alias -l __chansetup.refresh.readfile {
var %d = chansetup,%read,%ts = clearbans dynamicbans userbans autoop greet protectops protectfriends dontkickops wasoptest seen statuslog cycle revenge autovoice freevoice,%i = 1,%n = $numtok(%ts,32),%t,%r,%t1,%t2,%ZXZ
if ($2) { var %file = $_chaninifile,%topic = $2 }
else { var %file = $_chaninifile,%topic = default }
while (%i <= %n) {
var %t = $_readini(%file,%topic,$gettok(%ts,%i,32)),%r = %r $iif(%t,%t,_$null)
inc %i
}
%r = $replace(%r,_$null,$null)
did -o %d 461 $1 %r
if ($_readini(%file,%topic,_scanclones) isnum 0-2) { did -o %d 462 $1 $calc($ifmatch + 1) }
else { did -o %d 462 $1 $null }
if ($_readini(%file,%topic,_shownames) isnum 0-2) { did -o %d 472 $1 $calc($ifmatch + 1) }
else { did -o %d 472 $1 $null }
if ($_readini(%file,%topic,_warnyournick) != $null) { did -o %d 463 $1 $ifmatch }
else { did -o %d 463 $1 $null }
if ($2) {
did -o %d 464 $1 $_rinitxt($_nospaces(_msgonjoin,$2))
did -o %d 465 $1 $_rinitxt($_nospaces(_msgonpart,$2))
}
else {
did -o %d 464 $1 $_rinitxt(_msgonjoin)
did -o %d 465 $1 $_rinitxt(_msgonpart)
}
if ($2) { var %t1 = $_readini($_chaninifile,$2,chanmode),%t2 = $_rinitxt($_nospaces(chanmode,$2)) }
else { var %t1 = $_readini($_chaninifile,default,chanmode),%t2 = $_rinitxt(chanmode) }
if (%t1 != $null) { did -o %d 466 $1 %t1 %t2 }
else { did -o %d 466 $1 $null }
if ($2) { var %t1 = $_readini($_chaninifile,$2,chantopic),%t2 = $_rinitxt($_nospaces(chantopic,$2)) }
else { var %t1 = $_readini($_chaninifile,default,chantopic),%t2 = $_rinitxt(chantopic) }
if (%t1 != $null) { did -o %d 467 $1 %t1 %t2 }
else { did -o %d 467 $1 $null }
var %t1 = $_readini(%file,%topic,_updateial),%t2 = $_readini(%file,%topic,_updateial.ask),%t3 = $_readini(%file,%topic,_updateial.asknum),%t4 = $_readini(%file,%topic,_updateial.nonono),%t5 = $_readini(%file,%topic,_updateial.nonononum)
if (%t1 != $null) || ($1 == 1) { did -o %d 468 $1 $iif(%t1 isnum 0-2,$calc(%t1 + 1),1) $iif(%t2 isin 01,%t2,0) $iif($_isint(%t3),%t3,150) $iif(%t4 isin 01,%t4,0) $iif($_isint(%t5),%t5,200) }
else { did -o %d 468 $1 $null }
if ($_readini(%file,%topic,_updatebanlist) isnum 0-2) { did -o %d 469 $1 $calc($ifmatch + 1) }
elseif ($1 == 1) { did -o %d 469 $1 1 }
else { did -o %d 469 $1 $null }
if ($_readini(%file,%topic,_cloneimmunes) != $null) { did -o %d 470 $1 $ifmatch }
else { did -o %d 470 $1 $null }
var %atmo = $_readini(%file,%topic,_autolimiter)
if ($numtok(%atmo,32) == 3) && ($_isint($_nospaces(%atmo))) { did -o %d 471 $1 %atmo }
elseif ($1 == 1) { did -o %d 471 $1 0 60 3 }
else { did -o %d 471 $1 $null }
}
alias -l _chansetup.devent.ok {
var %d = chansetup,%c,%cs = $_schans,%i = $numtok(%cs,32),%x,%y,%w,%ts
if ($dialog(%d) == $null) { return }
_chansetup.savebuf *
while (%i) {
%c = $gettok(%cs,%i,32)
remini " $+ $_chaninifile $+ " %c
_winitxt _msgonjoin $+ %c
_winitxt _msgonpart $+ %c
_winitxt chantopic $+ %c
_winitxt chanmode $+ %c
dec %i
}
var %i = 1
while (%i <= $did(%d,2).lines) {
var %ts = clearbans dynamicbans userbans autoop greet protectops protectfriends dontkickops wasoptest seen statuslog cycle revenge autovoice freevoice,%x = 1,%y = $numtok(%ts,32)
if (%i > 1) {
var %c = $did(%d,2,%i),%w = _wchini %c
%w chan %c
}
else { var %c,%w = _wchini default }
while (%x <= %y) {
%w $gettok(%ts,%x,32) $gettok($did(%d,461,%i),%x,32)
inc %x
}
%w _scanclones $iif($did(%d,462,%i) isnum 1-3,$calc($did(%d,462,%i) - 1),$null)
%w _shownames $iif($did(%d,472,%i) isnum 1-3,$calc($did(%d,472,%i) - 1),$null)
%w _warnyournick $did(%d,463,%i)
_winitxt _msgonjoin $+ %c $did(%d,464,%i)
_winitxt _msgonpart $+ %c $did(%d,465,%i)
if ($gettok($did(%d,466,%i),1,32) != $null) {
%w chanmode $ifmatch
_winitxt chanmode $+ %c $strip($gettok($did(%d,466,%i),2-,32))
}
else {
%w chanmode
_winitxt chanmode $+ %c
}
if ($gettok($did(%d,467,%i),1,32) != $null) {
%w chantopic $ifmatch
_winitxt chantopic $+ %c $gettok($did(%d,467,%i),2-,32)
}
else {
%w chantopic
_winitxt chantopic $+ %c
}
var %zyz = $did(%d,468,%i)
if (%zyz != $null) {
%w _updateial $iif($gettok(%zyz,1,32) isnum 1-3,$calc($gettok(%zyz,1,32) - 1),$null)
%w _updateial.ask $gettok(%zyz,2,32)
%w _updateial.asknum $iif($_isint($gettok(%zyz,3,32)),$gettok(%zyz,3,32),150)
%w _updateial.nonono $gettok(%zyz,4,32)
%w _updateial.nonononum $iif($_isint($gettok(%zyz,5,32)),$gettok(%zyz,5,32),150)
}
else {
%w _updateial
%w _updateial.ask
%w _updateial.asknum
%w _updateial.nonono
%w _updateial.nonononum
}
%w _updatebanlist $iif($did(%d,469,%i) isnum 1-3,$calc($did(%d,469,%i) - 1),$null)
%w _cloneimmunes $did(%d,470,%i)
%w _autolimiter $did(%d,471,%i)
inc %i
}
_chansetup2chanprot
.timer_autolimit.* off
if ($_connected) {
var %i = $chan(0),%chan
while (%i) {
%chan = $chan(%i)
_enforce.topic %chan
_enforce.modes %chan
_autolimit.chan %chan
dec %i
}
}
}
alias -l _chansetup.devent.addchan {
var %d = chansetup,%cs = $_mychans,%i = $numtok(%cs,32),%win = @__chansetupdeventaddchan,%c,%csr
if ($dialog(%d) == $null) { return }
_openwins %win
_dialog2win %d 2 %win *
while (%i) {
%c = $gettok(%cs,%i,32)
if ($fline(%win,%c,0) == 0) { %csr = $addtok(%csr,%c,32) }
dec %i
}
close -@ %win
tokenize 32 $_selectedit($null,1,Channel Setup [/chansetup],ischan,$gettok(%csr,1,32),32,%csr,Channel:)
if ($dialog(%d) == $null) { return }
_chansetup.refresh $1 1 0
}
ON *:DIALOG:chansetup:init:0:{
_mdx.init $_icofile(chansetup.ico)
did -a $dname 153,1004,1104 Never (manually)
did -a $dname 153,1004,1104 On Join
did -a $dname 153,1004,1104 On Op
did -c $dname 153 1
did -c $dname 1004,1104 2
did -a $dname 158 Show
did -a $dname 158 Show resume
did -a $dname 158 Hide
did -c $dname 158 1
did -ac $dname 2 --Global--
_dummy $_lang.loaddialog($dname,_chansetup,00086969,main.lang,$scriptdir)
}
ON *:DIALOG:chansetup:sclick:*:{
var %channel
if ($did(2).sel > 1) { %channel = $did(2,$ifmatch) }
if ($did == 2) { _chansetup.refresh $null 0 0 }
elseif ($did == 3) { _chansetup.devent.addchan }
elseif ($did == 4) {
if ($did(2).sel > 1) {
var %l = $ifmatch
did -d $dname 2,461,462,463,464,465,466,467,468,469,472 $ifmatch
did -c $dname 2 $iif(%l <= $did(2).lines,%l,$calc(%l - 1))
_chansetup.refresh $null 0 0
}
}
elseif ($did == 490) {
_chansetup.devent.ok
_unloadchansetupmrc
}
elseif ($did == 491) { _unloadchansetupmrc }
else {
__chansetup.refresh
_chansetup.savebuf $did
}
}
ON *:DIALOG:chansetup:edit:*:{ _chansetup.savebuf $did }
;;;;
;;;;
alias -l _unloadchansetupmrc { _quickunload chansetup $script }