#python #python-3.x #discord.py #discord.py-rewrite
#python #python-3.x #discord.py
Вопрос:
Итак, это мой код, который у меня есть в моем discord-перезаписать шестеренку, я прочитал код как cog_check
с Github, но, похоже, я не могу понять, как его использовать.
@commands.command()
async def mee(msg):
await msg.send("ME")
Было бы неплохо привести пример использования функции или объяснение к ней.
Заранее спасибо!
Ответ №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. Есть ли способ использовать проверку только для одной команды внутри шестеренки, или есть только способ применить ко всем командам внутри шестеренки?
2. Вы можете применить проверку к отдельной команде обычным образом, используя синтаксис декоратора.
3. Я все еще немного запутался в этом, не могли бы вы, пожалуйста, показать мне пример, отредактировав свой ответ? Это бы очень помогло.!
Ответ №2:
Нашел ответ на discord.py документация
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!')