def await_command(self, *args, **kwargs) -> 'asyncio.Future[IrcMessage]':
        """
        Block until a command matches. See `on_command`
        """
        fut = asyncio.Future()
        @self.on_command(*args, **kwargs)
        async def handler(msg):
            fut.set_result(msg)
        # remove handler when done or cancelled
        fut.add_done_callback(lambda _: self.remove_command_handler(handler))
        return fut
Block until a command matches. See `on_command`