;#
;# visit http://sp00fed.org for updates or support.
;# script by Sumsar
;#
;# Setup
; time to ignore channel text commands (in seconds)
alias -l ::helpdesk::nospam::channel { return 10 }
; time to ignore nickname's text commands (in seconds)
alias -l ::helpdesk::nospam::nick { return 10 }
; tag shown in text output
alias -l ::helpdesk::tag { return [Helpdesk] }
;# Code
on *:TEXT:*:#:{
set %hostname $gettok($address($nick,5),2,33)
if ($istok($+($chr(43),.,$chr(64)),$left($nick($chan,$nick).pnick,1),46)) {
if ($1 == .login) {
set %::helpdesk::admin::online $addtok(%::helpdesk.online,%hostname,32)
set %::helpdesk::admin::offline $remtok(%::helpdesk.offline,%hostname,32)
.msg $chan $nick is now online
}
if ($1 == .logout) {
set %::helpdesk::admin::offline $addtok(%::helpdesk.offline,%hostname,32)
set %::helpdesk::admin::online $remtok(%::helpdesk.online,%hostname,32)
.msg $chan $nick is now offline
}
if ($1 == .næste) {
if ($numtok(%::helpdesk::help::hostnames,32) > 0) {
set %hostname $gettok(%::helpdesk::help::hostnames,1,32)
set %nickname $ialchan($+(*!*,%hostname),$chan,1).nick
if (!$matchtok(%::helpdesk::next::hostnames,%hostname,0,32)) {
set %::helpdesk::help::hostnames $remtok(%::helpdesk::help::hostnames,%hostname,32)
set %::helpdesk::next::hostnames $addtok(%::helpdesk::next::hostnames,%hostname,32)
.msg $chan $::helpdesk::tag $+(%nickname,$chr(44)) please state your question.
}
}
}
if ($1 == .færdig) && ($2) {
set %hostname $gettok($address($2,5),2,33)
if ($matchtok(%::helpdesk::next::hostnames,%hostname,0,32)) {
set %::helpdesk::next::hostnames $remtok(%::helpdesk::next::hostnames,%hostname,32)
.msg $chan $::helpdesk::tag $2 is done - $numtok(%::helpdesk::help::hostnames,32) in queue.
}
}
if ($1 == .kø) {
.msg $chan $::helpdesk::tag There is $numtok(%::helpdesk::help::hostnames,32) in queue.
}
}
if (!%::helpdesk::variable::nospam:: [ $+ [ $wildsite ] ] && !%::helpdesk::variable::nospam:: [ $+ [ $chan ] ]) {
set $+(-u,$::helpdesk::nospam::nick) %::helpdesk::variable::nospam:: [ $+ [ $wildsite ] ] 1
set $+(-u,$::helpdesk::nospam::channel) %::helpdesk::variable::nospam:: [ $+ [ $chan ] ] 1
if ($1 == .admin) {
if (!$matchtok(%::helpdesk::help::hostnames,%hostname,1,32)) && (!$matchtok(%::helpdesk::next::hostnames,%hostname,1,32)) {
set %::helpdesk::help::hostnames $addtok(%::helpdesk::help::hostnames,%hostname,32)
.msg $chan $::helpdesk::tag adding $nick to queue, there is now $numtok(%::helpdesk::help::hostnames,32) in queue.
}
}
if ($1 == .fortryd) {
set %result $::helpdesk::remove::queue($gettok($address($nick,5),2,33))
}
if ($1 == .online) {
var %online, %offline
var %z = $numtok(%::helpdesk::admin::online,32)
while (%z) {
set %hostname $gettok(%::helpdesk::admin::online,%z,32)
set %nickname $ialchan($+(*!*,%hostname),$chan,1).nick
set %online %online %nickname
dec %z
}
var %c = $numtok(%::helpdesk::admin::offline,32)
while (%c) {
set %hostname $gettok(%::helpdesk::admin::offline,%c,32)
set %nickname $ialchan($+(*!*,%hostname),$chan,1).nick
set %offline %offline %nickname
dec %c
}
if ($numtok(%online,32) == 0) {
.msg $chan $::helpdesk::tag No one is online, please send us an email.
}
else {
.msg $chan $::helpdesk::tag Administrators: Online %online - Offline %offline
}
}
}
}
on *:QUIT: { set %result $::helpdesk::remove::queue($gettok($address($nick,5),2,33)) }
on *:PART:#: { set %result $::helpdesk::remove::queue($gettok($address($nick,5),2,33)) }
on *:KICK:#: { set %result $::helpdesk::remove::queue($gettok($address($knick,5),2,33)) }
alias -l ::helpdesk::remove::queue {
set %hostname $1
if ($matchtok(%::helpdesk::help::hostnames,%hostname,1,32)) {
set %::helpdesk::help::hostnames $remtok(%::helpdesk::help::hostnames,%hostname,32)
}
if ($matchtok(%::helpdesk::next::hostnames,%hostname,1,32)) {
set %::helpdesk::next::hostnames $remtok(%::helpdesk::next::hostnames,%hostname,32)
}
}