TestMax.dk Paster
  • Forside
  • Print
  • Bookmark
  • Kontakt
  • SiteMap


infobox infobox
 

adminsystem via auth (Pattys Auth Script)

08-01-2009 22:20:19
 
 
Muligheder (Anmeld)
Skrevet af Grandjean
Kliks 751
Kategori mIRC scripting release
Hej alle sammen..

Ja jeg sad torsdag aften og stenede lidt, så jeg tænkte på jeg ville lave et admin system som er via auth..

Så here we go.

on *:load: {
echo -a 11,1¤15,1 :::: Adminsystem via Auth :::: 11,1¤15,1
echo -a 11,1¤15,1
echo -a 11,1¤15,1 - Nemt og smart admin script, til en klan eller et ny opstartet Community 11,1¤15,1
echo -a 11,1¤15,1 - Har du problemer eller finder fejl i scriptet, så kontakt Grandjean på #Grandjean 11,1¤15,1
echo -a 11,1¤15,1
echo -a 11,1¤15,1 :::: Scriptet af Grandjean - #Grandjean :::: 11,1¤15,1
/who $chan n%na
}

on *:text:!add*:#: {
if ($readini(serviceadmins.ini,owner,$address($nick,2)) == owner) {
if ($2 == admin) {
writeini serviceadmins.ini admins $address($3,2) admin
notice $nick %font $3 $+ ( $+ $auth($3) $+ ) er nu blevet tilføjet som admin %font
notice $3 %font $3 $+ ( $+ $auth($3) $+ ) du er nu blevet tilføjet som admin på $chan %font
mode $chan +o $3 }
if ($2 == owner) {
writeini serviceadmins.ini owner $address($3,2) owner
notice $nick %font $3 $+ ( $+ $auth($3) $+ ) er nu blevet tilføjet som owner %font
notice $3 %font $3 $+ ( $+ $auth($3) $+ ) du er nu blevet tilføjet som owner på $chan %font
mode $chan +o $3 }
}
}

on *:text:!rem*:#: {
if ($readini(serviceadmins.ini,owner,$address($nick,2)) == owner) {
if ($2 == admin) {
remini serviceadmins.ini admins $address($3,2)
notice $nick %font $3 $+ ( $+ $auth($3) $+ ) er nu blevet slettet som admin %font
notice $3 %font $3 $+ ( $+ $auth($3) $+ ) du er nu blevet slettet som admin på $chan %font
mode $chan -o $3 }
if ($2 == owner) {
remini serviceadmins.ini owner $address($3,2)
notice $nick %font $3 $+ ( $+ $auth($3) $+ ) er nu blevet slettet som owner %font
notice $3 %font $3 $+ ( $+ $auth($3) $+ ) du er nu blevet slettet som owner $på chan %font
mode $chan -o $3 }
}
}
on *:text:!list*:#: {
if ($readini(serviceadmins.ini,owner,$address($nick,2)) == owner) {
if ($2 == admins) {
notice $nick %font Admins %font
var %i = 1
while ($ini(serviceadmins.ini,admins,%i)) {
set %service.admin.last $readini(serviceadmins.ini,admins,$ifmatch)
.timer 1 %i .notice $nick %font  $+ %i $+ : $ifmatch %font Stilling: %service.admin.last %font
inc %i }
}
if ($2 == owners) {
notice $nick %font Owners %font
var %i = 1
while ($ini(serviceadmins.ini,owner,%i)) {
set %service.owner.last $readini(serviceadmins.ini,owner,$ifmatch)
.timer 1 %i .notice $nick %font  $+ %i $+ : $ifmatch %font Stilling: %service.owner.last %font
inc %i }
}
}
}
on *:join:#: {
if ($readini(serviceadmins.ini,admins,$address($nick,2)) == admin) {
msg $chan %font $nick $+ ( $+ $auth($nick) $+ ) er admin %font
mode $chan +o $nick }
{ elseif ($readini(serviceadmins.ini,owner,$address($nick,2)) == owner) {
msg $chan %font $nick $+ ( $+ $auth($nick) $+ ) er Channel Admin! %font
mode $chan +o $nick }
}
}

