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.
kromonos
User
Beiträge: 34
Registriert: Freitag 9. Januar 2009, 02:37
Wohnort: Trier
Kontaktdaten:

IRC Formatierungen aus den strings entfernen

Beitragvon kromonos » Donnerstag 22. Januar 2009, 21:24

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
Moderator
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Beitragvon cofi » Donnerstag 22. Januar 2009, 21:44

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: 2405
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Re: IRC Formatierungen aus den strings entfernen

Beitragvon DasIch » Donnerstag 22. Januar 2009, 21:45

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:

Re: IRC Formatierungen aus den strings entfernen

Beitragvon kromonos » Donnerstag 22. Januar 2009, 21:49

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
Moderator
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Beitragvon cofi » Donnerstag 22. Januar 2009, 21:56

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:

Beitragvon kromonos » Donnerstag 22. Januar 2009, 22:02

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
Moderator
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Beitragvon cofi » Donnerstag 22. Januar 2009, 22:25

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:

Beitragvon kromonos » Samstag 24. Januar 2009, 09:09

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
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Samstag 24. Januar 2009, 13:05

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:

Beitragvon kromonos » Samstag 24. Januar 2009, 13:48

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
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Samstag 24. Januar 2009, 14:08

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

Beitragvon Darii » Samstag 24. Januar 2009, 14:47

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

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder