def add_jose_cog(self, cls: 'class'):
"""Add a cog but load its requirements first."""
requires = cls._cog_metadata.get('requires', [])
log.debug('requirements for %s: %r', cls, requires)
for _req in requires:
req = f'ext.{_req}'
if not self.extensions.get(req):
log.debug('loading %r from requirements', req)
self.load_extension(req)
else:
log.debug('%s already loaded', req)
# We instantiate here because
# instantiating on the old add_cog
# is exactly the cause of the problem
cog = cls(self)
super().add_cog(cog)
评论列表
文章目录