communication_skills/action/Ask

 1# Retrieve some pieces of information through a chat with a person or a group of people.
 2# It is a specialization of the Chat action, where:
 3# - role.name = ASK_ROLE
 4# - role.configuration =
 5#   {
 6#     "question":  question
 7#     "result_schema_properties": answers_schema
 8#   }
 9# - initiate: true
10# - initial_input: question
11# ---
12# - role_results: answers
13
14std_skills/Meta meta
15
16# The ID of the person to interact with.
17# If empty, any user can be interacted with.
18string person_id
19
20# The ID of the group of persons to interact with.
21# If empty, any group of persons can be interacted with.
22# If not empty, the 'person_id' field should be ignored.
23string group_id
24
25# The JSON dictionary of pieces of information to be retrieved through the chat.
26# The keys correspond to the info required,
27# while the values follow the JSON schema format for object properties
28# (see https://json-schema.org/understanding-json-schema/reference/object.html#properties).
29# For example, if the required information is the person age,
30# the dictionary could be the following:
31#   {"age": {"type": "integer", "minimum": 0}}
32string answers_schema "{}"
33
34# Specifies the question the robot should utter when initiating the chat.
35# It is equivalent to using the 'Say' action after starting the chat.
36# If empty, the robot will use an autonomously generated question to initiate the chat.
37string question
38
39---
40std_skills/Result result
41
42# The JSON dictionary of values obtained from the chat,
43# where the keys correspond to the 'answers_schema' fields.
44# If the piece of information relative to a key could not be retrieved,
45# its associated key is not added to the results.
46# For example, if the schema is '{"name": {"type": "string"}, "age": {"type": "integer"}}'
47# and the age could not be retrieved, the dictionary could be the following:
48#   {"name": "Bob"}
49string answers "{}"
50
51---
52std_skills/Feedback feedback