【问题标题】:Trying to add different cooldowns for the same command (discord.py)尝试为同一命令添加不同的冷却时间 (discord.py)
【发布时间】:2020-08-22 20:37:22
【问题描述】:
@client.command(aliases = ['Missao', 'missão', 'missao', 'm'])
async def mission(ctx, rank = None):
    if f'{ctx.channel.id}' == '745647726804336702':
        if rank == None:
            await ctx.send('Voce nao especificou o rank da missao!')
        elif rank == 'E' or rank == 'e':
            responses = ['Salve o gato na arvore!', 
            'Limpe a rua, esta cheia de lixo.', 
            'Um bando de delinquentes pixou o muro da praca, por favor limpe-os.', 
            'Outono chegou, as folhas estao caindo, poderia recolher algumas por favor.']
            missionEmbed = discord.Embed(
                title = "Missao Rank E",
                description = f'{random.choice(responses)}',
                colour = discord.Colour.green()
            )
            missionEmbed.add_field(name = 'Recompensa', value = '1.000 - 5.000 :moneybag:\n 1 - 10 **SP**', inline = True)
            missionEmbed.add_field(name = 'Linhas', value = '30', inline = True)
            missionEmbed.set_author(name = f'Missao de {ctx.message.author.nick}', icon_url = ctx.message.author.avatar_url)
            await ctx.channel.send(embed = missionEmbed)
        elif rank == 'D' or rank == 'd':
            responses = ['Um bandido esta assaltando o restaurante!', 
            '2 garotos estao brigando do lado da escola, pare-os.']
            missionEmbed = discord.Embed(
                title = "Missao Rank D",
                description = f'{random.choice(responses)}',
                colour = discord.Colour.blue()
            )
            missionEmbed.add_field(name = 'Recompensa', value = '6.000 - 10.000 :moneybag:\n 11 - 25 **SP**', inline = True)
            missionEmbed.add_field(name = 'Linhas', value = '60', inline = True)
            await ctx.channel.send(embed = missionEmbed)
        else:
            await ctx.send('Os ranks sao E/D!')

因此,如果您使用命令“>任务”,您可以为任务选择等级(e 或 d),我希望他们每个人都有自己的冷却时间,而不是实际任务的冷却时间命令

【问题讨论】:

  • 据我所知,根据条件说角色将受到全局检查的冷却。考虑调查这些。

标签: python discord.py


【解决方案1】:

我认为你可以做到这一点的唯一方法是将任务命令分成多个不同的命令并使用@command.cooldown

但是,如果您真的不想这样做,您可以创建一个检查冷却时间的函数,然后将其调用到任务命令中。只是一个建议。尝试与时间有关的模块。

【讨论】:

  • 是的,我找不到方法,所以我只是为每个任务创建了差异命令,感谢您的帮助!
  • 没问题,很高兴我能帮上忙 :)
猜你喜欢
  • 1970-01-01
  • 2021-04-21
  • 2021-03-11
  • 2021-10-15
  • 1970-01-01
  • 2022-08-02
  • 2021-04-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多