main.py:
импортировать Discord
из команд импорта discord.ext
Код: Выделить всё
import os
intents = discord.Intents.all()
client = commands.Bot(command_prefix="!", intents=intents)
@client.event
async def setup_hook():
for filename in os.listdir('./Cogs'):
if filename.endswith('.py'):
await client.load_extension(f'Cogs.{filename[:-3]}')
print(f"Loaded Cog: {filename[:-3]}")
else:
print(f"Skipped loading Cog. ({filename[:-3]})")
Код: Выделить всё
import discord
from discord.ext import commands
class Hello(commands.Cog):
def __init__(self, client):
self.client = client
@commands.command()
async def hello(self, ctx):
await ctx.send("Hello There!")
@commands.Cog.listener()
async def on_ready(self):
print(f"We're live! Logged in as {self.client.user.name}")
async def setup(client):
await client.add_cog(Hello(client))
Код: Выделить всё
PS C:\Users\Angel\Desktop\python projects\Discord bot test> & C:/Users/Angel/AppData/Local/Programs/Python/Python312/python.exe "c:/Users/Angel/Desktop/python projects/Discord bot test/main.py"
2024-06-24 14:01:20 INFO discord.client logging in using static token
Traceback (most recent call last):
File "C:\Users\Angel\AppData\Local\Programs\Python\Python312\Lib\site-packages\discord\ext\commands\bot.py", line 957, in _load_from_module_spec
setup = getattr(lib, 'setup')
^^^^^^^^^^^^^^^^^^^^^
AttributeError: module 'Cogs.Hello' has no attribute 'setup'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "c:\Users\Angel\Desktop\python projects\Discord bot test\main.py", line 20, in
client.run("Hiden")
File "C:\Users\Angel\AppData\Local\Programs\Python\Python312\Lib\site-packages\discord\client.py", line 869, in run
asyncio.run(runner())
File "C:\Users\Angel\AppData\Local\Programs\Python\Python312\Lib\asyncio\runners.py", line 194, in run
return runner.run(main)
^^^^^^^^^^^^^^^^
File "C:\Users\Angel\AppData\Local\Programs\Python\Python312\Lib\asyncio\runners.py", line 118, in run
return self._loop.run_until_complete(task)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Angel\AppData\Local\Programs\Python\Python312\Lib\asyncio\base_events.py", line 687, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "C:\Users\Angel\AppData\Local\Programs\Python\Python312\Lib\site-packages\discord\client.py", line 858, in runner
await self.start(token, reconnect=reconnect)
File "C:\Users\Angel\AppData\Local\Programs\Python\Python312\Lib\site-packages\discord\client.py", line 786, in start
await self.login(token)
File "C:\Users\Angel\AppData\Local\Programs\Python\Python312\Lib\site-packages\discord\client.py", line 629, in login
await self.setup_hook()
File "c:\Users\Angel\Desktop\python projects\Discord bot test\main.py", line 14, in setup_hook
await client.load_extension(f'Cogs.{filename[:-3]}')
File "C:\Users\Angel\AppData\Local\Programs\Python\Python312\Lib\site-packages\discord\ext\commands\bot.py", line 1029, in load_extension
await self._load_from_module_spec(spec, name)
File "C:\Users\Angel\AppData\Local\Programs\Python\Python312\Lib\site-packages\discord\ext\commands\bot.py", line 960, in _load_from_module_spec
raise errors.NoEntryPointError(key)
discord.ext.commands.errors.NoEntryPointError: Extension 'Cogs.Hello' has no 'setup' function.
Подробнее здесь: https://stackoverflow.com/questions/786 ... p-function