问题描述
我编写了一个使用 cogs 的不和谐机器人.这是我在每个扩展程序/cog 中加载的代码:
I wrote a discord bot that uses cogs. Here's my code for loading in each extension/cog:
import discord
import os
from discord.ext import commands
client = commands.Bot(command_prefix= '.')
@client.command()
async def load(ctx, extension):
client.load_extension(f'cogs.{extension}')
@client.command()
async def unload(ctx, extension):
client.unload_extension(f'cogs.{extension}')
@client.command()
async def reload(ctx, extension):
client.unload_extension(f'cogs.{extension}')
client.load_extension(f'cogs.{extension}')
for filename in os.listdir('.Cogs'):
if filename.endswith('.py'):
client.load_extension(f'cogs.{filename[:-3]}')
client.run('token')
我收到以下错误:
Traceback (most recent call last):
File "C:/Users/indap/PycharmProjects/untitled1/venv/Include/Main.py", line 22, in <module>
client.load_extension(f'cogs.{filename[:-3]}')
File "C:UsersindapAppDataLocalProgramsPythonPython38libsite-packagesdiscordextcommandsot.py", line 649, in load_extension
spec = importlib.util.find_spec(name)
File "C:UsersindapAppDataLocalProgramsPythonPython38libimportlibutil.py", line 94, in find_spec
parent = __import__(parent_name, fromlist=['__path__'])
ModuleNotFoundError: No module named 'cogs'
我检查过,文件路径是正确的,我什至尝试使用不同的文件路径,但我仍然得到同样的错误.
I've checked, the file path is correct, and I even tried using different file path but I still get the same error.
推荐答案
看起来可能是区分大小写的问题.在遍历目录的内容时,您已经编写了 .Cogs
作为路径,但在 load_extension()
方法中,您已经编写了 cogs.
.
It looks like it might be a case-sensitive issue. When iterating over the directory's contents, you have written .Cogs
as the path, but in the load_extension()
method, you have written cogs.
.
尝试将其更改为 Cogs.
.要么,要么将目录本身全部重命名为cogs
.
Try changing it to Cogs.
instead. Either that, or rename the directory itself all lower-case to cogs
.
这篇关于ModuleNotFoundError:没有名为“cogs"的模块的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!