""" SleekXMPP: The Sleek XMPP Library Copyright (C) 2010 Nathanael C. Fritz This file is part of SleekXMPP. See the file license.txt for copying permission. """ from .. xmlstream.stanzabase import StanzaBase from . rootstanza import RootStanza class Message(RootStanza): interfaces = set(('type', 'to', 'from', 'id', 'body', 'subject', 'mucroom', 'mucnick')) types = set((None, 'normal', 'chat', 'headline', 'error', 'groupchat')) sub_interfaces = set(('body', 'subject')) name = 'message' plugin_attrib = name namespace = 'jabber:client' def getType(self): return self.xml.attrib.get('type', 'normal') def chat(self): self['type'] = 'chat' return self def normal(self): self['type'] = 'normal' return self def reply(self, body=None): StanzaBase.reply(self) if self['type'] == 'groupchat': self['to'] = self['to'].bare del self['id'] if body is not None: self['body'] = body return self def getMucroom(self): if self['type'] == 'groupchat': return self['from'].bare else: return '' def setMucroom(self, value): pass def delMucroom(self): pass def getMucnick(self): if self['type'] == 'groupchat': return self['from'].resource else: return '' def setMucnick(self, value): pass def delMucnick(self): pass