Ich hab mir unter http://www.user-helfen-usern.de/index.p ... 179.0.html eine ircBridge für den SleekBot zusammen gebastelt .. Jetzt hab ich nur folgendes Problem:
Sobald jemand im IRC einen Formatierten Text, wie farbe, benutzt, schmeißt es gleich den kompletten Bot raus ..
Wie kann ich nun diese Farbensonderzeichen aus den Strings entfernen, die vom IRC gesendet werden?
IRC Formatierungen aus den strings entfernen
xmpp:kromonos@user-helfen-usern.de
HomePage/IT-Forum: http://www.user-helfen-usern.de
HomePage/IT-Forum: http://www.user-helfen-usern.de
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Wenn du weisst, welche Zeichen das sind, solltest du die leicht entfernen können. Wenn du nicht weisst, wie dann solltest du dir die Stdlib-Doku zu Strings anschaun ... oder das Snippet:
Wenns mehr sein soll wird auch translate interessant. Oder eine Schleife und eine Struktur mit den zu entfernenden Zeichen ... da sind der Phantasie keine Grenzen gesetzt
Code: Alles auswählen
In [3]: "Kill the iiiiiiiiiii!".replace("i", "")
Out[3]: 'Kll the !'
DasIch hat geschrieben:Du hast nicht zufällig eine etwas detailliertere Fehlerbeschreibung?kromonos hat geschrieben:Sobald jemand im IRC einen Formatierten Text, wie farbe, benutzt, schmeißt es gleich den kompletten Bot raus ..
Mehr spuckt der Bot auch im debug mode leider nicht aus :/Traceback (most recent call last):
File "/home/kromonos/svn/sleekbot_testing/sleekxmpp/xmlstream.py", line 522, in _send
self.socket.send(xml)
File "/usr/lib/python2.6/site-packages/tlslite/TLSRecordLayer.py", line 375, in send
self.write(s)
File "/usr/lib/python2.6/site-packages/tlslite/TLSRecordLayer.py", line 238, in write
for result in self.writeAsync(s):
File "/usr/lib/python2.6/site-packages/tlslite/TLSRecordLayer.py", line 254, in writeAsync
raise ValueError()
ValueError
xmpp:kromonos@user-helfen-usern.de
HomePage/IT-Forum: http://www.user-helfen-usern.de
HomePage/IT-Forum: http://www.user-helfen-usern.de
Der ValueError erscheint bei der Ausgabe mittels:
self.bot.sendMessage(self.room, message.decode("iso8859-1")[:len(message)-2], mtype='groupchat')
Eine schleife, bei der Anzahl von Farben, die im IRC mittels #ffffff möglich sind, wäre recht .. lahm .. und 5 minuten warten, bis eine nachricht vom irc in den muc transportiert wurde ist auch nicht Sinn und zweck von der sache!! Da hilft mir .replace() auch nicht wirklich weiter -.-
self.bot.sendMessage(self.room, message.decode("iso8859-1")[:len(message)-2], mtype='groupchat')
Eine schleife, bei der Anzahl von Farben, die im IRC mittels #ffffff möglich sind, wäre recht .. lahm .. und 5 minuten warten, bis eine nachricht vom irc in den muc transportiert wurde ist auch nicht Sinn und zweck von der sache!! Da hilft mir .replace() auch nicht wirklich weiter -.-
xmpp:kromonos@user-helfen-usern.de
HomePage/IT-Forum: http://www.user-helfen-usern.de
HomePage/IT-Forum: http://www.user-helfen-usern.de
Und wie mach ich das mit der RegExp? ..
Es sind ja auch nicht nur Farbcodes, sondern auch für unterstrichen, fettdruck und kursiv ..
Es sind ja auch nicht nur Farbcodes, sondern auch für unterstrichen, fettdruck und kursiv ..
xmpp:kromonos@user-helfen-usern.de
HomePage/IT-Forum: http://www.user-helfen-usern.de
HomePage/IT-Forum: http://www.user-helfen-usern.de
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Wie sehen denn die Farbcodes aus?kromonos hat geschrieben:Und wie mach ich das mit der RegExp? ..
Die laufen afair auch über so Codes.kromonos hat geschrieben:Es sind ja auch nicht nur Farbcodes, sondern auch für unterstrichen, fettdruck und kursiv ..
Wenn ich das nur wüßte -.-Leonidas hat geschrieben:Wie sehen denn die Farbcodes aus?kromonos hat geschrieben:Und wie mach ich das mit der RegExp? ..
xmpp:kromonos@user-helfen-usern.de
HomePage/IT-Forum: http://www.user-helfen-usern.de
HomePage/IT-Forum: http://www.user-helfen-usern.de
http://www.mirc.com/help/color.txt , wobei ^C "\x03" ist.