code: def await_command(self, *args, **kwargs) -> 'asyncio.Future[IrcMessage]':
          
          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
docs: Block until a command matches. See `on_command`