code: def get_nodes(self, jid, node=None):
          
  
          response = yield from self._disco.query_items(
              jid,
              node=node,
          )
  
          result = []
          for item in response.items:
              if item.jid != jid:
                  continue
              result.append((
                  item.node,
                  item.name,
              ))
  
          return result
docs: Request all nodes at a service or collection node.
  
          :param jid: Address of the PubSub service.
          :type jid: :class:`aioxmpp.JID`
          :param node: Name of the collection node to query
          :type node: :class:`str` or :data:`None`
          :raises aioxmpp.errors.XMPPError: as returned by the service
          :return: The list of nodes at the service or collection node.
          :rtype: :class:`~collections.abc.Sequence` of tuples consisting of the
              node name and its description.
  
          Request the nodes available at `jid`. If `node` is not :data:`None`,
          the request returns the children of the :xep:`248` collection node
          `node`. Make sure to check for the appropriate server feature first.
  
          Return a list of tuples consisting of the node names and their
          description (if available, otherwise :data:`None`). If more information
          is needed, use :meth:`.DiscoClient.get_items` directly.
  
          Only nodes whose :attr:`~.disco.xso.Item.jid` match the `jid` are
          returned.