首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >其他文件中的异步事件

其他文件中的异步事件
EN

Stack Overflow用户
提问于 2018-11-15 16:05:25
回答 1查看 1.8K关注 0票数 0

我正在使用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)

EN

Stack Overflow用户

回答已采纳

发布于 2018-11-15 16:26:46

您需要在创建discord.py客户端的文件中加载扩展名。见下面的例子。

bot.py

代码语言:javascript
复制
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

代码语言:javascript
复制
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))
票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53323416

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档