discord.py仅运行某些齿轮

时间:2020-03-23 20:58:27

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

我正在为我的不和谐机器人编程,当您将DM发送到该机器人时,我希望设置一个不同的命令。我有一个DM齿轮和一个CHANNELS齿轮。在我的event.on_message中,我的代码是:

if message.channel.id in _allowed_channels:
    await bot.process_commands(message)

有什么方法可以做这样的事情:

if message.guild == None: # Direct messages
    await DM.process_commands(message)
else:
    await CHANNELS.process_commands(message)

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

我知道了! discord.ext.commands有一个检查:

from discord.ext import commands
#Code...
@bot.command()
@commands.dm_only() #The Check
async def _cmd(self, ctx):
    #Code...

您甚至可以使用cog_check:

class MyCog(commands.Cog):
    #Code...
    async def cog_check(ctx):
        return True
    #Code...