def wrapped(self: 'Bot', *args: object, **kwargs: object) -> object:
        # pylint: disable=W0212
        queued = kwargs.pop(
            'queued', self._is_messages_queued_default  # type: ignore[attr-defined]
        )
        isgroup = kwargs.pop('isgroup', False)
        if queued:
            prom = Promise(method, (self,) + args, kwargs)
            return self._msg_queue(prom, isgroup)  # type: ignore[attr-defined]
        return method(self, *args, **kwargs)