我正在使用discord.py API制造一个不和谐的机器人。在进行了一些编码之后,我意识到我应该保持代码的整洁,并将命令和事件保存在单独的.py文件中。我如何才能继续侦听触发器中的事件或命令,并将其放在单独的文件中?我尝试过用import来实现它,但它只是导入类。示例命令:
@client.command(pass_context=True) async def kick(ctx, *, member: discord.Member = None):     if ctx.message.channel.permissions_for(ctx.message.author).administrator is True:         await client.send_message(member, settings.kick_direct)         await client.kick(member)         await client.say(settings.kick_message + member.mention + settings.kick_message2)     else:         await client.say(settings.permission_error)
发布于 2018-11-15 16:26:46
您需要在创建discord.py客户端的文件中加载扩展名。见下面的例子。
bot.py
from discord.ext import commands
client = commands.Bot(command_prefix='!')
client.load_extension('cog')
@client.event
async def on_ready():
    print('client ready')
@client.command()
async def ping():
    await client.say('Pong')
client.run('TOKEN')cog.py
from discord.ext import commands
class TestCog:
    def __init__(self, bot):
        self.bot = bot
        self.counter = 0
    @commands.command()
    async def add(self):
        self.counter += 1
        await self.bot.say('Counter is now %d' % self.counter)
def setup(bot):
    bot.add_cog(TestCog(bot))https://stackoverflow.com/questions/53323416
复制相似问题