1. <small id='t4jSy'></small><noframes id='t4jSy'>

      <tfoot id='t4jSy'></tfoot>
      <i id='t4jSy'><tr id='t4jSy'><dt id='t4jSy'><q id='t4jSy'><span id='t4jSy'><b id='t4jSy'><form id='t4jSy'><ins id='t4jSy'></ins><ul id='t4jSy'></ul><sub id='t4jSy'></sub></form><legend id='t4jSy'></legend><bdo id='t4jSy'><pre id='t4jSy'><center id='t4jSy'></center></pre></bdo></b><th id='t4jSy'></th></span></q></dt></tr></i><div id='t4jSy'><tfoot id='t4jSy'></tfoot><dl id='t4jSy'><fieldset id='t4jSy'></fieldset></dl></div>
        <bdo id='t4jSy'></bdo><ul id='t4jSy'></ul>
    1. <legend id='t4jSy'><style id='t4jSy'><dir id='t4jSy'><q id='t4jSy'></q></dir></style></legend>
    2. 冷却映射 |不和谐.py

      时间:2023-10-10

        <tfoot id='TIXPG'></tfoot>
          <tbody id='TIXPG'></tbody>
      • <small id='TIXPG'></small><noframes id='TIXPG'>

      • <legend id='TIXPG'><style id='TIXPG'><dir id='TIXPG'><q id='TIXPG'></q></dir></style></legend>
              • <bdo id='TIXPG'></bdo><ul id='TIXPG'></ul>
                <i id='TIXPG'><tr id='TIXPG'><dt id='TIXPG'><q id='TIXPG'><span id='TIXPG'><b id='TIXPG'><form id='TIXPG'><ins id='TIXPG'></ins><ul id='TIXPG'></ul><sub id='TIXPG'></sub></form><legend id='TIXPG'></legend><bdo id='TIXPG'><pre id='TIXPG'><center id='TIXPG'></center></pre></bdo></b><th id='TIXPG'></th></span></q></dt></tr></i><div id='TIXPG'><tfoot id='TIXPG'></tfoot><dl id='TIXPG'><fieldset id='TIXPG'></fieldset></dl></div>
                本文介绍了冷却映射 |不和谐.py的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                问题描述

                我正在使用 on_message 扫描特定关键字的代码,以便机器人可以做出相应的响应,不,我不能使用命令来实现这一点.

                I am using on_message to scan the code for specific keywords so that the bot can respond accordingly, and no, I cannot use commands to achieve this.

                我想通过打开冷却时间来防止人们向这些关键字发送垃圾邮件,以便机器人在再次检查之前等待

                I want to prevent people from spamming these keywords by turning on a cooldown so the bot will wait before checking again

                文档内容:

                class SomeCog(commands.Cog):
                    def __init__(self):
                        self._cd = commands.CooldownMapping.from_cooldown(1.0, 60.0, commands.BucketType.user)
                
                    async def cog_check(self, ctx):
                        bucket = self._cd.get_bucket(ctx.message)
                        retry_after = bucket.update_rate_limit()
                        if retry_after:
                            # you're rate limited
                            # helpful message here
                            pass
                        # you're not rate limited
                

                我有什么:

                class Listener(commands.Cog):
                    def __init__(self, bot):
                        self._cd = commands.CooldownMapping.from_cooldown(1.0, 10.0, commands.BucketType.user)
                
                    @commands.Cog.listener()
                    async def on_message(self, message):    
                
                        async def cog_check(self, message):
                            bucket = self._cd.get_bucket(message)
                            retry_after = bucket.update_rate_limit()
                            if retry_after:
                                print('test')
                                pass
                        
                
                            elif (message.guild is None):  
                                return '.'
                
                            else:
                          . . . . . #code which tests for the keywords
                

                推荐答案

                class SomeCog(commands.Cog):
                    def __init__(self, bot):
                        self.bot = bot
                        self._cd = commands.CooldownMapping.from_cooldown(1.0, 60.0, commands.BucketType.user) # Put your params here
                                                                        # rate, per, BucketType
                
                    def ratelimit_check(self, message):
                        """Returns the ratelimit left"""
                        bucket = self._cd.get_bucket(message)
                        return bucket.update_rate_limit()
                
                
                    @commands.Cog.listener()
                    async def on_message(self, message):
                        if 'check if the message contains certain words here':
                            # Getting the ratelimit that's left
                            retry_after = self.ratelimit_check(message)
                            if retry_after is None:
                                # You're not ratelimited
                            else:
                                # You're ratelimited, you can delete the message here
                                await message.delete()
                                await message.channel.send(f"You can't use those words for another {round(retry_after)} seconds.")
                

                此处的代码评估消息是否包含某些单词,如果包含,则检查 ratelimit,如果有 - 删除消息并发送消息.

                The code here evaluates if the message contains certain words, if it does, checks for ratelimit, if there is one - deletes the message and sends a message.

                这篇关于冷却映射 |不和谐.py的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                上一篇:如何在 discord.py 中获取带有 id 的用户头像? 下一篇:获取服务器 discord.py 中的提升次数

                相关文章

                最新文章

                <i id='HQMGf'><tr id='HQMGf'><dt id='HQMGf'><q id='HQMGf'><span id='HQMGf'><b id='HQMGf'><form id='HQMGf'><ins id='HQMGf'></ins><ul id='HQMGf'></ul><sub id='HQMGf'></sub></form><legend id='HQMGf'></legend><bdo id='HQMGf'><pre id='HQMGf'><center id='HQMGf'></center></pre></bdo></b><th id='HQMGf'></th></span></q></dt></tr></i><div id='HQMGf'><tfoot id='HQMGf'></tfoot><dl id='HQMGf'><fieldset id='HQMGf'></fieldset></dl></div>
                  <bdo id='HQMGf'></bdo><ul id='HQMGf'></ul>

                <small id='HQMGf'></small><noframes id='HQMGf'>

                    <tfoot id='HQMGf'></tfoot>

                  1. <legend id='HQMGf'><style id='HQMGf'><dir id='HQMGf'><q id='HQMGf'></q></dir></style></legend>