Seite 1 von 2

Hilfe?: Automatisiertes hinzufügen von Beiträgen

Verfasst: 02.07.2012 12:43
von truh
Hallo phpBB Community

Ich Arbeite und Programmiere jetzt schon etwas länger dran hab auch vieles gegoogelt. Ich komme aber einfach nicht weiter.
Ich Arbeite an einer Möglichkeit Youtube Videos eines beliebigen Channels nach erscheinen automatisch in einen neuen Thread zu packen.
Um den Thread ab zu schicken hab ich schon unterschiedliche Ansätze probiert.

Mein erster Ansatz war es mit der Python Library Mechanize ein Programm zu schreiben welches sich einloggt, den Thread postet und sich wieder ausloggt.
Das ein und ausloggen funktioniert inzwischen auch Problemlos, das Abschicken des Threads nicht. Ich bin aber wirklich der Meinung das Mechanize auch das Formular zum abschicken des Thread richtig ausfüllt.
Der Hauptteil des Programms sieht folgendermaßen aus:
https://www.phpbb.de/support/pastebin.p ... iew&s=1096


config.py enthält im wesentlichen nur Adresse unter der mein Forum erreichbar ist, meinen Benutzernamen und mein Passwort und eine Variable debug mit welcher man einstellen kann wie viel Output das Script geben soll.

Da das erstellen des Posts nicht geklappt hat hab ich weiter gegoogelt und diese Fertiglösung gefunden:
http://downgoat.net/2012/02/21/pyforum-first-release/
Hab mir halt das Zip Paket runtergeladen entpackt und den examplecode angepasst. Wieder ein ähnliches Problem, ich kann mich einloggen aber Posten funktioniert nicht.

Dann hab ich mir gedacht das phpbb vielleicht einen Schutzmechanismus gegen solche Scripts hat (wie auch immer es diese Scripte erkenne kann..)
Also hab ich mir diesen Code geholt der Direkt auf die API von phpbb zugreift. http://www.sbani.net/2010/itweb/web-dev ... ellen.html
Ich bin nicht besonders gut in PHP aber ich hab auch nicht viel an dem Code verändert. Ich hab nur dafür gesorgt das er

Code: Alles auswählen

$subject = 'This Subject';
$username = 'username';
$password = 'password';
$message = 'This is a message';
$forum = 2;
aus einen Post Request entgegen nimmt. Sieht jetzt also so aus

Code: Alles auswählen

$subject = $_POST['subject'];
$username = $_POST['username'];
$password = $_POST['password'];
$message = $_POST['message'];
$forum = $_POST['forumid'];
Dazu hab ich mir ein Python Programm gemacht welches einen entsprechenden Postrequest stellt. Der Request ist auch richtig, das PHP Script liefert mir die Antwort 'Thread added succesfully' zurück , bei einen fehlerhaften oder nicht kompletten Request tut es das nicht.
Ich bekomme damit aber immer noch keinen Thread erstellt.
Ich hab auch schon ausprobiert ob der User mit dem ich Posten will überhaupt Schreibrecht im entsprechenden Forum hat, ja hat er. Ich hab versucht in andere Foren zu schreiben. Ich hab andere Designs aktiviert. Nichts hat funktionirt.

Könnt ihr mir Helfen?

mfg Jakob

Re: Hilfe?: Automatisiertes hinzufügen von Beiträgen

Verfasst: 02.07.2012 13:15
von Pyramide
Hast du dir mal die komplette HTML-Ausgabe der Seite, die du nach dem Abschicken des Posting-Formulares bekommst, ausgeben lassen? Dort sollte man eigentlich die Fehlermeldung herauslesen können, da dem normalen Benutzer ja auch Fehlermeldungen angezeigt werden.

Ansonsten wäre mein Ansatz gewesen, mit der Vorlage für in phpBB3 eingebundene Seiten und der Funktion submit_post() eine minimale Seite aufzubauen, die dann als einzigen Parameter nur noch den aktuellen Beitragstext sowie ein langes Passwort oder IP-Prüfung (zum Schutz, damit kein normaler Benutzer das Script aufrufen kann) entgegennimmt und den Beitrag als hartkodierter Benutzer ins entsprechende Forum postet. Damit wäre die Schnittstelle zwischen Python und PHP wesentlich einfacher und weniger Fehleranfällig.

Re: Hilfe?: Automatisiertes hinzufügen von Beiträgen

Verfasst: 02.07.2012 14:10
von truh
Beim erster Code komm ich nach dem absenden des Codes auf die Seite viewforum.php?f=’forumid’

Jetzt wo ich nochmal manuel einen Beitrag erstellt hab sind plötzlich ein Haufen Testtopics erstellt worden, ich schau mal von welchen der Scripte die kommen.
edit:
Sieht so aus als würde das 3. Script beiträge als Gast erstellen welche es freigegeben werden müssen.

Werd mal versuchen was du vorschlägst

Re: Hilfe?: Automatisiertes hinzufügen von Beiträgen

Verfasst: 02.07.2012 15:27
von Pyramide
truh hat geschrieben:welche es freigegeben werden müssen
Hier ein Tipp zum Ändern des Benutzers und der Rechte bei Nutzung von submit_post(): viewtopic.php?p=1273602#p1273602

Re: Hilfe?: Automatisiertes hinzufügen von Beiträgen

Verfasst: 02.07.2012 16:35
von truh
Was ist mit ' WHERE user_id = 12345'
muss ich da wirklich 12345 lassen?

Re: Hilfe?: Automatisiertes hinzufügen von Beiträgen

Verfasst: 02.07.2012 18:52
von Gast230305
12345 gegen die ID des Nutzers ersetzen von dem dann der Beitrag sein soll (falls das so richtig ist bitte korrigieren sollte ich falsch liegen).

Re: Hilfe?: Automatisiertes hinzufügen von Beiträgen

Verfasst: 02.07.2012 18:54
von truh
Soweit hab ich mir das schon zusammen gereimt, aber was ist der Wert des Nutzers. Muss ich den wirklich aus der Datenbank auslesen oder sieht man den auch woanders.

Re: Hilfe?: Automatisiertes hinzufügen von Beiträgen

Verfasst: 02.07.2012 18:57
von Gast230305
Eigentlich nur aus der Datenbank,
was anderes fällt mir nicht ein.

(sollte ich falsch liegen bitte wieder korrigieren ;) )

Re: Hilfe?: Automatisiertes hinzufügen von Beiträgen

Verfasst: 02.07.2012 19:00
von WileCoyote
Fährt man z.B. in der Themen-Ansicht mit der Maus über den Benutzernamen, ist die ID in der angezeigten URL ersichtlich. Ganz ohne in die DB Einblick nehmen zu müssen.

Re: Hilfe?: Automatisiertes hinzufügen von Beiträgen

Verfasst: 02.07.2012 19:02
von hackepeter13
Die ID eines Mitglieds sieht man nicht nur in der Datenbank, sondern auch in der URL wenn du ein Profil aufrufst (somit auch die Benutzernamen-Links in der Memberlist und in Beiträgen), oder auch ein Profil im ACP bearbeitest. :wink: