コード例 #1
0
ファイル: irc.py プロジェクト: mbrukman/errbot
    def topic(self, topic):
        """
        Set the room's topic.

        :param topic:
            The topic to set.
        """
        if not self.joined:
            raise RoomNotJoinedError("Must join the room to set the topic")
        self.connection.topic(self.room, topic)
コード例 #2
0
ファイル: irc.py プロジェクト: mbrukman/errbot
    def topic(self):
        """
        The room topic.

        :getter:
            Returns the topic (a string) if one is set, `None` if no
            topic has been set at all.
        """
        if not self.joined:
            raise RoomNotJoinedError("Must join the room to get the topic")
        with self._topic_lock:
            return self._topic
コード例 #3
0
ファイル: xmpp.py プロジェクト: smagill/errbot
    def topic(self):
        """
        The room topic.

        :getter:
            Returns the topic (a string) if one is set, `None` if no
            topic has been set at all.
        :raises:
            :class:`~RoomNotJoinedError` if the room has not yet been joined.
        """
        if not self.joined:
            raise RoomNotJoinedError("Must be in a room in order to see the topic.")
        try:
            return self._bot._room_topics[str(self)]
        except KeyError:
            return None
コード例 #4
0
ファイル: irc.py プロジェクト: preoctopus/err
    def occupants(self):
        """
        The room's occupants.

        :getter:
            Returns a list of occupants.
            :raises:
            :class:`~MUCNotJoinedError` if the room has not yet been joined.
        """
        occupants = []
        try:
            for nick in self._bot.conn.channels[self.room].users():
                occupants.append(IRCMUCOccupant(nick=nick, room=self.room))
        except KeyError:
            raise RoomNotJoinedError("Must be in a room in order to see occupants.")
        return occupants
コード例 #5
0
ファイル: irc.py プロジェクト: charlesrg/err
    def occupants(self):
        """
        The room's occupants.

        :getter:
            Returns a list of :class:`~errbot.backends.base.MUCOccupant` instances.
        :raises:
            :class:`~MUCNotJoinedError` if the room has not yet been joined.
        """
        occupants = []
        try:
            for nick in holder.bot.conn.channels[str(self)].users():
                occupants.append(MUCOccupant(node=nick))
        except KeyError:
            raise RoomNotJoinedError("Must be in a room in order to see occupants.")
        return occupants
コード例 #6
0
ファイル: xmpp.py プロジェクト: smagill/errbot
    def occupants(self):
        """
        The room's occupants.

        :getter:
            Returns a list of :class:`~errbot.backends.base.MUCOccupant` instances.
        :raises:
            :class:`~MUCNotJoinedError` if the room has not yet been joined.
        """
        occupants = []
        try:
            for occupant in self.xep0045.rooms[str(self)].values():
                room_node, room_domain, _ = split_identifier(occupant["room"])
                nick = occupant["nick"]
                occupants.append(XMPPRoomOccupant(room_node, room_domain, nick, self))
        except KeyError:
            raise RoomNotJoinedError("Must be in a room in order to see occupants.")
        return occupants
コード例 #7
0
ファイル: xmpp.py プロジェクト: Cloudxtreme/err
    def occupants(self):
        """
        The room's occupants.

        :getter:
            Returns a list of :class:`~errbot.backends.base.MUCOccupant` instances.
        :raises:
            :class:`~MUCNotJoinedError` if the room has not yet been joined.
        """
        occupants = []
        try:
            for occupant in self.xep0045.rooms[str(self)].values():
                occupant = occupant.copy()
                for attr in ("node", "domain", "resource"):
                    occupant.pop(attr, None)
                occupants.append(XMPPMUCOccupant(jid=str(occupant.pop("jid")), **occupant))
        except KeyError:
            raise RoomNotJoinedError("Must be in a room in order to see occupants.")
        return occupants
コード例 #8
0
    def occupants(self):
        """
        The room's occupants.

        :getter:
            Returns a list of :class:`~errbot.backends.base.MUCOccupant` instances.
        :raises:
            :class:`~MUCNotJoinedError` if the room has not yet been joined.
        """
        occupants = []
        try:
            for occupant in self.xep0045.rooms[str(self)].values():
                occupants.append(
                    XMPPMUCOccupant(occupant.node, occupant.domain,
                                    occupant.resource))
        except KeyError:
            raise RoomNotJoinedError(
                "Must be in a room in order to see occupants.")
        return occupants
コード例 #9
0
    def occupants(self):
        """
        The room's occupants.

        :getter:
            Returns a list of :class:`~errbot.backends.base.MUCOccupant` instances.
        :raises:
            :class:`~MUCNotJoinedError` if the room has not yet been joined.
        """
        occupants = []
        try:
            for occupant in self.xep0045.rooms[str(self)].values():
                room = self._bot.build_identifier(occupant['room'])
                nick = occupant['nick']
                log.debug("room %s" % room)
                log.debug("nick %s" % nick)

                occupants.append(XMPPMUCOccupant(room.node, room.domain, nick))
        except KeyError:
            raise RoomNotJoinedError(
                "Must be in a room in order to see occupants.")
        return occupants