|
PasteIt Eintrag #98 |
| Autor: |
Balmung |
| Titel: |
XML-Profil-Script 1.0b |
| Beschreibung: |
Profil-Script mit XML-Datenbank
XML-Muster: http://chaozzbubi.byto.de/quote.php?q=443 |
| Code |
- '# @Name: XML-Profil-Script 1.0b
-
'# @Author: Balmung
-
'# @Desc
-
'# @ Profil-Script mit XML-Datenbank
-
'# @ XML-Muster: http://chaozzbubi.byto.de/quote.php?q=443
-
'# @Desc
-
-
'Bitte nur Daten in der Konfigurationsdatei ändern:
-
Const xml = "profiles.xml"
-
'Ein Beispiel findet ihr hier: http://chaozzbubi.byto.de/quote.php?q=443
-
'(Kommentare aus der XML Datei am besten entfernen)
-
-
-
'Möglichkeit, die Ausgabe des Profils ein bisschen zu ändern
-
Const AusgabeFelder = "7%FELD%:14 %INHALT%"
-
-
-
'Ab hier nichts mehr ändern
-
'##################################
-
-
-
-
Dim AllowedChans()
-
Dim ProfilFields()
-
Dim ProfilValue()
-
Dim RegLines()
-
-
Dim Admin
-
Dim NeedAuth
-
Dim AuthServ
-
Dim MustBeOnChan
-
-
'Dim StatusCmd
-
'Dim StatusMask
-
'Dim IdentStatus
-
-
Const ScriptName = "XML-Profil-Script 1.0b © by ChaozZBubi"
-
Sub Init()
-
Script ScriptName
-
'Hook "Nick"
-
Hook "Chan_MSG"
-
Hook "Priv_MSG"
-
Hook "Priv_Notice"
-
-
Redim RegLines(0)
-
-
Dim XMLobj
-
-
Set XMLobj = CreateObject("microsoft.xmldom")
-
-
XMLobj.async = False
-
XMLobj.Load xml
-
-
Set XMLRoot = XMLobj.documentElement 'inhalt des <root></root> elements
-
-
If XMLRoot.nodeName <> "root" Then
-
Info "XML-Dokumentwurzel ist nicht <root> ... </root>"
-
Exit Sub
-
End If
-
-
'<settings>
-
'<channels>
-
'<fields>
-
'<profiles>
-
-
Set SettingNode = XMLRoot.getElementsByTagName("settings")
-
Set ChanNode = XMLRoot.getElementsByTagName("channels")
-
Set FieldNode = XMLRoot.getElementsByTagName("fields")
-
Set ProfileNode = XMLRoot.getElementsByTagName("profiles")
-
-
Admin = ""
-
NeedAuth = False
-
AuthServ = ""
-
-
If SettingNode.Length = 1 Then
-
For n = 0 To SettingNode(0).childNodes.Length - 1
-
Select Case SettingNode(0).childNodes.Item(n).nodeName
-
case "admin"
-
Admin = SettingNode(0).childNodes.Item(n).getAttribute("nick")
-
case "needauth"
-
NeedAuth = IIf(LCase(SettingNode(0).childNodes.Item(n).getAttribute("value")) = "yes", True, False)
-
case "authserv"
-
AuthServ = SettingNode(0).childNodes.Item(n).getAttribute("value")
-
-
case "onchan"
-
MustBeOnChan = IIf(LCase(SettingNode(0).childNodes.Item(n).getAttribute("value")) = "yes", True, False)
-
-
'case "statuscmd"
-
' StatusCmd = SettingNode(0).childNodes.Item(n).getAttribute("value")
-
'case "statusmask"
-
' StatusMask = SettingNode(0).childNodes.Item(n).getAttribute("value")
-
'case "identstatus"
-
' IdentStatus = SettingNode(0).childNodes.Item(n).getAttribute("value")
-
End Select
-
Next
-
End If
-
-
'AllowedChans()
-
If ChanNode.Length = 1 Then
-
If ChanNode(0).childNodes.Length > 0 Then
-
Redim AllowedChans(ChanNode(0).childNodes.Length - 1)
-
For n = 0 to ChanNode(0).childNodes.Length - 1
-
If ChanNode(0).childNodes.Item(n).nodeName = "chan" Then
-
AllowedChans(n) = ChanNode(0).childNodes.Item(n).getAttribute("name")
-
Else
-
AllowedChans(n) = ""
-
End If
-
Next
-
End If
-
Else
-
Info "Keine Chans angegeben..."
-
End If
-
-
-
'ProfilFields()
-
'ProfilValue()
-
If FieldNode.Length = 1 Then
-
If FieldNode(0).childNodes.Length > 0 Then
-
Redim ProfilFields(FieldNode(0).childNodes.Length - 1)
-
Redim ProfilValue(FieldNode(0).childNodes.Length - 1)
-
Info "• Formularfelder: " & FieldNode(0).childNodes.Length
-
For n = 0 to FieldNode(0).childNodes.Length - 1
-
ProfilFields(n) = FieldNode(0).childNodes.Item(n).nodeName
-
ProfilValue(n) = FieldNode(0).childNodes.Item(n).getAttribute("name")
-
'Info ProfilFields(n) & ": " & ProfilValue(n)
-
Next
-
End If
-
End If
-
-
If ProfileNode.Length = 1 Then
-
Set xyz = ProfileNode(0).getElementsByTagName("userlist")
-
Set xyz2 = xyz(0).getElementsByTagName("user")
-
Info "• Profile: " & xyz2.Length
-
End If
-
-
Info ScriptName & " running..."
-
-
End Sub
-
-
'ReadINIString(Nick, "ID", "", ini)
-
'WriteINIString "Aktiv", Nick, "1", ini
-
Sub Chan_msg(Chan, Nick, RegUser, Line)
-
Select Case LCase(Param(Line,1))
-
Case "!profil"
-
SendNot Nick, "Um Ein Profil anzulegen, tippe 7/msg " & MyNick & " !profilset"
-
SendNot Nick, "Um Infos zum ändern Deines Profils zu erhalte, tippe 7/msg " & MyNick & " !set help"
-
SendNot Nick, "Um dein Eigenes Profil zu sehen, tippe 7/msg " & MyNick & " !profil"
-
SendNot Nick, "Und um das Profil von jemand anderem zu sehen, tippe 7/msg " & MyNick & " !profil <nickname>"
-
End Select
-
End Sub
-
-
'-> irc.animexx.de PRIVMSG nickserv :status ChaozZBubi
-
'<- :NickServ!services@services.animexx.de NOTICE ChaozZBubi :STATUS ChaozZBubi 3
-
-
Sub Priv_Msg(Nick, RegUser, Line)
-
If Left(Line,1) = "!" Then
-
xID = GetNew
-
RegLines(xID) = Nick & " " & Line
-
If NeedAuth Then
-
'status request an service schicken
-
Sendline "PRIVMSG " & AuthServ & " :STATUS " & Nick, 3
-
Else
-
'kein status request an Service schicken
-
'sondern ein "gültiges" Request simulieren
-
strRequest = "STATUS " & Nick & " 3"
-
Priv_Notice AuthServ, "", strRequest
-
End If
-
End If
-
End Sub
-
-
-
-
Sub Priv_Notice(Nick, RegUser, Line)
-
If LCase(Nick) = LCase(AuthServ) Then
-
If LCase(Param(Line,1)) = "status" Then
-
-
rNick = Param(Line, 2)
-
rStatus = Param(Line, 3)
-
rLine = GetNickLine(rNick)
-
DelNickLine rNick
-
-
IsRegistered = IIf(rStatus = "3", True, False)
-
-
Dim XMLobj
-
Set XMLobj = CreateObject("microsoft.xmldom")
-
XMLobj.async = False
-
XMLobj.Load xml
-
-
Set XMLRoot = XMLobj.documentElement
-
Select Case LCase(Param(rLine, 1))
-
Case "!profil"
-
Set ProfileNode = XMLRoot.getElementsByTagName("profiles")
-
If OnMyChans(rNick) Then
-
If IsRegistered And Param(rLine, 2) = "" Then
-
Info rNick & " requested his/her profile"
-
If ProfileNode.Length = 1 Then
-
If ProfileNode(0).childNodes.Length > 0 Then
-
Set UserList = ProfileNode(0).getElementsByTagName("userlist")
-
If UserList.Length = 1 Then
-
For n = 0 To UserList(0).childNodes.Length - 1
-
Set UserNode = UserList(0).childNodes.Item(n)
-
If LCase(rNick) = LCase(UserNode.getAttribute("nick")) Then
-
NickId = UserNode.getAttribute("id")
-
-
Set NickNode = ProfileNode(0).getElementsByTagName(NickId)
-
Set FieldNode = XMLRoot.getElementsByTagName("fields")
-
-
If NickNode.Length = 1 And FieldNode.Length = 1 Then
-
For i = 0 to NickNode(0).childNodes.Length - 1
-
xField = NickNode(0).childNodes.Item(i).nodeName
-
Set pField = FieldNode(0).getElementsByTagName(xField)
-
If pField.Length = 1 Then
-
Value = NickNode(0).childNodes.Item(i).getAttribute("value")
-
xFieldText = pField(0).getAttribute("name")
-
If Trim(Value) <> "" Then
-
SendMsg rNick, Replace(Replace(AusgabeFelder,"%FELD%",xFieldText),"%INHALT%",Value)
-
End If
-
End If
-
Next
-
End If
-
Exit For
-
End If
-
Next
-
End If
-
End If
-
End If
-
Else
-
If Param(rLine, 2) <> "" Then
-
Info rNick & " requested the profile of " & Param(rLine, 2)
-
'nickname raussuchen und auflisten
-
Set UserList = ProfileNode(0).getElementsByTagName("userlist")
-
If UserList.Length = 1 Then
-
For n = 0 To UserList(0).childNodes.Length - 1
-
Set UserNode = UserList(0).childNodes.Item(n)
-
If LCase(Param(rLine, 2)) = LCase(UserNode.getAttribute("nick")) Then
-
NickId = UserNode.getAttribute("id")
-
-
Set NickNode = ProfileNode(0).getElementsByTagName(NickId)
-
Set FieldNode = XMLRoot.getElementsByTagName("fields")
-
-
If NickNode.Length = 1 And FieldNode.Length = 1 Then
-
For i = 0 to NickNode(0).childNodes.Length - 1
-
xField = NickNode(0).childNodes.Item(i).nodeName
-
Set pField = FieldNode(0).getElementsByTagName(xField)
-
If pField.Length = 1 Then
-
Value = NickNode(0).childNodes.Item(i).getAttribute("value")
-
xFieldText = pField(0).getAttribute("name")
-
If Trim(Value) <> "" Then
-
SendMsg rNick, Replace(Replace(AusgabeFelder,"%FELD%",xFieldText),"%INHALT%",Value)
-
End If
-
End If
-
Next
-
End If
-
Exit For
-
End If
-
Next
-
'Set UserNode = UserList(0)
-
'NickId = UserNode.getAttribute("id")
-
'Set NickNode = ProfileNode(0).getElementsByTagName(NickId)
-
End If
-
Else
-
Info rNick & " requested his/her Profile, but isn't authed"
-
SendMsg rNick, "Du musst dei NickServ registriert und identifiziert sein um dein eigenes Profil zu sehen. /msg NickServ HELP REGISTER"
-
SendMsg rNick, "Wenn du das Profil von jemand anderen sehen möchtest, tippe !profil <nickname>"
-
End If
-
End If
-
Else
-
SendMsg rNick, "Du musst in einem meiner Chans sein!"
-
End If
-
case "!profilset"
-
Set ProfileNode = XMLRoot.getElementsByTagName("profiles")
-
If OnMyChans(rNick) Then
-
If IsRegistered Then
-
'überprüfen ob user ein profil hat
-
Set UserList = ProfileNode(0).getElementsByTagName("userlist")
-
NickID = "nick0"
-
hID = 0
-
For n = 0 to UserList(0).childNodes.Length - 1
-
If UserList(0).childNodes.Item(n).nodeName = "user" Then
-
nNick = UserList(0).childNodes.Item(n).getAttribute("nick")
-
if LCase(nNick) = LCase(rNick) Then
-
NickID = UserList(0).childNodes.Item(n).getAttribute("id")
-
End If
-
ElseIf UserList(0).childNodes.Item(n).nodeName = "hid" Then
-
hID = UserList(0).childNodes.Item(n).getAttribute("value")
-
If Not NickID = "nick0" Then Exit For
-
End If
-
Next
-
If Not NickID = "nick0" Then
-
Info rNick & " requested to Change his/her Profile"
-
-
SendMsg rNick, "Willkommen im Profil Setup, um Daten in deinem Profil zu ändern, musst du jedesmal den Befehl 4!set benutzen"
-
SendMsg rNick, "Tippe 4!set help um dir Informationen zur Bedienung anzeigen zu lassen."
-
Else
-
'keine id gefunden, user muss erstellt werden
-
info rNick & " Profil wird erstellt"
-
hID = hID + 1
-
Set HighNode = UserList(0).getElementsByTagName("hid")
-
HighNode(0).setAttribute "value", hID
-
-
-
Set NewNode = XMLobj.createElement("user")
-
NewNode.setAttribute "nick", rNick
-
NewNode.setAttribute "id", "nick" & hID
-
UserList(0).appendChild NewNode
-
-
Set NewNode = XMLobj.createElement("nick" & hID)
-
-
Set FieldNode = XMLRoot.getElementsByTagName("fields")
-
For n = 0 To FieldNode(0).childNodes.Length - 1
-
Set Field = FieldNode(0).childNodes.Item(n)
-
Set NewFieldNode = XMLobj.createElement(Field.nodeName)
-
NewFieldNode.setAttribute "value", ""
-
NewNode.appendChild NewFieldNode
-
Next
-
-
ProfileNode(0).appendChild NewNode
-
-
-
info rNick & " Profil wird gespeichert"
-
XMLobj.Save xml
-
-
SendMsg rNick, "Willkommen im Profil Setup, um Daten in deinem Profil zu ändern, musst du jedesmal den Befehl 4!set benutzen"
-
SendMsg rNick, "Tippe 4!set help um dir Informationen zur Bedienung anzeigen zu lassen."
-
End If
-
Else
-
SendMsg rNick, "Du musst dei NickServ registriert und identifiziert sein um dein Profil ändern zu können. /msg NickServ HELP REGISTER"
-
End If
-
Else
-
SendMsg rNick, "Du musst in einem meiner Chans sein!"
-
End If
-
Case "!set"
-
Set ProfileNode = XMLRoot.getElementsByTagName("profiles")
-
If OnMyChans(rNick) Then
-
If IsRegistered Then
-
Select Case LCase(Param(rLine, 2))
-
Case "help"
-
Set FieldNode = XMLRoot.getElementsByTagName("fields")
-
strFields = ""
-
fCount = 0
-
-
SendMsg rNick, "Um Daten deines Profils zu ändern Tippe 7!set Feld Text."
-
SendMsg rNick, "7Feld: gebe bitte eine der Folgenden Namen ein:"
-
-
For n = 0 To FieldNode(0).childNodes.Length - 1
-
strFields = strFields & IIf(strFields = "", "", ", ") & "4" & FieldNode(0).childNodes.Item(n).nodeName & ""
-
fCount = fCount + 1
-
If fCount = 8 Then
-
SendMsg rNick, strFields
-
strFields = ""
-
fCount = 0
-
End If
-
Next
-
if fCount > 0 Then
-
SendMsg rNick, strFields
-
End If
-
-
SendMsg rNick, "7Text: Als Text kannst du dann einen Beliebigen passenden Text eingeben, den du in Dieses Feld stehen haben willst."
-
SendMsg rNick, "Um ein Beispiel zu sehen, tippe: 4!set beispiel"
-
-
Case "beispiel", "beispiele", "example"
-
Set FieldNode = XMLRoot.getElementsByTagName("fields")
-
Randomize
-
z = Int(Rnd * FieldNode(0).childNodes.Length)
-
nName = FieldNode(0).childNodes.Item(z).nodeName
-
'Desc = FieldNode(0).childNodes.Item(z).getAttribute("name")
-
Select Case nName
-
case "name"
-
Value = "Hans Peter"
-
case "email"
-
Value = "hans@beispiel.de"
-
case "icq"
-
Value = "123-456-789"
-
case "www"
-
Value = "www.beispiel.de"
-
case Else
-
Value = "Irgendein Text, der hier hin passt"
-
End Select
-
SendMsg rNick, "!set " & nName & " " & Value
-
SendMsg rNick, "Dieser Befehl würde den Profil-Eintrag """ & nName & """ mit dem Text """ & Value & """ füllen"
-
Case else
-
sField = LCase(Param(rLine, 2))
-
Set FieldNode = XMLRoot.getElementsByTagName("fields")
-
-
Found = False
-
For n = 0 To FieldNode(0).childNodes.Length
-
Set xField = FieldNode(0).childNodes.Item(n)
-
If xField.nodeName = sField Then
-
Found = True
-
FieldName = xField.getAttribute("name")
-
Exit For
-
End If
-
Next
-
-
If Not Found Then
-
SendMsg rNick, "Das angegebene Feld """ & sField & """ existiert nicht, oder wurde gelöscht!"
-
Else
-
-
Set UserList = ProfileNode(0).getElementsByTagName("userlist")
-
NickID = "nick0"
-
For n = 0 to UserList(0).childNodes.Length - 1
-
If UserList(0).childNodes.Item(n).nodeName = "user" Then
-
nNick = UserList(0).childNodes.Item(n).getAttribute("nick")
-
if LCase(nNick) = LCase(rNick) Then
-
NickID = UserList(0).childNodes.Item(n).getAttribute("id")
-
Exit For
-
End If
-
End If
-
Next
-
If Not NickID = "nick0" Then
-
Set NickNode = ProfileNode(0).getElementsByTagName(NickID)
-
-
'falls node <nickX> (X steht für eine Zahl) nicht existiert, wird der Node erstellt
-
If NickNode.Length = 0 Then
-
Set NewNode = XMLobj.createElement(NickID)
-
Set FieldNode = XMLRoot.getElementsByTagName("fields")
-
For n = 0 To FieldNode(0).childNodes.Length - 1
-
Set Field = FieldNode(0).childNodes.Item(n)
-
Set NewFieldNode = XMLobj.createElement(Field.nodeName)
-
NewFieldNode.setAttribute "value", ""
-
NewNode.appendChild NewFieldNode
-
Next
-
ProfileNode(0).appendChild NewNode
-
-
'<nickx> den profiles hinzufügen
-
Set NickNode = ProfileNode(0).getElementsByTagName(NickID)
-
NewNode = Nothing
-
End If
-
-
'NickNode ist jetzt der Node des users
-
-
'überprüfen ob node "sField" im NickNode existiert
-
Set nField = NickNode(0).getElementsByTagName(sField)
-
If nField.Length = 1 Then
-
nField(0).setAttribute "value", GetRest(rLine, 3)
-
Else
-
Set NewNode = XMLobj.createElement(sField)
-
NewNode.setAttribute "value", GetRest(rLine, 3)
-
NickNode(0).appendChild NewNode
-
End If
-
-
SendMsg rNick, "7" & Fieldname & " wurde in 7""" & GetRest(rLine, 3) & """ geändert!"
-
'FieldName geändert
-
-
-
XMLobj.Save xml
-
Info "Daten Speichern!"
-
Else
-
SendMsg rNick, "Für dich ist noch kein Profil angelegt. Bitte gib zuerst 4!profilset ein, um fortfahren zu können."
-
End If
-
End IF
-
-
-
End Select
-
Else
-
SendMsg rNick, "Du musst dei NickServ registriert und identifiziert sein um dein Profil ändern zu können. /msg NickServ HELP REGISTER"
-
End If
-
Else
-
SendMsg rNick, "Du musst in einem meiner Chans sein!"
-
End If
-
Case "!fields"
-
Set FieldNode = XMLRoot.getElementsByTagName("fields")
-
strOut = ""
-
If Param(rLine, 2) <> "" Then
-
For n = 0 To FieldNode(0).childNodes.Length - 1
-
If FieldNode(0).childNodes.Item(n).nodeName = LCase(Param(rLine, 2)) Then
-
SendMsg rNick, """4" & FieldNode(0).childNodes.Item(n).nodeName & """ 7Beschreibung: " & FieldNode(0).childNodes.Item(n).getAttribute("name")
-
End If
-
Next
-
Else
-
For n = 0 To FieldNode(0).childNodes.Length - 1
-
SendMsg rNick, """4" & FieldNode(0).childNodes.Item(n).nodeName & """ 7Beschreibung: " & FieldNode(0).childNodes.Item(n).getAttribute("name")
-
Next
-
End If
-
Case "!addfield"
-
if LCase(rNick) = LCase(Admin) then
-
'mindestens zwei zusätzliche angaben?
-
If Param(rLine,3) <> "" Then
-
'nicht erlaubte felder überprüfen
-
Select Case LCase(Param(rLine,2))
-
Case "fields", "settings", "channels", "profiles", "userlist", "admin"
-
SendMsg rNick, "Das Feld """ & LCase(Param(rLine,2)) & """ ist nicht erlaubt"
-
Case Else
-
Set FieldNode = XMLRoot.getElementsByTagName("fields")
-
Set AddNode = FieldNode(0).getElementsByTagName(LCase(Param(rLine,2)))
-
If AddNode.Length = 0 Then
-
'wird erstellt
-
Set NewNode = XMLobj.createElement(LCase(Param(rLine,2)))
-
FieldNode(0).appendChild NewNode
-
Else
-
'existiert bereits
-
Set NewNode = AddNode(0)
-
End If
-
-
NewNode.setAttribute "name", GetRest(rLine,3)
-
-
SendMsg rNick, "Das Feld """ & NewNode.nodeName & """ wurde mit der Beschreibung: """ & GetRest(rLine,3) & """ hinzugefügt!"
-
-
XMLobj.save xml
-
Info "Daten Speichern!"
-
End Select
-
Else
-
SendMsg rNick, "Nicht genügend Angaben, Syntax: !addfield <Feldname> <Beschreibung>"
-
End If
-
Else
-
SendNot rNick, "Du bist nicht Mein Meister"
-
End If
-
Case "!deletefield", "!delfield"
-
if LCase(rNick) = LCase(Admin) then
-
If Param(rLine,2) <> "" Then
-
Set FieldNode = XMLRoot.getElementsByTagName("fields")
-
Set RemNodes = FieldNode(0).getElementsByTagName(LCase(Param(rLine,2)))
-
If RemNodes.Length > 0 Then
-
Set RemElement = RemNodes(0)
-
Set NodeResult = FieldNode(0).removeChild(RemElement)
-
If NodeResult Is Nothing Then
-
SendMsg rNick, LCase(Param(rLine,2)) & " konnte nicht gelöscht werden!"
-
Else
-
SendMsg rNick, LCase(Param(rLine,2)) & " wurde gelöscht!"
-
End If
-
-
'Set ProfileNode = XMLRoot.getElementsByTagName("profiles")
-
'müsste dann noch, das entfernen der felder aus den user-profilen
-
-
-
XMLobj.Save xml
-
Info "Daten Speichern!"
-
Else
-
SendMsg rNick, LCase(Param(rLine,2)) & " konnte nicht gelöscht werden! (nicht gefunden)"
-
End If
-
Else
-
SendMsg rNick, "Nicht genügend Angaben, Syntax: !deletefield <Feldname> <Beschreibung>"
-
End If
-
Else
-
SendNot rNick, "Du bist nicht Mein Meister"
-
End If
-
-
End Select
-
End If
-
End If
-
End Sub
-
-
-
Sub SendMsg(Target, Line)
-
SendLine "PRIVMSG " & Target & " :" & line, 3
-
End Sub
-
Sub SendNot(Target, Line)
-
SendLine "NOTICE " & Target & " :" & line, 3
-
End Sub
-
Sub Info(Line)
-
SpreadFlagMessage 0, "+m", "14***7 " & Line
-
end Sub
-
-
-
'Dient dem Überprüfen, ob ein User beim NickServ registriert und identifiziert ist
-
Function GetNickLine(Nick)
-
For n = 0 To UBound(RegLines)
-
If LCase(Param(RegLines(n), 1)) = LCase(Nick) Then
-
GetNickLine = GetRest(RegLines(n), 2)
-
Exit Function
-
End If
-
Next
-
GetNickLine = ""
-
End Function
-
-
Function GetNew()
-
For n = 0 To UBound(RegLines)
-
If RegLines(n) = "" Then
-
GetNew = n
-
Exit Function
-
End If
-
Next
-
n = UBound(RegLines) + 1
-
Redim Preserve RegLines(n)
-
RegLines(n) = ""
-
GetNew = n
-
End Function
-
-
Sub DelNickLine(Nick)
-
For n = 0 To UBound(RegLines)
-
If LCase(Param(RegLines(n), 1)) = LCase(Nick) Then
-
RegLines(n) = ""
-
End If
-
Next
-
End Sub
-
-
-
Function MakeValidRegExp(strRegExp)
-
Dim L
-
strOut = ""
-
For n = 1 To Len(strRegExp)
-
L = Mid(strRegExp,n,1)
-
Select Case L
-
case ".", "-", "(", ")", "[", "]", "{", "}", "\", "+", "|", "^", "$"
-
L = "\" & L
-
case "*"
-
L = "(.*)" 'beliebige zeichen
-
case "?"
-
L = "(.)" 'ein einzelnes zeichen
-
End Select
-
strOut = strOut & L
-
Next
-
MakeValidRegExp = strOut
-
End Function
-
-
-
Function OnMyChans(Nick)
-
If MustBeOnChan Then
-
For n = 0 to UBound(AllowedChans)
-
If IsOn(Nick, AllowedChans(n)) Then
-
OnMyChans = True
-
Exit Function
-
End If
-
Next
-
OnMyChans = False
-
Else
-
OnMyChans = True
-
end If
-
End Function
|
|