listen(...)、input(...) 和 waitPay(...) 会阻塞当前插件运行,直到收到匹配事件、超时或用户发送退出口令。支付类插件建议显式处理超时、取消和金额不匹配。
listen(waitTime, recallTime=0, scope="")
等待同一会话、同一账号下的下一条用户输入。超时返回空字符串 ""。
等待时间,单位毫秒。运行时会归一化:默认
60000 ms,最小 1000 ms,最大通常为 900000 ms。收到输入后延迟撤回用户消息的毫秒数。若第二个参数直接传
'group',SDK 会把它识别为 scope,并把 recallTime 置为 0。传
'group' 时,允许同群任意成员回答;不传时只等待当前用户。input(waitTime, recallTime=0, scope="")
input(...) 是 listen(...) 的别名,参数和返回值一致。
input(...) 返回文本内容;媒体从 sender.getMediaItems() 读取。
waitPay(exitcode, timeout, amount=None)
等待支付事件或退出口令。它会使用当前运行上下文里的 IM、账号、会话和用户来注册支付等待;如果支付配置不可用,会退化为 legacy 等待支付事件。
退出口令。等待期间用户发送完全相同文本时,方法返回该字符串并结束等待。传空字符串时表示不启用用户退出口令。
等待时间,单位毫秒。运行时会按输入等待上限归一化,通常最大
900000 ms。期望金额。传入后,返回的支付对象会包含
expected_amount 和 amount_matched。atWaitPay()
atWaitPay() 返回当前运行是否处于支付等待状态。