::::::::::::::: Patty's Auth Script! :::::::::::::::::

;Okay, så kører vi..
;Først et alias til at fremprovokere en .who (måske)
;I form $auth(NICK)
alias auth {
if ($readini(authing.ini,$1,auth)) {
return $readini(authing.ini,$1,Auth)
;Hvis han er authed, så returnere vi dens Auth
}
elseif (*.users.quakenet.org iswm $address($1,2)) {
;Hvis han ikke er gemt i databasen, men har mode +x, så tager vi hans auth ud af hans address
writeini -n Authing.ini $1 Auth $gettok($remove($address($1,2),*!*@),1,46)
return $gettok($remove($address($1,2),*!*@),1,46)
}
else {
;hvis ik, så returnere vi false
;her kunne man sagtens lægge en .who nick na%a ind, men problemet er bare at hvis du kører det på større channels, kan og vil du floode af pga formange send/reply's
return $false
}
}


on *:join:%MainChan: {
set %auth $auth($nick)
if (%auth) { halt }
;Først checker vi om personens Auth er gemt i databasen, skulle den ikke gerne være, men hvis der sker en fejl, så finder vi den her..

if (*.users.quakenet.org iswm $address($nick,2)) {
writeini -n Authing.ini $nick Auth $gettok($remove($address($nick,2),*!*@),1,46)
;Så ser vi den nemme vej, har personen +x ? så tager vi hans auth ud af hans address ;)
}

inc -u1 %AntiAuthFlood 1
if (%AntiAuthFlood < 3) {
;Meget simpelt anti flood system, hvis der kommer over 3 joins på 3 sekunder, så hopper den videre til else {
.who $nick n%na

;who command fremkalder en raw reply fra IRC i form: NICK Auth
}
else {
.timer 1 $calc( %AntiAuthFlood + %AntiAuthFlood + %AntiAuthFlood + 5) .who $nick n%na
}
}

raw 354:*:{
if ($2 ison %MainChan) {
writeini -n Authing.ini $2 Auth $3
}
}
; resten her ned af sletter eller retter personens auth hvis han parter eller quitter
on *:nick: {
if (!$auth($nick)) { halt }
/writeini -n Authing.ini $newnick Auth $auth($nick)
/remini -n Authing.ini $nick
}

on *:PART:#JERES-CHANNEL: {
if (!$auth($nick)) { halt }
/remini -n Authing.ini $nick
}

on *:QUIT: {
if (!$auth($nick)) { halt }
/remini -n Authing.ini $nick
}

on *:KICK:#JERES-CHANNEL: {
if (!$auth($nick)) { halt }
/remini -n Authing.ini $nick
}

on *:DISCONNECT: {
if (!$auth($nick)) { halt }
/remini -n Authing.ini $nick
}


Som fulde owner af scriptet skal du skrive
//writeini serviceadmins.ini owner $address(DIT-IRC-NICK,2) owner
i botten for at du kan tilføje andre som owners eller admins..

I skal også huske at skrive
/set %MainChan #JERES-CHANNEL
i botten.

Commands:
!add 'Owner/Admin' 'Irc Nick' - Tilføjer personen som owner eller admin, begge triggers giver personen autoop
!rem 'Owner/Admin' 'Irc Nick' - Sletter personen som owner eller admin, begge trigger giver personen deop
!list 'Owners/Admins' - Viser en liste over Owners eller Admins

Hvis i har nogen ekstra ting facts, som jeg kunne smide i scriptet. Så endelig skriv!
Er der nogen fejl, skriv dem og jeg retter :)

Det var alt herfra, håber i kunne bruge det :)

