def list_endpoints(self, query=None):
bot.info('<STR_LIT>')<EOL>endpoints = self._get_endpoints(query)<EOL>bot.custom(prefix="<STR_LIT>", message="<STR_LIT>", color="<STR_LIT>")<EOL>rows = []<EOL>for kind,eps in endpoints.items():<EOL><INDENT>for epid,epmeta in eps.items():<EOL><INDENT>rows.append([epid, '<STR_LIT>' %kind, epmeta['<STR_LIT:name>']])<EOL><DEDENT><DEDENT>bot.table(rows)<EOL>return rows<EOL>
list all endpoints, providing a list of endpoints to the user to
       better filter the search. This function takes no arguments,
       as the user has not provided an endpoint id or query.