В моем боте у меня есть команда, которая просто распечатывает имена (и более поздние описания) всех загруженных винтиков. Для большинства из них он работает отлично, но, похоже, есть проблема с именем с именем RNG
for c in bot.cogs:
if c is None:
continue
else:
cog_list.append(c)
cog_list = sorted(cog_list)
print(cog_list)
>>> ['General', 'Misc', 'RNG']` # (all loaded cogs, so this is correct)
for cog in cog_list:
cog = bot.get_cog(cog.title())
print(cog)
>>> <general.General object at [...]> # 'General' cog
>>> <misc.Misc object at [...]> # 'Misc' cog
>>> None # 'RNG' cog, but it's not found?
# (expected <rng.RNG object at [...]>)
Просто для того, чтобы показать, что шестерня RNG действительно загружена, это вывод print(bot.cogs)
:
{'General': <general.General object at [...]>, 'Misc': <misc.Misc object at [...]>, 'RNG': <rng.RNG object at [...]>}
Я знаю из документов, что None
возвращается, когда Cog не найден, но, как я ясно вижу, CNG Rog очень загружен, и содержащиеся в нем команды работают нормально .
Теперь мне интересно, может ли это быть имя, но работа с ботом help RNG
также отлично работает.
Есть ли способ заставить get_cog
найти мой модуль ГСЧ