Hi Leute
Ich bin leider ein Noob was IRC Bots betrifft.
zuerst kompliment an die writer des Angels.
Meine Frage bezieht sich auf ein phpbb2.
Ich hätte gerne, dass der Bot automatisch, wenn ein neues Topic erstellt wird, eine msg losläßt im Channel, mit dem Topictitle und wenn möglich auch Autor und welches Forum.
Ich weiß leider nicht wie das realisierbar ist und wäre sehr dankbar, wenn mir jemand antworten könnte.
Danke
mfg
Schlecky
Hiho
1. wenn es einer machen sollte bräuchte er die board addresse.
2. es gibt wenig leude die es können, die kann man glaub an 2 händen abzählen wenn nicht sogar an einer
3. wenns dir einer macht hast du verdammt viel glück
4. sry das ich dir jetzte vielleicht deine hoffnung nehme aber ich denke ist besser als wenn du noch hier ewig wartest und keine antwort bekommst.
5 *bidde net haun ;D*
mfg sts
hm...
ich hab wbb2 und natürlich hostet by myself (also mein pc)
geht das dann ??? villeicht ???
bot bräuchte ja nur localhost

Hi
Das ist eigentlich einfach zu realisieren man sollte die methode die ich nun hier verwendet habe nur auf privaten bots nutzen auf die niemand sonst zugriff hat (niemand ausser dir sollte scripts laden koennen) da sich dadurch viel mist machen laesst.
Du musst einige aenderungen an der angel.ini und im policysetup vornehmen damit das hier gepostete script auch funktioniert.
1. Bot beenden
2. AnGeL.ini im Editor oeffnen
Unter der Sektion [Others] Trag bitte folgende Zeile mit ein:
AllowCreateObject=true
3. Bot starten
4. Auf der Partyline ".policysetup" eingeben und dort nach dem Eintrag "DataBase" schauen. Wenn dieser auf "No" steht, bitte auf "Yes" stellen.
5. Script laden
Und hier nun das Script:
Code:
' MySQL ODBC Driver
' http://www.mysql.com/get/Downloads/MyODBC3/MyODBC-3.51.06.exe/from/pick
' Must be installed
'MySQL Database Configuration
'Make sure you have access from your host
'If not please insert your hostmask into the user table of the mysql database
Const SQLHost = "127.0.0.1"
Const SQLUser = "username"
Const SQLPass = "password"
Const SQLDatabase = "datenbankname"
'Some things for the output
Const MyChan = "#channel1" ' Channel name where you want to post the message
Const MyURL = "www.deineurl.de/board" ' URL to your board
'Table prefix
Const Prefix = "bb2_"
'!! DO NOT CHANGE ANYTHING UNDER THIS LINE UNLESS YOU KNOW WHAT YOU ARE DOING !!
Dim LastThreadID
Const adOpenForwardOnly = 0
Const adLockReadOnly = 1
Const adUseServer = 2
Const adUseClient = 3
Const adModeRead = 1
Sub init()
Script "WBB2 Posting Info v1.0 by Phantom"
CheckPostings
End Sub
Sub CheckPostings()
Set Conn = CreateObject("ADODB.Connection")
Set RS = CreateObject("ADODB.RecordSet")
Set RS2 = CreateObject("ADODB.RecordSet")
RS.CursorLocation = adUseClient
Conn.Provider = "MSDASQL"
Conn.Mode = adModeRead
Conn.Open "DRIVER={mysql odbc 3.51 driver};SERVER=" & SQLHost & ";DATABASE=" & SQLDatabase & ";UID=" & SQLUser & ";PWD=" & SQLPass & "; OPTION=3"
Conn.CursorLocation = adUseServer
Data = "select * from " & prefix & "threads order by threadid desc limit 1"
RS.Open Data, Conn, adOpenForwardOnly, adLockReadOnly
Do while NOT RS.EOF
ThreadID = CStr(RS.Fields("threadid"))
If ThreadID <> LastThreadID Then
LastThreadID = ThreadID
Boardid = CStr(RS.Fields("boardid"))
RS2.CursorLocation = adUseClient
RS2.Open "select title from " & Prefix & "boards where boardid=""" & boardid & """ And invisible != 1", Conn, adOpenForwardOnly, adLockReadOnly
If RS2.RecordCount > 0 Then
Do While Not RS2.EOF
BoardID = RS2.Fields("title")
RS2.MoveNext
Loop
Else
BoardID = vbNullString
End If
RS2.Close
If BoardID <> vbNullString Then
Autor = CStr(RS.Fields("starter"))
Topic = CStr(RS.Fields("topic"))
ThreadID = CStr(RS.Fields("threadid"))
Sendline "PRIVMSG " & MyChan & " :Neuer Beitrag von " & Autor & " im Forum: " & BoardID, 3
Sendline "PRIVMSG " & MyChan & " :Thema: " & Topic, 3
Sendline "PRIVMSG " & MyChan & " :URL: http://" & MyURL & "/thread.php?threadid=" & ThreadID, 3
End If
End If
RS.MoveNext
Loop
RS.Close
Conn.Close
TimedCommand "CheckPostings", 5
End Sub
Viel Spass damit
MfG
Phantom
Big THX Phanti :D
aber dieses .policysetup gibts bei mir net :/
naja das übliche halt wenn er nen befehl net findet :/
mf sts
p.s ich teste mal obs auch so geht :D
//edit
hatte noch alte version druff die br13 ab 14 gibts das :D
also wenn ich das script lade kommen folgende meldungen:
Code:
(14:13:39) (SN][Spike) .+script wbb
(14:13:39) (SN][Bot) *** Scripting error in 'wbb.asc':
(14:13:40) (SN][Bot) Error : 3716 (Die Sicherheitseinstellungen dieses Computers lassen den Zugriff auf eine Datenquelle in einer anderen Domäne nicht zu.)
(14:13:40) (SN][Bot) Excerpt : Conn.Open "DRIVER={mysql odbc 3.51 driver};SERVER=" & SQLHost & ";DATABASE=" & SQLDatabase & ";UID=" & SQLUser & ";PWD=" & SQLPass & "; OPTION=3"
(14:13:40) (SN][Bot) Position: Line 43, Column 2
(14:13:40) (SN][Bot) Command : Init
(14:13:40) (SN][Bot) *** End of error message
(14:13:40) (SN][Bot) *** Loaded script: wbb.asc
so ein script habe ich schon immer gesucht geht das auch für mein forum
http://www.gamers-arena.de
kann da mal wer schauen bitte !!!
wär echt klasse
Habe das gleiche Problem wie SpikeNet :(
Code:
Error : 3716 (Die Sicherheitseinstellungen dieses Computers lassen den Zugriff auf eine Datenquelle in einer anderen Domäne nicht zu.)
Position: Line 43, Column 2
Excerpt : Conn.Open "DRIVER={mysql odbc 3.51 driver};SERVER=" & SQLHost & ";DATABASE=" & SQLDatabase & ";UID=" & SQLUser & ";PWD=" & SQLPass & "; OPTION=3"
Command : Init
Ich werde noch weiter probieren... vielleicht bekomme ich es ja noch hin aber erstma is Fitnessstudio angesagt :D
ciaoi sts
Suche_Tonspur schrieb:Habe das gleiche Problem wie SpikeNet :(
Code:
Error : 3716 (Die Sicherheitseinstellungen dieses Computers lassen den Zugriff auf eine Datenquelle in einer anderen Domäne nicht zu.)
Position: Line 43, Column 2
Excerpt : Conn.Open "DRIVER={mysql odbc 3.51 driver};SERVER=" & SQLHost & ";DATABASE=" & SQLDatabase & ";UID=" & SQLUser & ";PWD=" & SQLPass & "; OPTION=3"
Command : Init
Ich werde noch weiter probieren... vielleicht bekomme ich es ja noch hin aber erstma is Fitnessstudio angesagt :D
ciaoi sts
und bei mir
(18:14:41) (gA`-|`-jOkKeR) .+script forum.asc
(18:14:42) (testbothhrh) *** Error while executing script 'forum.asc':
(18:14:42) (testbothhrh) Error : 0 ()
(18:14:42) (testbothhrh) Command : Init
(18:14:42) (testbothhrh) *** End of error message
(18:14:42) (testbothhrh) *** Loaded script: forum.asc
Phantom schrieb:1. Bot beenden
2. AnGeL.ini im Editor oeffnen
Unter der Sektion [Others] Trag bitte folgende Zeile mit ein:
AllowCreateObject=true
3. Bot starten
4. Auf der Partyline ".policysetup" eingeben und dort nach dem Eintrag "DataBase" schauen. Wenn dieser auf "No" steht, bitte auf "Yes" stellen.
5. Script laden
Leider etwas anders:
"AllowCreateObject=yes" muss die Zeile heißen (das "yes"
muss kleingeschrieben sein)
Weiterhin im PolicySetup "4) CreateObject" auf YES stellen, den Bot einmal neustarten und dann das Script laden.
Sollte ein Error 0 auftreten so ist es wahrscheinlich, dass die Benutzer/Passwort Kombination falsch war oder der Server keine mySQL Verbindungen von außerhalb entgegen nimmt.
Wer Administrator (root) Rechte auf seiner mySQL Datenbank hat kann in der Benutzertabelle einen Benutzer mit dem Host * hinzufügen, dann sollten auch Verbindungen von außen möglich sein.