メインコンテンツへ移動

有人リモート操作を依頼する (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