Hiho !
Ich bin gerade dabei eine URL-Blacklist zu machen.
Das Eintragen und Löschen der URLs in die ini klappt auch wunderbar nur für die Überprüfung der URLs bräuchte ich einen kleinen Hinweis.
Ich hab mir das mal so gedacht:
Code:
Function IsBlack()
If ReadINIString("URL", Param(Line, 1), "", INIFile_URL) = "black" Then
IsBlack = True
End If
End Function
Nur hab ich mir das glaube ich da ein bissel zu leicht gemacht ^^
Es soll dann eine Abfrage möglich sein wie
If IsBlack = True Then
bla kick oder was weiss ich, der Rest is dann kein Problem. Jedenfalls klappt das mit der Function nicht und ich denke, dass ihr mir da bestimmt weiterhelfen könnt.
mfg
Noeltz
wo liest du den die param(line, 2) aus? in der function schickst du doch keine nachricht an den bot
ich poste mal das ganze script, wie es bisher ist, vielleicht wird dir dann klar, was ich meine:
Code:
Const INIFile_URL = "ini_URLBlacklist.ini"
Const Version = "URL-Blacklist Script 1.0 by Noeltz"
Sub Init()
Script Version
Hook "Chan_Msg"
End Sub
Const ActiveChannels = "#chan1 chan2"
Sub Chan_Msg(Chan, Nick, RegUser, Line)
If InStr(1, " " & LCase(ActiveChannels) & " ", " " & LCase(Chan) & " ") <= 0 Then Exit Sub
If MatchFlags(GetUserChanFlags(RegUser, Chan), "+m") Then
If LCase(Param(Line, 1)) = "!addurl" Then
WriteINIString "URL", GetRest(Line, 2), "black", INIFile_URL
SendLine "PRIVMSG " & Chan & " : URL added to Blacklist !", 3
ElseIf LCase(Param(Line, 1)) = "!delurl" Then
DeleteINIString "URL", GetRest(Line, 2), INIFile_URL
SendLine "PRIVMSG " & Chan & " : URL deleted from Blacklist !", 3
End If
End If
If IsBlack = True Then
SendLine "MODE " & Chan & " -o+b " & Nick & " " & Mask(Hostmask(Chan, Nick), 2), 1
AddKick Chan, Nick, "[5min Time Ban]: This URL is on my Blacklist !!!"
TimedCommand "Unban " & Chr(34) & Chan & Chr(34) & ", " & Chr(34) & Mask(Hostmask(Chan, Nick), 2) & Chr(34), 300
End If
End Sub
Sub UnBan(Chan, Mask)
SendLine "MODE " & Chan & " -b " & Mask, 1
End Sub
Function IsBlack()
If ReadINIString("URL", Param(Line, 1), "", INIFile_URL) = "black" Then
IsBlack = True
End If
End Function
es ist noch nich viel drinnen, die feinheiten kommen später, aber ich hab eben keinen plan, wie ich es schaffe, dass die function das tut was sie soll. ich hab bisher noch nix mit inis gemacht, daher hab ich wenig ahnung davon. vielleicht hab ich auch einfach nur nen tierischen denkfehler drin.
thx 4 help
hi noelz..
ich hab zwar keine luste dein script durch zu schaun, aber deine function weiss nicht was param(Line, 1) ist und kann somit nie wahr sein :D
Code:
Function IsBlack(Line)
IsBlack = "False"
If ReadINIString("URL", "Line", vbNUllString, INIFile_URL) = "black" Then
IsBlack = "True"
End If
End Function
so müsste sie mindestens aussehen, ein ReadINIString hat immer 4parameter die du angeben musst....
aufrufbar ist die funktion mit
Code:
If IsBlack(Param(Line, 1)) = "True" Then
Param(Line, 1) wird übergeben, man kann mehrere sachen übergeben, getrennt durch*glaube* ein komma und in der zeile:
Function IsBlack(Line)
kannste den übergebenen wert nennen wie du willst, den du dann aber auch innerhalb der funktion benutzen musst....
es ist völlig egal wie dus nennst, solange du keine variable oder ähnliches doppelt belegen willst ^^
mfg Stargate
p.s. ich hoffe das hilft dir weiter :D
also kapiert hab ichs schonmal

ich werds dann später auch mal versuchen, weil ich jetzt grad keine zeit hab, aber ich bin da sehr optimistisch
vielen dank für eure hilfe
ich geb dann später bescheid, ob es klappt
bye
ich bin glaub einfach zu doof dazu

es will einfach nicht, naja im prinzip brauch ich das eh net, aber ich wollts zu mindest mal versuchen ^^
vielleicht klappts ja wenn ich in ein paar tagen nochmal drangehen.
bye