Release blocked key

        :param key:
        :param chat:
        :param user:
        :return:

async def release_key(self, key, chat=None, user=None):
        """
        Release blocked key

        :param key:
        :param chat:
        :param user:
        :return:
        """
        if not self.storage.has_bucket():
            raise RuntimeError('This storage does not provide Leaky Bucket')

        if user is None and chat is None:
            user = types.User.get_current()
            chat = types.Chat.get_current()

        bucket = await self.storage.get_bucket(chat=chat, user=user)
        if bucket and key in bucket:
            del bucket['key']
            await self.storage.set_bucket(chat=chat, user=user, bucket=bucket)
            return True
        return False