有人リモート操作を依頼する (LCC.assist.request_control)
宣言
result, err, task = LCC.assist.request_control(options)
引数
- options
テーブル。有人支援リクエストの設定です。フィールドについては、共通引数と戻りオブジェクトを参照してください。この関数はtype = "control"を自動設定します。
戻り値
- result
テーブルまたはnil。成功時はユーザーが送信した結果を返します。「完了」をクリックすると{ kind = "device-control", completed = true }を返します。「結果を手動送信」を展開して有効な JSON を送信すると、対応する Lua テーブルを返し、通常のテキストを送信すると{ note = "テキスト内容" }を返します。 - err
文字列またはnil。失敗時はエラーの説明を返します。 - task
テーブルまたはnil。最後に取得したタスクの状態です。
説明
スライダー、CAPTCHA、ログイン、セキュリティ検証、権限ダイアログ、複雑な操作など、スクリプトが推測を続けるべきでない場面で使用します。
ユーザーがリモート操作で問題を解決してから「完了」をクリックすると、スクリプトは実行を再開して画面を再判定します。
textには、ユーザーが行うべき操作を明確に記述してください。
「完了」と「結果を手動送信」は、別々の操作です。
- 「完了」をクリック:リモート操作が完了したことだけを示す場合に適しており、常に
{ kind = "device-control", completed = true }を返します。 - 「結果を手動送信」内の「送信」をクリック:補足情報をスクリプトへ返す場合に適しています。有効な JSON は構造化結果として返され、JSON 以外のテキストは
{ note = "..." }として返されます。空の内容は送信されません。
例
local result, err = LCC.assist.request_control({
title = "有人による確認",
text = "デバイスをリモート操作して確認を完了してから「完了」をクリックしてください",
timeout = 300,
})
if not result then
nLog("リモート操作が完了していません", err)
end
現在のスクリーンショットを直接渡す例:
local img = screen.image()
local result, err = LCC.assist.request_control({
title = "有人対応が必要",
text = "リモート操作で現在の確認を完了してから「完了」をクリックしてください",
screenshotImage = img,
screenshotImageQuality = 0.6,
timeout = 300,
})
if img.destroy then
img:destroy()
end