This is help/service bot v1.
Instructions
: Copy/paste in remote (ALT+R).
: Load it, and you will be asked to set you que channel and cmds.
on *:load: {
echo -g 3,1 Welcome and Thanks for Using My script : Service Bot v1.0
echo -g Please report any bugs to xelent @ #xelent - Quakenet.
set %que.channel $?=\" Please enter the channel to be operated "
set %cmds cmds topics open close next done mod status
timerclosequerywindow 0 1800 /close -m
}
on *:start: {
echo -g 3,1 Welcome and Thanks for Using My script : Service Bot v1.0
echo -g Please report any bugs to xelent @ #xelent - Quakenet.
timerclosequerywindow 0 1800 /close -m
}
on *:connect: {
/join %que.channel
}
on *:join:%que.channel: {
if ($read(queue.txt,w,$nick)) {
queue.inform $nick
halt
}
else {
/timer 1 5 /checkuser $nick $chan
}
}
on *:nick: {
if ($read(queue.txt,w,$nick)) {
write -dl [ $+ [ $readn ] ] queue.txt
write -il [ $+ [ $readn ] ] queue.txt $newnick
}
}
on *:part:%que.channel: {
if ($read(queue.txt,w,$nick)) {
que.del $nick
}
}
on *:quit: {
if ($read(queue.txt,w,$nick)) {
que.del $nick
}
}
on *:text:*:?: {
if ($nick isop %que.channel) {
if ($1 == ??) {
if ($2 == help) {
if (!$3) {
.msg $nick you need to specify a command name! "?? help <commands>" Ex. "?? help topics"
}
elseif ($3) {
if ($3 isin %cmds) {
goto $3
:cmds
.msg $nick ?? cmds - Shows a list over the Bot Controllers
halt
:topics
.msg $nick ?? topics - Shows a list over predefined topics to have in the channel topic.
halt
:open
.msg $nick ?? open - Removes "invite only" on the channel so Users can join to be assisted.
halt
:close
.msg $nick ?? close - Closes the channel, Allowing no users to join the channel.
halt
:next
.msg $nick ?? next - Gives the next user in line voice and allowing him to speak. if he doesnt speak within 2 minuites you will be Noticed.
halt
:done
.msg $nick ?? done <nick> - Removes the user from the queue and devoices him. assuming he is done with getting help.
halt
:mod
.msg $nick ?? mod - Switches the channel Moderation On and Off
halt
:status
.msg $nick ?? status - Shows how many users left in the queue!
halt
}
}
}
}
}
}
on *:text:*:%que.channel: {
if ($nick isop $chan) {
if ($1 == ??) {
if ($2 == commands) {
.msg $nick Preset is "??": cmds, topics, open, close, next, done <nick>, mod, status.
.msg $nick If you need any help. type "?? help <command>" in a private conversation.(PM)
}
if ($2 == open) {
if (*i* iswm $chan(%que.channel).mode) {
.mode $chan -i
.msg $chan Channel is now open for Users to join.
}
else {
.msg $chan Channel is allready open for users to join.
}
}
if ($2 == close) {
if (*i* iswm $chan(%que.channel).mode) {
.msg $chan Channel is allready closed!
}
else {
.mode $chan +i
.msg $chan Channel is now Closed for Users to join.
}
}
if ($2 == topics) {
notice $nick rednblack-mix, rednblack-lines, Blue-shades, RednBlue, GreenNgray, NiceBlue! i.e "?? NiceBlue <topictext>".
}
if ($2 == rednblack-mix) {
if ($3) {
topic $chan 14,7æ7,4æ5,4æ4,5æ1,5æ5,1æ8,1 7¤(~ 0,1 $3- 7,1~)¤ 4,1 5,1æ1,5æ4,5æ5,4æ7,4æ4,7æ
}
}
if ($2 == rednblack-lines) {
if ($3) {
topic $chan 8|0,8|8,7|4,7|7,4|5,4|4,5|1,5|5,1|9,1 $3- 5,1|1,5|4,5|5,4|7,4|4,7|8,7|0,8|8,0| 9,12
}
}
if ($2 == blue-shades) {
if ($3) {
topic $chan 0,15%,11,15`%15,11%,12,11`%11,12%,2,12`%12,2%'1,2`%2,1% 1,2 .: 0,1 $3- 1,2:. 2,1`%1,2%12,2`%2,12%,11,12`%12,11%'15,11`%11,15%,0,15`%
}
}
if ($2 == rednblue) {
if ($3) {
topic $chan 4,15æ0æ4æ0æ4æ0æ4æ0æ4æ0æ4æ0æ4æ0æ4æ0æ4æ0 $3- 4æ0æ4æ0æ4æ0æ4æ0æ4æ0æ4æ0æ4æ0æ4æ0æ4æ0æ4æ0æ4æ0
}
}
if ($2 == Greenngray) {
if ($3) {
topic $chan 9`%0,9%, 3,9`%9,3%, 1,3`%3,1%,9 $3- 3,1`%1,3%, 9,3`%3,9%, 0,9`%9%,
}
}
if ($2 == Niceblue) {
if ($3) {
topic $chan 0,12æ¸2,12`æ12,2æ¸1,2`æ2,1æ¸0,1 -= $3- =- 2,1`æ1,2æ¸12,2`æ2,12æ¸0,12`æ12
}
}
if ($2 == mod) {
if (*m* iswm $chan(%que.channel).mode) {
mode $chan -m
}
else {
mode $chan +m
}
}
if ($2 == status) {
.msg $chan there are $lines(queue.txt) users waiting for assistance
}
if ($2 == done) {
if (!$3) {
.notice $nick Invalid Format. ?? done <nick>
halt
}
if ($3 !isvoice $chan) {
.notice $nick No user with that nick is beeing supported!
halt
}
if ($read(queue.txt,w,$3)) {
write -ds [ $+ [ $3 ] ] queue.txt
if ($3 ison $chan) {
.mode $chan -v $3
timerque. [ $+ [ $3 ] ] off
}
}
}
if ($2 == next) {
var %x 1
:first
if (!$read(queue.txt,%x)) {
.msg $chan No Users in Queue.
}
elseif ($read(queue.txt,%x)) {
if ($read(queue.txt,%x) !ison $chan) {
.msg $chan $read(queue.txt,%x) is not on the channel.
write -dl1 queue.txt
inc %x
goto first
}
if ($read(queue.txt,%x) isvoice $chan) {
inc %x
goto first
}
if ($read(queue.txt,%x) !isvoice $chan) {
.msg $chan $read(queue.txt,%x) Is the next user to be assisted.
.mode $chan +v $read(queue.txt,%x)
.notice $read(queue.txt,%x) Your up next. Ask your Question in $chan within 2 minuites
.timerque. [ $+ [ $read(queue.txt,%x) ] ] 1 120 .notice $nick $read(queue.txt,%x) is taking more than 2 min to reply!
}
}
}
}
}
if ($read(queue.txt,w,$nick)) {
timerque. [ $+ [ $nick ] ] off
}
}
; ALIASES
alias checkuser {
if (($1 ison $2) && ($1 !isop $2)) {
add.queue $1
}
}
alias add.queue {
write queue.txt $1
queue.inform $1
}
alias queue.inform {
echo -g $read(queue.txt,w,$1)
.notice $1 You are Number $readn in the queue. Please wait!
}
alias que.del {
write -ds [ $+ [ $read(queue.txt,w,$1) ] ] queue.txt
}