Re: Spam remover voor Spotnet
Geplaatst: 09 mar 2011, 15:16
Dat is inderdaad handiger, en dat is bij deze ook gebeurd.
Community voor Spotnet liefhebbers! Download Spotnet
https://www.spot-net.nl/forums/
Code: Selecteer alles
Database = "news.server.eu.db"
WorkingDir = "C:\ProgramData\Spotnet\"
Set objFSO = CreateObject("Scripting.FileSystemObject")
if (NOT objFSO.FileExists(WorkingDir & "Servers.xml")) then
WorkingDir = "C:\Documents and Settings\All Users\Local Application Data\Spotnet\"
End If
if (NOT objFSO.FileExists(WorkingDir & "Servers.xml")) then
WorkingDir = "C:\Documents and Settings\All Users\Application Data\Spotnet\"
End If
Set IE = CreateObject("InternetExplorer.Application")
IE.visible = 0
Function HTTPGet(URL)
IE.navigate URL
do while IE.Busy
loop
HTTPGet = IE.document.documentelement.innertext
End Function
function update()
'Document.Write ("Welkom bij de Spam Remover van Spot-net.nl.<br><br>De database wordt nu bijgewerkt, dit kan even duren. Een ogenblik geduld A.U.B.<br><br>Als het programma klaar is met filteren, sluit het zichzelf af. <br><br><br>Log:<br>")
if (objFSO.FileExists(WorkingDir & "Servers.xml")) then
'Document.Write ("servers.xml Gevonden.<br>")
Set objFileRead = objFSO.OpenTextFile(WorkingDir & "servers.xml", 1)
'Document.Write ("servers.xml Geopend.<br>")
Do Until objFileRead.AtEndOfStream
Line = objFileRead.ReadLine
if (InStr(Line, "Downloads")) then
Server = Mid(Line, InStr(Line, "Server=""")+8)
Server = left(Server, InStr(Server, """")-1)
end if
Loop
objFileRead.Close
Server = Replace(Server, "1", "")
Server = Replace(Server, "2", "")
Server = Replace(Server, "3", "")
Server = Replace(Server, "4", "")
Server = Replace(Server, "5", "")
Server = Replace(Server, "6", "")
Server = Replace(Server, "7", "")
Server = Replace(Server, "8", "")
Server = Replace(Server, "9", "")
Server = Replace(Server, "0", "")
Database = Server & ".db"
end if
'Document.Write ("Database = " & Database & "<br>")
'Problemen met het vinden van de database? Haal dan de apostrof ' voor de onderstaande regel weg en pas het hem aan naar de juiste .spots bestand.
'Database = "news.server.eu.db"
FakeUserToevoeging = "!NAAMDIEF!"
if (NOT objFSO.FileExists(WorkingDir & Database)) then
WScript.Echo("Database niet gevonden." & WorkingDir & Database)
else
Dim oCS : oCS = "Driver={SQLite3 ODBC Driver};Database=@FSPEC@;StepAPI=;Timeout="
Dim oCNCT : Set oCNCT = CreateObject( "ADODB.Connection" )
Set WSHShell = WScript.CreateObject("WScript.Shell")
sFina = WorkingDir & Database
oCS = Replace( oCS, "@FSPEC@", sFina )
oCNCT.Open oCS
Dim sSQL, oRS, nRec, oFld
'ArrFileLines = array()
'ArrFakeUserMesId = array()
'WScript.Echo HTTPGet("http://spot-net.nl/add-ons/spamremover/banmessages.txt")
'Document.Write ("Bezig met inlezen spamberichten<br>")
ArrFileLines = Split(HTTPGet("http://spot-net.nl/add-ons/spamremover/banmessages.txt"), vbNewLine)
'Document.Write ("Bezig met inlezen berichten van imitatieusers<br>")
ArrFakeUserMesId = Split(HTTPGet("http://spot-net.nl/add-ons/spamremover/fakeusermessages.txt"), vbNewLine)
iRemoved = 0
For Each strLine in arrFileLines
if Len(strLine) then
sSQL = "SELECT COUNT(*) FROM spots WHERE msgid = '" + strLine + "@free.pt' "
Set oRS = oCNCT.Execute( sSQL )
iRemoved = iRemoved + oRS.Fields( 0 ).Value
sSQL = "DELETE FROM spots WHERE msgid = '" + strLine + "@free.pt' "
oCNCT.Execute( sSQL )
end if
Next
iFaked = 0
For Each strLine in ArrFakeUserMesId
if Len(strLine) then
sSQL = "SELECT COUNT(*) FROM spots WHERE msgid = '" + strLine + "@free.pt' AND NOT sender LIKE '%"+FakeUserToevoeging+"'"
Set oRS = oCNCT.Execute( sSQL )
iFaked = iFaked + oRS.Fields( 0 ).Value
sSQL = "UPDATE spots SET sender=sender || '" + FakeUserToevoeging + "' WHERE msgid = '" + strLine + "@free.pt' AND NOT sender LIKE '%"+FakeUserToevoeging+"'"
oCNCT.Execute( sSQL )
end if
Next
'Document.Write "Filteren is voltooid." & "<br>"
WScript.Echo("Filteren is voltooid. Er zijn " & iRemoved & " spots verwijderd. " & iFaked & " zijn aangemeld als naamdief.")
oCNCT.Close
Set oCNCT = Nothing
IE.quit
Set IE = Nothing
end if
end function
update()
Als hij windows 7 heeft zouden deze niet nodig moeten zijn toch?Ep Woody schreef:Heb je de ODBC-SQLite driver geinstalleerd?
dat dacht ik dus ook, zoals 't er stond dacht ik dat die driver voor XP en Vista was....maar even de driver erop gezet en werkt als een speer nu...Psion schreef:Als hij windows 7 heeft zouden deze niet nodig moeten zijn toch?Ep Woody schreef:Heb je de ODBC-SQLite driver geinstalleerd?