(Testet & Virker!!)
Tjaa, måske Testmax.dk Hjælper? :D
 
infobox infobox


infobox infobox
 
#1pK(Anmeld) 08-01-2009 22:22:55
 
 
Nice release :D

Meget flot script :)
 
infobox infobox

infobox infobox
 
#2Drax(Anmeld) 08-01-2009 22:25:00
 
 
Rigtigt lækkert release og godt kommenteret :)

Flere af dem tak da!

Men har lige en rettelse, er rimelig skrap til javascript, og er ret sikkert på at det release du har ikke er javascript, hehe. Så evt. lige ret dit valg af kategori til :-)

Ellers GJ
Administrator - TestMax.dk Stifter/Udvikler

Drax's signatur billede
 
infobox infobox

infobox infobox
 
#3Grandjean(Anmeld) 08-01-2009 22:31:48
 
 
#2 > haha mange tak for de fine ord :)
Ja jeg så lige det var forkert kategori, og det skulle meget gerne været rettet nu :)
Tjaa, måske Testmax.dk Hjælper? :D
 
infobox infobox

infobox infobox
 
#4erle(Anmeld) 09-01-2009 11:37:48
 
 
hmm, må sige at jeg ikke kan se idèn i pattys auth script. Det er LANGT og sjusked lavet.

Hele hans script kan enligt laves om til disse 5 linjer:
alias auth {
if (*.users.quakenet.org iswm $address($1,2)) {
return $gettok($remove($address($1,2),*!*@),1,46)
}
}

Det giver det samme, og der er slet ingen grund til at skulle skriv de auth's ned:p

#0 - Kan slet ikke finde hoved og hale i dine brackets - Syns det ser dumt og uoverskueligt ud, men ellers en meget fint script(:
 
infobox infobox

infobox infobox
 
#5Grandjean(Anmeld) 09-01-2009 14:40:47
 
 
#4 > hvordan ville du så gøre det hvis personen ikke havde mode +x på ? :)
Tjaa, måske Testmax.dk Hjælper? :D
 
infobox infobox

infobox infobox
 
#6erle(Anmeld) 09-01-2009 15:23:27
 
 
Fortælle ham at han skulle mode +x :D

Ej, det er så en længer kode end #4. Men af hvad jeg kan se i det script skriver den ens auth ned 2 gang hvis man har mode +x på?

Det giver jo enligt ingen mening så på den måde kunne det blive en del korter IMO!.
 
infobox infobox

infobox infobox
 
#7Grandjean(Anmeld) 09-01-2009 17:27:05
 
 
#6 > den skriver ikke ens auth ned 2 gange..
taget ud fra ini filen:
[Grandjean]
Auth=ndjean

Tjaa, måske Testmax.dk Hjælper? :D
 
infobox infobox

infobox infobox
 
#8erle(Anmeld) 09-01-2009 21:07:35
 
 
#7 Jo den gør:D Den skriver jo ind i auth=ndjean - Findes det i forvejen vil den overskrive det. Så du behøver slet ikke delen med "mode $me +x". :D!

Scripte er næsten lavet dobbelt det samme med hans cup script.
 
infobox infobox

Påmindelse ved nyt svar

Ved at tilmelde dig automatisk påmindelse, modtager du en email så snart denne tråd bliver besvaret, dog sender vi kun en mail til dig, også selvom der er kommet flere svar, simpelthen for at spare dig for spam i din indbakke.


infobox infobox
  Svar på tråden  
   
 
 
infobox infobox

infobox infobox
  Læs dette før du sender dit indlæg!  
 
Ved tryk på send knappen accepterer du vores regelsæt som kan læses her
Praktiske informationer
Type Eksempel Resultat
Fed [b]din tekst[/b] din tekst
Kursiv [k]din tekst[/k] din tekst
Understreg [u]din tekst[/u] din tekst
Kode felt [code]din tekst[/code]
din tekst
infobox infobox