📄 banlist.txt
字号:
;@@@
;@@@ DreamBot IRC Bot 5.1
;@@@ File description: DreamBot banlist
;@@@ Design & coding: Madar Petru
;@@@ (C) Copyright 2004-2005 by Madar Petru. All rights reserved.
;@@@
alias f8 { _banview }
alias _banview { dialog -ma banlist banlist }
dialog banlist {
title "DreamBot 5.1 Banlist"
size -1 -1 400 300
icon "img/set.ico", 0
text " This is the bot's internal banlist. Bans in this list will not expire untill you remove them. When an user joins a channel and if a ban matches him, the bot will ban kick him. The bot will also kick everyone matching that hostmask.", 1, 5 5 390 80
text "Channels:", 2, 5 60 50 15
text "Bans:", 7, 130 60 50 15
combo 3, 5 75 120 20, edit, drop
button "Add", 4, 5 100 50 25
button "Del", 5, 75 100 50 25
edit "", 6, 130 75 260 20
list 8, 130 100 260 190, sort, vsbar, hsbar
button "Add ban", 9, 5 150 100 25
button "Delete ban", 10, 5 180 100 25
button "Close", 11, 5 250 100 25
}
alias _loadbans {
if $1 == $null { halt }
;echo passed null
if $left($1,1) != $chr(35) { halt }
;echo passed digit
if $exists(ini\bans\ $+ $1 $+ .ban) == $false { halt }
;echo passed exist
;if $lines(ini\bans\ $+ $1 $+ .ban) <= 0) { halt }
;echo passed eof
did -r banlist 8,6
set %bl.count 0
:beginbanload
inc %bl.count
if $read(ini\bans\ $+ $1 $+ .ban,%bl.count) == $null { did -a banlist 6 %last.ban | goto next2 }
did -a banlist 8 $read(ini\bans\ $+ $1 $+ .ban,%bl.count)
set %last.ban $read(ini\bans\ $+ $1 $+ .ban,%bl.count)
goto beginbanload
:next2
did -z banlist 8
if $did(banlist,8).lines == 0 { did -r banlist 6 }
}
alias _binit {
did -r banlist 3,6,8
set %i 0
:beginloadchan
inc %i
if $read(ini\bans\bchan.txt,%i) == $null { did -o banlist 3 0 %x | goto next }
did -a banlist 3 $read(ini\bans\bchan.txt,%i)
set %x $read(ini\bans\bchan.txt,%i)
goto beginloadchan
:next
_loadbans %x
}
on *:dialog:banlist:init:0: {
_binit
}
on *:dialog:banlist:sclick:8: {
if $did(banlist,8).seltext == $null { halt }
did -ra banlist 6 $did(banlist,8).seltext
}
on *:dialog:banlist:edit:3: {
if $did(banlist,3).text == $null { halt }
set %x $did(banlist,3).text
did -r banlist 8,6
did -z banlist 8
_loadbans %x
}
on *:dialog:banlist:sclick:3: {
if $did(banlist,3).text == $null { halt }
set %x $did(banlist,3).text
_loadbans %x
}
alias _bchan {
if $exists(ini\bans\bchan.txt) == $false { return $false }
set %b 0
:begincheck
inc %b
if $read(ini\bans\bchan.txt,%b) == $null { return $false | halt }
if $read(ini\bans\bchan.txt,%b) == $1 { return $true | halt }
goto begincheck
}
alias _ban {
if $exists(ini\bans\bchan.txt) == $false { return $false }
set %ban.file ini\bans\ $+ $1 $+ .ban
if $exists(%ban.file) == $false { return $false }
set %b 0
:begincheck
inc %b
if $read(%ban.file,%b) == $null { return $false | halt }
if $read(%ban.file,%b) == $2 { return $true | halt }
goto begincheck
}
on *:dialog:banlist:sclick:4: {
if $did(banlist,3).text == $null { _error No channel name specified. | halt }
set %z $did(banlist,3).text
if $_bchan(%z) == $true { _error Banlist for %z already exists. | halt }
did -a banlist 3
write ini\bans\bchan.txt %z
_binit
}
on *:dialog:banlist:sclick:5: {
if $did(banlist,3).text == $null { _error No channel name specified. | halt }
set %z $did(banlist,3).text
if $_bchan(%z) == $false { _error Banlist for %z does not exists. | halt }
write -ds $+ %z ini\bans\bchan.txt
if $exists(ini\bans\ $+ %z $+ .ban) == $true { .remove ini\bans\ $+ %z $+ .ban }
_binit
}
on *:dialog:banlist:sclick:9: {
if $did(banlist,3).text == $null { _error No channel name specified. | halt }
set %z $did(banlist,3).text
if $_bchan(%z) == $false { _error Banlist for %z does not exists. | halt }
if $did(banlist,6).text == $null { _error Please enter a valid ban mask. | halt }
set %ban $did(banlist,6).text
if $regex(%ban,.\!*\@.) == 0 { _error Please enter a valid ban mask. Example: nickname!ident@host.com. | halt }
if $_ban(%z,%ban) == $true { _error Ban %ban already exists in %z $+ 's banlist. | halt }
set %ban.file ini\bans\ $+ %z $+ .ban
write %ban.file %ban
_loadbans %z
}
on *:dialog:banlist:sclick:10: {
if $did(banlist,3).text == $null { _error No channel name specified. | halt }
set %z $did(banlist,3).text
if $_bchan(%z) == $false { _error Banlist for %z does not exists. | halt }
if $did(banlist,6).text == $null { _error Please enter a valid ban mask. | halt }
set %ban $did(banlist,6).text
if $regex(%ban,.\!*\@.) == 0 { _error Please enter a valid ban mask. Example: nickname!ident@host.com. | halt }
if $_ban(%z,%ban) == $false { _error Ban %ban does not exists in %z $+ 's banlist. | halt }
set %ban.file ini\bans\ $+ %z $+ .ban
write -ds $+ %ban %ban.file
_loadbans %z
}
on *:dialog:banlist:sclick:11: {
dialog -c banlist
unset %i %x %bl.count %ban %ban.file %z %b
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -