18.02.2003, 23:09 Uhr
Kann man per script den Angel dazu veranlassen, auf XDCC LIST und SEND zu reagieren? Wenn ja.. könnte wer das script schreiben ????
Schonmal Danke im Vorraus
Schonmal Danke im Vorraus
'############################################################
'# XDCC-Server by v1.0b HAPM #
'############################################################
'# #
'# Beschreibung #
'# #
'############################################################
Const XDCCDir = "FileArea\xdcc"
Const XDCCINI = "FileArea\INI\xdcc.ini"
Const XDCCCommand = "xdcc"
Const Version = "XDCC-Server by v1.0b HAPM"
Dim fso
Sub Init()
Script Version
AddCommand "xdcc", Cl_Mas, "+m", "2*** .xdcc##14Zeigt die aktuell bereitgestellten##Dateien an."
Hook "Commands"
Hook "Priv_Msg"
SpreadFlagMessage 0, "+m", Version&" geladen"
End Sub
Sub Commands(vSock, RegUser, Flags, Line)
If LCase(Param(Line,1)) <> ".xdcc" Then Exit Sub
Select Case LCase(Param(Line,2))
Case "add": AddFile RegUser, vSock, GetRest(Line, 3)
End Select
End Sub
Sub Priv_Msg(Nick, RegUser, Line)
If LCase(Param(Line,1)) <> LCase(XDCCCommand) Then Exit Sub
Select Case LCase(Param(Line,2))
Case "send": SendXDCCFile Nick, Param(Line,3)
Case "list": ShowXDCCList Nick
End Select
If Not MatchFlags(GetUserFlags(RegUser),"+m") Then Exit Sub
Select Case LCase(Param(Line,2))
Case "present": ShowXDCCList Param(Line,3)
End Select
End Sub
Sub AddFile(RegUser,vSock,Line)
Dim FileCount, theFile
If Param(Line,1) = "" Then
TU vSock, "Bitte gib den Dateinamen der Datei an."
Exit Sub
End If
If Not FileExists("\"&XDCCDir&"\"&Param(Line,1)) Then
TU vSock, "Die Datei "&Param(Line,1)&" existiert nicht."
Exit Sub
End If
If GetRest(Line,2) = "" Then Line = Line&" "&Line
FileCount = ReadINIString("Main","FileCount","0",XDCCINI)*1+1
WriteINIString "File+"&FileCount,"Name",Param(Line,1),XDCCINI
WriteINIString "File+"&FileCount,"Desc",GetRest(Line,2),XDCCINI
WriteINIString "Main","FileCount",FileCount,XDCCINI
TU vSock, "Die Datei "&Param(Line,1)&" wurde hinzugefügt mit der Nummer #"&FileCount
End Sub
Sub SendXDCCFile(Nick,FileNr)
Dim FileCount, FileName
If Left(FileNr, 1) <> "#" Then Exit Sub
FileNr = Mid(FileNr,2)
If Not IsNumeric(FileNr) Then Exit Sub
FileNr = FileNr*1
FileCount = ReadINIString("Main","FileCount","0",XDCCINI)*1
If FileNr > FileCount Or FileNr < 1 Then Exit Sub
FileName = ReadINIString("File+"&FileNr,"Name","",XDCCINI)
SendFile Nick, XDCCDir&"\"&FileName
End Sub
Sub ShowXDCCList(Receiver)
Dim FileCount, i, Send, FileName, Desc
FileCount = ReadINIString("Main","FileCount","0",XDCCINI)*1
If Left(Receiver,1) = "#" Then Send = "PRIVMSG "&Receiver&" :" _
Else Send = "PRIVMSG "&Receiver&" :"
If FileCount < 1 Then Exit Sub
SendLine Send&"XDCC-File List:",3
For i = 1 To FileCount
FileName = ReadINIString("File+"&i,"Name","",XDCCINI)
Desc = ReadINIString("File+"&i,"Desc","",XDCCINI)
SendLine Send&i&" - "&FileName&" ( "&Desc&" )",3
Next
SendLine Send&"To request a file type: ""/msg "&MyNick&" "&XDCCCommand&" send #x""",3
SendLine Send&FileCount&" Files served.",3
End Sub
Function IsXDCCFile(FileName)
Dim FileCount, i
IsXDCCFile = False
FileCount = ReadINIString("Main","FileCount","0",XDCCINI)*1
If FileCount < 1 Then Exit Function
For i = 1 To FileCount
If LCase(ReadINIString("File+"&i,"Name","",XDCCINI)) = LCase(FileName) Then
IsXDCCFile = True
Exit Function
End If
Next
End Function