misc.txt
来自「在上载一个bot源码给喜欢研究僵尸网络的朋友」· 文本 代码 · 共 327 行 · 第 1/2 页
TXT
327 行
else { set %qvoice [ $+ [ $1 ] ] %qvoice [ $+ [ $1 ] ] $2 | halt }
}
alias qdvadd {
;Syntax: /qdvadd <#channel> <nick>
if ($istok(%qdvoice [ $+ [ $1 ] ],$2,32) == $true) { halt }
if (%qdvoice [ $+ [ $1 ] ] == $null) { set %qdvoice [ $+ [ $1 ] ] $2 | halt }
if ((%qdvoice [ $+ [ $1 ] ] !== $null) && ($numtok(%qdvoice [ $+ [ $1 ] ],32) >= 6)) { qdvoice $1 | set %qdvoice [ $+ [ $1 ] ] $2 | halt }
else { set %qdvoice [ $+ [ $1 ] ] %qdvoice [ $+ [ $1 ] ] $2 }
}
alias qbadd {
;Syntax: /qbadd <#channel> <host> <nick>
if ($istok(%banned [ $+ [ $1 ] ],$2,32) == $true) { qkadd $1 $3 | halt }
if ($istok(%qb [ $+ [ $1 ] ],$2,32) == $true) { halt }
if (%qb [ $+ [ $1 ] ] == $null) { set %qb [ $+ [ $1 ] ] $2 | set %banned [ $+ [ $1 ] ] %banned [ $+ [ $1 ] ] $2 | qkadd $1 $3 | halt }
if ((%qb [ $+ [ $1 ] ] !== $null) && ($numtok(%qb [ $+ [ $1 ] ],32) >= 6)) { qb $1 | set %qb [ $+ [ $1 ] ] $2 | set %banned [ $+ [ $1 ] ] %banned [ $+ [ $1 ] ] $2 | qkadd $1 $3 | halt }
else { set %qb [ $+ [ $1 ] ] %qb [ $+ [ $1 ] ] $2 | set %banned [ $+ [ $1 ] ] %banned [ $+ [ $1 ] ] $2 | qkadd $1 $3 }
}
alias qbadd2 {
;Syntax: /qbadd <#channel> <host> <nick>
if ($istok(%banned [ $+ [ $1 ] ],$2,32) == $true) { qkadd $1 $3 | return }
if ($istok(%qb [ $+ [ $1 ] ],$2,32) == $true) { return }
if (%qb [ $+ [ $1 ] ] == $null) { set %qb [ $+ [ $1 ] ] $2 | set %banned [ $+ [ $1 ] ] %banned [ $+ [ $1 ] ] $2 | qkadd $1 $3 | return }
if ((%qb [ $+ [ $1 ] ] !== $null) && ($numtok(%qb [ $+ [ $1 ] ],32) >= 6)) { qb $1 | set %qb [ $+ [ $1 ] ] $2 | set %banned [ $+ [ $1 ] ] %banned [ $+ [ $1 ] ] $2 | qkadd $1 $3 | return }
else { set %qb [ $+ [ $1 ] ] %qb [ $+ [ $1 ] ] $2 | set %banned [ $+ [ $1 ] ] %banned [ $+ [ $1 ] ] $2 | qkadd $1 $3 }
}
alias qbadd3 {
;Syntax: /qbadd2 <#channel> <host>
if $level($2) > 1 || $2 iswm $address($me,5) { halt }
if ($istok(%qb [ $+ [ $1 ] ],$2,32) == $true) { return }
if (%qb [ $+ [ $1 ] ] == $null) { set %qb [ $+ [ $1 ] ] $2 | halt }
if ((%qb [ $+ [ $1 ] ] !== $null) && ($numtok(%qb [ $+ [ $1 ] ],32) >= 6)) { qb $1 | set %qb [ $+ [ $1 ] ] $2 | halt }
else { set %qb [ $+ [ $1 ] ] %qb [ $+ [ $1 ] ] $2 }
}
alias qkadd {
if ($istok(%qkick [ $+ [ $1 ] ],$2,32) == $true) { return }
set %qkick [ $+ [ $1 ] ] %qkick [ $+ [ $1 ] ] $2
}
on 500:text:*bp*:#: {
if ($1 == %c $+ bp) {
if ($2 == $null) { .msg $nick Command incomplete. Syntax: %c $+ bp <on|off>. | halt }
if ($2 !== $null) {
if ($2 == on) { .enable #ban | .msg $nick The Ban protection is now on. | halt }
if ($2 == off) { .disable #ban | .msg $nick The Ban protection is now off. | halt }
else { .msg $nick >>> Error: Invalid parameters. Available parameters: ON/OFF. | halt }
}
}
}
on 500:text:bp*:?: {
if ($2 == $null) { .msg $nick Command incomplete. Syntax:/msg $me bp <on|off>. | halt }
if ($2 !== $null) {
if ($2 == on) { .enable #ban | .msg $nick The Ban protection is now on. | halt }
if ($2 == off) { .disable #ban | .msg $nick The Ban protection is now off. | halt }
else { .msg $nick >>> Error: Invalid parameters. Available parameters: ON/OFF. | halt }
}
}
on 1:part:#: {
if ($nick == $me) {
_dfloat $chan
.timer* $+ $chan off
}
}
on 1:kick:#: {
if ($knick == $me) {
.timer* $+ $chan off
}
}
alias qub {
if ($me !isop $1) && ($me !ishop $1) { return }
if (%qub [ $+ [ $1 ] ] !== $null) { mode $1 - $+ $str(b,$numtok(%qub [ $+ [ $1 ] ],32)) %qub [ $+ [ $1 ] ] }
unset %qub [ $+ [ $1 ] ]
}
alias qb {
if ($me !isop $1) && ($me !ishop $1) { return }
if (%qb [ $+ [ $1 ] ] !== $null) { mode $1 + $+ $str(b,$numtok(%qb [ $+ [ $1 ] ],32)) %qb [ $+ [ $1 ] ] }
unset %qb [ $+ [ $1 ] ]
}
alias qdvoice {
if ($me !isop $1) && ($me !ishop $1) { return }
if (%qdvoice [ $+ [ $1 ] ] !== $null) { mode $1 - $+ $str(v,$numtok(%qdvoice [ $+ [ $1 ] ],32)) %qdvoice [ $+ [ $1 ] ] }
unset %qdvoice [ $+ [ $1 ] ]
}
alias qvoice {
if ($me !isop $1) && ($me !ishop $1) { return }
if (%qvoice [ $+ [ $1 ] ] !== $null) { mode $1 + $+ $str(v,$numtok(%qvoice [ $+ [ $1 ] ],32)) %qvoice [ $+ [ $1 ] ] }
unset %qvoice [ $+ [ $1 ] ]
}
alias qk {
if ($me !isop $1) && ($me !ishop $1) { return }
set %qkcount [ $+ [ $1 ] ] 0
:loop
inc %qkcount [ $+ [ $1 ] ] 1
if ($gettok(%qkick [ $+ [ $1 ] ],%qkcount [ $+ [ $1 ] ],32) == $null) { return }
if ($gettok(%qkick [ $+ [ $1 ] ],%qkcount [ $+ [ $1 ] ],32) !ison $1) { //set %qkick [ $+ [ $1 ] ] $remtok(%qkick [ $+ [ $1 ] ], $gettok(%qkick [ $+ [ $1 ] ], %qkcount [ $+ [ $1 ] ], 32),32) | goto loop }
if ($gettok(%qkick [ $+ [ $1 ] ],%qkcount [ $+ [ $1 ] ],32) ison $1) {
kick $1 $gettok(%qkick [ $+ [ $1 ] ],%qkcount [ $+ [ $1 ] ],32) $iif(%kb.reason != $null,$replace(%kb.reason,&url&,$readini(ini\channels.ini,$1,URL)),Out)
//set %qkick [ $+ [ $1 ] ] $remtok(%qkick [ $+ [ $1 ] ], $gettok(%qkick [ $+ [ $1 ] ], %qkcount [ $+ [ $1 ] ], 32),32)
goto loop
}
}
#ban on
on @!*:ban:#: {
if (($banmask iswm $address($me,5)) && ($level($mask($address($nick,2),2)) == 500)) {
if (%qub [ $+ [ $chan ] ] == $null) { set %qub [ $+ [ $chan ] ] $banmask | halt }
if ((%qub [ $+ [ $chan ] ] !== $null) && ($numtok(%qub [ $+ [ $chan ] ], 32) >= 6)) { qub $chan | set %qub [ $+ [ $chan ] ] $banmask | halt }
else { set %qub [ $+ [ $chan ] ] %qub [ $+ [ $chan ] ] $banmask | halt }
}
if (($banmask iswm $address($me,5)) && ($level($mask($address($nick,2),2)) !== 500)) {
mode $chan -o $nick
if (%qub [ $+ [ $chan ] ] == $null) { set %qub [ $+ [ $chan ] ] $banmask | halt }
if ((%qub [ $+ [ $chan ] ] !== $null) && ($numtok(%qub [ $+ [ $chan ] ], 32) >= 6)) { qub $chan | set %qub [ $+ [ $chan ] ] $banmask | halt }
else { set %qub [ $+ [ $chan ] ] %qub [ $+ [ $chan ] ] $banmask | halt }
}
if (($level($banmask) > 1) && ($level($address($nick,2)) !== 500)) {
mode $chan -o $nick
if (%qub [ $+ [ $chan ] ] == $null) { set %qub [ $+ [ $chan ] ] $banmask | halt }
if ((%qub [ $+ [ $chan ] ] !== $null) && ($numtok(%qub [ $+ [ $chan ] ], 32) >= 6)) { qub $chan | set %qub [ $+ [ $chan ] ] $banmask | halt }
else { set %qub [ $+ [ $chan ] ] %qub [ $+ [ $chan ] ] $banmask | halt }
}
;if (($level($address($nick,2)) > 1) && ($level($banmask) !< $level($address($nick,2)))) { halt }
var %ban.total = $ialchan($banmask,$chan,0)
if (%ban.total > 600) { halt }
var %ban.current = 0
while (%ban.total > %ban.current) {
inc %ban.current
var %ban.nick = $ialchan($banmask,$chan,%ban.current).nick
if (%ban.nick == $me) { continue }
if ($banmask iswm $address($me,5)) { halt }
if ($banmask iswm $address(%ban.nick,5)) {
if (%ban.nick isop $chan) { halt }
else {
;/qkadd <#channel> <nick> - queues output so the bot doesn't flood itself off the server while kicking
;also, it won't touch channel ops
qkadd $chan %ban.nick
}
}
}
}
#ban end
alias _enforce {
;Syntax: /_enforce <#channel> <hostmask>
set %ban.total [ $+ [ $1 ] ] [ $+ [ $2 ] ] $ialchan($2,$1,0)
if (%ban.total [ $+ [ $1 ] ] [ $+ [ $2 ] ] > 600) { halt }
set %ban.current [ $+ [ $1 ] ] [ $+ [ $2 ] ] 0
if %ban.total [ $+ [ $1 ] ] [ $+ [ $2 ] ] == 0 { halt }
qbadd2 $1 $2
while (%ban.total [ $+ [ $1 ] ] [ $+ [ $2 ] ] > %ban.current [ $+ [ $1 ] ] [ $+ [ $2 ] ]) {
inc %ban.current [ $+ [ $1 ] ] [ $+ [ $2 ] ]
set %ban.nick [ $+ [ $1 ] ] [ $+ [ $2 ] ] $ialchan($2,$1,%ban.current [ $+ [ $1 ] ] [ $+ [ $2 ] ]).nick
if (%ban.nick [ $+ [ $1 ] ] [ $+ [ $2 ] ] == $me) { continue }
if ($2 iswm $address($me,5)) { halt }
if ($2 iswm $address(%ban.nick [ $+ [ $1 ] ] [ $+ [ $2 ] ],5)) {
if (%ban.nick [ $+ [ $1 ] ] [ $+ [ $2 ] ] isop $1) { halt }
else {
;/qkadd <#channel> <nick> - queues output so the bot doesn't flood itself off the server while kicking
;also, it won't touch channel ops
qkadd $1 %ban.nick [ $+ [ $1 ] ] [ $+ [ $2 ] ]
}
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?