在checkord-rewrite cog中使用check

时间:2019-03-06 02:34:42

标签: python python-3.x discord.py discord.py-rewrite

这是我的乱序重写齿轮中的代码,我从Github中读取了cog_check的代码,但是似乎无法弄清楚如何使用它

@commands.command()
async def mee(msg):
    await msg.send("ME")

一个函数用法的示例或对其的解释将是不错的。 预先感谢!

2 个答案:

答案 0 :(得分:1)

它是基于名称定义的。您需要提供一个cog_check协程以覆盖从Cog继承的协程

from discord.ext.commands import Cog, command

class MyCog(Cog):
    def __init__(self, bot):
        self.bot = bot
    async def cog_check(self, ctx):
        return True  # Whatever check you want to do
    @command()
    async def mee(self, ctx):
        await ctx.send("ME")

答案 1 :(得分:0)

在discord.py documentation

找到了答案。
def is_me():
    def predicate(ctx):
        return ctx.message.author.id == 85309593344815104
    return commands.check(predicate)

@bot.command()
@is_me()
async def only_me(ctx):
    await ctx.send('Only you!')