def wait_for_message(chats=None, msg_types=None, except_self=True, timeout=30):
    """
    等待一条指定的消息，并返回这条消息

    :param chats: 所需等待消息所在的聊天会话
    :param msg_types: 所需等待的消息类型
    :param except_self: 是否排除自己发送的消息
    :param timeout: 等待的超时秒数，若为 None 则一直等待，直到收到所需的消息
    :return: 若在超时内等到了消息，则返回此消息，否则抛出 `queue.Empty` 异常
    """

    received = Queue()

    @_bot.register(chats=chats, msg_types=msg_types, except_self=except_self)
    def _func(msg):
        received.put(msg)

    _config = _bot.registered.get_config_by_func(_func)

    ret = received.get(timeout=timeout)

    _bot.registered.remove(_config)

    return ret
等待一条指定的消息，并返回这条消息

:param chats: 所需等待消息所在的聊天会话
:param msg_types: 所需等待的消息类型
:param except_self: 是否排除自己发送的消息
:param timeout: 等待的超时秒数，若为 None 则一直等待，直到收到所需的消息
:return: 若在超时内等到了消息，则返回此消息，否则抛出 `queue.Empty` 异常
tests/conftest.py