how to load a all cogs automatically discord.py code example
Example 1: how to make a cog discord.py
from discord.ext import commands
class Test_Cog(commands.Cog):
def __init__(self, bot):
self.bot = bot # defining bot as global var in class
@commands.Cog.listener() # this is a decorator for events/listeners
async def on_ready(self):
print('Bot is ready!.')
@commands.command() # this is for making a command
async def ping(self, ctx):
await ctx.send(f'Pong! {round(self.bot.latency * 1000)}')
def setup(bot): # a extension must have a setup function
bot.add_cog(Test_Cog(bot)) # adding a cog
Example 2: how to load a all cogs automatically discord.py
# bot file
import os
from discord.ext import commands
bot = commands.Bot(command_prefix='.')
# I am assuming that you have a test.py cog in a cogs folder
bot.load_extension('cogs.test') # this is good but you can make it better
for filename in os.listdir('./cogs'):
if filename.endswith('.py'):
bot.load_extension(f'cogs.{filename[:-3]}')
else:
print(f'Unable to load {filename[:-3]}')
bot.run(token)
Example 3: get cogs discord.py
ListOfCogs = client.cogs # this is a dictionary!
print(len(ListOfCogs))
for NameOfCog,TheClassOfCog in ListOfCogs.items(): # we can loop trough it!
print(NameOfCog)