IRC Formatierungen aus den strings entfernen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
kromonos
User
Beiträge: 34
Registriert: Freitag 9. Januar 2009, 02:37
Wohnort: Trier
Kontaktdaten:

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?
xmpp:kromonos@user-helfen-usern.de
HomePage/IT-Forum: http://www.user-helfen-usern.de
Benutzeravatar
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:

Code: Alles auswählen

In [3]: "Kill the iiiiiiiiiii!".replace("i", "")
Out[3]: 'Kll the !'
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 ;)
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

kromonos hat geschrieben:Sobald jemand im IRC einen Formatierten Text, wie farbe, benutzt, schmeißt es gleich den kompletten Bot raus ..
Du hast nicht zufällig eine etwas detailliertere Fehlerbeschreibung?
kromonos
User
Beiträge: 34
Registriert: Freitag 9. Januar 2009, 02:37
Wohnort: Trier
Kontaktdaten:

DasIch hat geschrieben:
kromonos hat geschrieben:Sobald jemand im IRC einen Formatierten Text, wie farbe, benutzt, schmeißt es gleich den kompletten Bot raus ..
Du hast nicht zufällig eine etwas detailliertere Fehlerbeschreibung?
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
Mehr spuckt der Bot auch im debug mode leider nicht aus :/
xmpp:kromonos@user-helfen-usern.de
HomePage/IT-Forum: http://www.user-helfen-usern.de
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Dann schau am besten mal in die angegebene Zeile und finde raus warum der ValueError geraised wird. Wobei du auch am Sympton rumdoktern kannst (siehe mein Post).
kromonos
User
Beiträge: 34
Registriert: Freitag 9. Januar 2009, 02:37
Wohnort: Trier
Kontaktdaten:

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 -.-
xmpp:kromonos@user-helfen-usern.de
HomePage/IT-Forum: http://www.user-helfen-usern.de
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Dann fang entweder die Exception ab oder entferne die Hex-Farbcodes über RegExp.
kromonos
User
Beiträge: 34
Registriert: Freitag 9. Januar 2009, 02:37
Wohnort: Trier
Kontaktdaten:

Und wie mach ich das mit der RegExp? ..

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
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

kromonos hat geschrieben:Und wie mach ich das mit der RegExp? ..
Wie sehen denn die Farbcodes aus?
kromonos hat geschrieben:Es sind ja auch nicht nur Farbcodes, sondern auch für unterstrichen, fettdruck und kursiv ..
Die laufen afair auch über so Codes.
kromonos
User
Beiträge: 34
Registriert: Freitag 9. Januar 2009, 02:37
Wohnort: Trier
Kontaktdaten:

Leonidas hat geschrieben:
kromonos hat geschrieben:Und wie mach ich das mit der RegExp? ..
Wie sehen denn die Farbcodes aus?
Wenn ich das nur wüßte -.-
xmpp:kromonos@user-helfen-usern.de
HomePage/IT-Forum: http://www.user-helfen-usern.de
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

kromonos hat geschrieben:Wenn ich das nur wüßte -.-
Lies sie doch einfach vom socket aus, ggf. schreiben IRC-Clients sie auch unverändert in Logdateien.
Darii
User
Beiträge: 1177
Registriert: Donnerstag 29. November 2007, 17:02

http://www.mirc.com/help/color.txt , wobei ^C "\x03" ist.
Antworten