Har scriptet i noget tid nu, og nu syntes jeg det var på tide at dele lidt med jer :D
Commands:
Puplic:
/msg <botnavn> request <#channel> - Requester botten til den ønskede channel, og sender det vidre til admin channel.
Admin chan:
!request vis - Viser de reqests der er, med ID og Channel navn.
!request godkend <ID*> - Godkender requestet, Botten joiner channel og skrive channel til auto join hvis botten går ned.
!request afvis <ID*> - Afviser requestet og gør at de ikke kan requeste igen.
Eksempel:
!request afvis/godkend ID1
on *:load: {
set %admin.chan $$?"Admin Channel"
set %farve $$?"Farve (ctrl+k)"
}
on *:Text:request*:?: {
if ($chan(0) <= 19) {
write line.txt line
write lines.txt ID $+ $lines(line.txt)
write -dl1 line.txt
write id.txt ID $+ $lines(lines.txt) $2 af $nick
writeini id.ini ID $+ $lines(lines.txt) channel $2
writeini id.ini ID $+ $lines(lines.txt) nick $nick
}
if ($me ison $2) {
msg $nick %farve $+ Du har allerde $+ $me $+ på $+ $2 $+
}
elseif ($chan(0) == 20) {
msg $nick %farve $+ Der er ikke mere plads da $+ $me $+ allerede er på 20 channels.
}
elseif ($read(afvist.txt, w, $2)) {
msg $nick %farve $+ Du er blevet afvist en gang på $+ $2 $+ , og kan derfor ikke requeste til den channel igen.
}
elseif ($read(channel.txt, w, $2)) {
msg $nick %farve $+ Du har allerde requsted $+ $me $+ på $+ $2 $+
}
else {
write channel.txt $2
msg $nick %farve $+ Dit request på $+ $2 $+ bliver lige nu overvejet af vores admins. Du vil få besked om du er blevet afvist eller godkendt.
msg %admin.chan %farve $+ Der er $+ $lines(lines.txt) $+ nye requestes.
timer 1 1 /msg %admin.chan %farve $+ Skriv !request vis, for at se requestsne :D
timer 1 2 /msg %admin.chan %farve $+ Skriv !request godkend <ID>, for at godkende request.
timer 1 3 /msg %admin.chan %farve $+ Skriv !request afvis <ID>, for at afvise request.
}
}
on *:Text:!request*:%admin.chan: {
if ($2 == godkend) {
if ($lines(lines.txt) == 0) {
msg %admin.chan %farve $+ Der er ikke flere reqestes.
}
elseif (!$3) {
notice $nick %farve $+ Du skal skrive er ID.
}
else {
msg $readini(id.ini, $3, nick) %farve $+ Dit request på $+ $readini(id.ini, $3, channel) $+ er blevet godkendt, og botten vil joine om nogle få sekunder.
timer 1 1 /join $readini(id.ini, $3, channel)
timer 1 2 /msg $readini(id.ini, $3, channel) %farve $+ husk at give mig +v. /mode $readini(id.ini, $3, channel) +v $me
timer 1 3 /msg %admin.chan %farve $+ $+ $me $+ har nu joinet: $readini(id.ini, $3, channel)
remini id.ini $3
write -ds $+ $3 lines.txt
write join.txt $readini(id.ini, $3, channel)
}
}
if ($2 == afvis) {
if ($lines(lines.txt) == 0) {
msg %admin.chan %farve $+ Der er ikke flere reqestes.
}
elseif (!$3) {
notice $nick %farve $+ Du skal skrive er ID.
}
else {
msg $readini(id.ini, $3, nick) %farve $+ Dit request på $+ $readini(id.ini, $3, channel) $+ er blevet afvist.
msg %admin.chan %farve $+ $+ $readini(id.ini, $3, channel) $+ er afvist.
write afvist.txt $readini(id.ini, $3, channel)
remini id.ini $3
write -ds $+ $3 lines.txt
}
}
if ($2 == vis) {
timer 1 1 /msg %admin.chan %farve $+ Der er $+ $lines(lines.txt) $+ nye requestes.
var %a = 1
while (%a <= $lines(lines.txt)) {
timer 1 $calc(%a + 1) /msg %admin.chan $read(id.txt, %a $+ )
inc %a 1
}
}
}
on *:connect: {
var %i = 1
while (%i <= $lines(join.txt)) {
join $read(join.txt, %i $+ )
inc %i 1
}
}
Nu har opdateret det lidt da jeg havde fået en comment om nogle små fejl. :D
Hvis i har nogle flere idéer til hvad der kunne smides ind, eller nogle requests kan jeg kigge på det.