Signaturen für phpBB

Code-Stücke können hier veröffentlicht werden.
Antworten
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Hallo Community!

Diesmal gibt es von mir kein fertiges Programm, sondern eine Lib. Für diese tolle Lib habe ich den ganzen Tag gebraucht um sie zum laufen zu bekommen, da phpBB nicht allzu kooperativ ist. Okay, ich schwafel hier etwas, nun was macht diese Lib eigentlich: mit dieser Lib kann man *tommelwirbel* Signaturen in phpBB austauschen. Zu bedienen ist sie sehr einfach, wie ich hoffe.

Die Lib habe ich changesig genannt, sie ist wie immer über das Subversion-Repository verfügbar.

Ein Anwendungsbeispiel:

Code: Alles auswählen

#!/usr/bin/env python
# -*- encoding: latin-1 -*- 
import changesig

user = 'Leonidas'
password = 'neee'
forumurl = 'http://www.python-forum/'

sc = changesig.SignatureChanger(user=user, password=password, forumurl=forumurl)
sc.change('Diese Nachricht wurde automatisch generiert und ist ohne Unterschrift gültig.')
Und schon kann man alles mögliche mit der Signatur machen :twisted:

Später werde ich ein Programm schreiben, dass ein Zufallszitat aus einer Datenbank fischt und dies als Signatur setzt, jedoch habe ich für heute genug von Signaturen. 8)

Have fun!
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Iopodx@Gast

Code: Alles auswählen

import urllib

class ChangeSig:
    def __init__(self, user="", pwd="", url=""):
        self.user = user
        self.pwd  = pwd
        self.url  = url

        self.login()

    def login(self):
        post= {"vb_login_password":self.pwd,
               "s":"",
               "do":"login",
               "vb_login_username":self.user,
               "cookieuser":0}
        p = urllib.urlopen(self.url + "login.php", data=urllib.urlencode(post))
        result = p.read()
        self.sid = result.split("s=")[1][:32]
        p.close()

    def change(self, sig):
        post = {"message":sig,
                "do":"updatesignature",
                "s":self.sid}
        p = urllib.urlopen(self.url + "profile.php", data=urllib.urlencode(post))
        print p.read()
        p.close()
Funktioniert noch bei anderen Boards, da deine Version nicht bei meinem Favoriten Board funktionierte!

Code: Alles auswählen

cs = ChangeSig("Iopodx", "", "http://teccentral.de/forum/")
cs.change("----Under Construction----\nCreated with iChangeSigPHPbb by Iopodx\nFunktionierts?")
Bissl einfacher, aber es geht auch ;9
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

:shock: Hmm, werd ich mir mal ansehen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten