AnGelBot-Portal²

Normale Version: News von eigenenem Board
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3 4 5
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 Wink

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 Wink
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.
Seiten: 1 2 3 4 5
Referenz-URLs