plugin XEP-0045, plugin text commands: added '/title' command
This commit is contained in:
parent
920931ce8b
commit
902045e174
2 changed files with 27 additions and 1 deletions
|
|
@ -127,3 +127,19 @@ class TextCommands():
|
|||
"""just a synonym of /leave"""
|
||||
return self.cmd_leave(mess_data, profile)
|
||||
|
||||
def cmd_title(self, mess_data, profile):
|
||||
debug("Catched title command")
|
||||
|
||||
if mess_data['type'] != "groupchat":
|
||||
#/leave command does nothing if we are not on a group chat
|
||||
info("Ignoring /title command on a non groupchat message")
|
||||
return True
|
||||
|
||||
subject = mess_data["unparsed"].strip()
|
||||
|
||||
if subject:
|
||||
room = mess_data["to"]
|
||||
self.host.plugins["XEP-0045"].subject(room, subject, profile)
|
||||
|
||||
return False
|
||||
|
||||
|
|
|
|||
|
|
@ -190,6 +190,14 @@ class XEP_0045():
|
|||
raise UnknownRoom("This room has not been joined")
|
||||
return self.clients[profile].leave(room_jid)
|
||||
|
||||
def subject(self, room_jid, subject, profile_key):
|
||||
profile = self.host.memory.getProfileName(profile_key)
|
||||
if not self.__check_profile(profile):
|
||||
raise exceptions.UnknownProfileError("Unknown or disconnected profile")
|
||||
if not self.clients[profile].joined_rooms.has_key(room_jid.userhost()):
|
||||
raise UnknownRoom("This room has not been joined")
|
||||
return self.clients[profile].subject(room_jid, subject)
|
||||
|
||||
def mucNick(self, room_jid_s, nick, profile_key='@DEFAULT@'):
|
||||
"""Change nickname in a room"""
|
||||
return self.nick(jid.JID(room_jid_s), nick, profile_key)
|
||||
|
|
@ -216,6 +224,9 @@ class SatMUCClient (muc.MUCClient):
|
|||
self.__changing_nicks = set() # used to keep trace of who is changing nick,
|
||||
# and to discard userJoinedRoom signal in this case
|
||||
print "init SatMUCClient OK"
|
||||
|
||||
def subject(self, room, subject):
|
||||
return muc.MUCClientProtocol.subject(self, room, subject)
|
||||
|
||||
def unavailableReceived(self, presence):
|
||||
#XXX: we override this method to manage nickname change
|
||||
|
|
@ -279,7 +290,6 @@ class SatMUCClient (muc.MUCClient):
|
|||
self.rec_subjects[room.roomJID.userhost()] = (room.roomJID.userhost(), subject)
|
||||
self.host.bridge.roomNewSubject(room.roomJID.userhost(), subject, self.parent.profile)
|
||||
|
||||
|
||||
#def connectionInitialized(self):
|
||||
#pass
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue