Skip to main content

Intent

Struct Intent 

Source
#[non_exhaustive]
pub struct Intent {
Show 20 fields pub name: String, pub display_name: String, pub webhook_state: WebhookState, pub priority: i32, pub is_fallback: bool, pub ml_disabled: bool, pub live_agent_handoff: bool, pub end_interaction: bool, pub input_context_names: Vec<String>, pub events: Vec<String>, pub training_phrases: Vec<TrainingPhrase>, pub action: String, pub output_contexts: Vec<Context>, pub reset_contexts: bool, pub parameters: Vec<Parameter>, pub messages: Vec<Message>, pub default_response_platforms: Vec<Platform>, pub root_followup_intent_name: String, pub parent_followup_intent_name: String, pub followup_intent_info: Vec<FollowupIntentInfo>, /* private fields */
}
Available on crate features answer-records or intents or participants or sessions only.
Expand description

An intent categorizes an end-user’s intention for one conversation turn. For each agent, you define many intents, where your combined intents can handle a complete conversation. When an end-user writes or says something, referred to as an end-user expression or end-user input, Dialogflow matches the end-user input to the best intent in your agent. Matching an intent is also known as intent classification.

For more information, see the intent guide.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§name: String

Optional. The unique identifier of this intent. Required for Intents.UpdateIntent and Intents.BatchUpdateIntents methods. Format: projects/<Project ID>/agent/intents/<Intent ID>.

§display_name: String

Required. The name of this intent.

§webhook_state: WebhookState

Optional. Indicates whether webhooks are enabled for the intent.

§priority: i32

Optional. The priority of this intent. Higher numbers represent higher priorities.

  • If the supplied value is unspecified or 0, the service translates the value to 500,000, which corresponds to the Normal priority in the console.
  • If the supplied value is negative, the intent is ignored in runtime detect intent requests.
§is_fallback: bool

Optional. Indicates whether this is a fallback intent.

§ml_disabled: bool

Optional. Indicates whether Machine Learning is disabled for the intent. Note: If ml_disabled setting is set to true, then this intent is not taken into account during inference in ML ONLY match mode. Also, auto-markup in the UI is turned off.

§live_agent_handoff: bool

Optional. Indicates that a live agent should be brought in to handle the interaction with the user. In most cases, when you set this flag to true, you would also want to set end_interaction to true as well. Default is false.

§end_interaction: bool

Optional. Indicates that this intent ends an interaction. Some integrations (e.g., Actions on Google or Dialogflow phone gateway) use this information to close interaction with an end user. Default is false.

§input_context_names: Vec<String>

Optional. The list of context names required for this intent to be triggered. Format: projects/<Project ID>/agent/sessions/-/contexts/<Context ID>.

§events: Vec<String>

Optional. The collection of event names that trigger the intent. If the collection of input contexts is not empty, all of the contexts must be present in the active user session for an event to trigger this intent. Event names are limited to 150 characters.

§training_phrases: Vec<TrainingPhrase>

Optional. The collection of examples that the agent is trained on.

§action: String

Optional. The name of the action associated with the intent. Note: The action name must not contain whitespaces.

§output_contexts: Vec<Context>

Optional. The collection of contexts that are activated when the intent is matched. Context messages in this collection should not set the parameters field. Setting the lifespan_count to 0 will reset the context when the intent is matched. Format: projects/<Project ID>/agent/sessions/-/contexts/<Context ID>.

§reset_contexts: bool

Optional. Indicates whether to delete all contexts in the current session when this intent is matched.

§parameters: Vec<Parameter>

Optional. The collection of parameters associated with the intent.

§messages: Vec<Message>

Optional. The collection of rich messages corresponding to the Response field in the Dialogflow console.

§default_response_platforms: Vec<Platform>

Optional. The list of platforms for which the first responses will be copied from the messages in PLATFORM_UNSPECIFIED (i.e. default platform).

§root_followup_intent_name: String

Output only. Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output.

Format: projects/<Project ID>/agent/intents/<Intent ID>.

§parent_followup_intent_name: String

Read-only after creation. The unique identifier of the parent intent in the chain of followup intents. You can set this field when creating an intent, for example with CreateIntent or BatchUpdateIntents, in order to make this intent a followup intent.

It identifies the parent followup intent. Format: projects/<Project ID>/agent/intents/<Intent ID>.

§followup_intent_info: Vec<FollowupIntentInfo>

Output only. Read-only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.

Implementations§

Source§

impl Intent

Source

pub fn new() -> Self

Source

pub fn set_name<T: Into<String>>(self, v: T) -> Self

Sets the value of name.

§Example
let x = Intent::new().set_name("example");
Source

pub fn set_display_name<T: Into<String>>(self, v: T) -> Self

Sets the value of display_name.

§Example
let x = Intent::new().set_display_name("example");
Source

pub fn set_webhook_state<T: Into<WebhookState>>(self, v: T) -> Self

Sets the value of webhook_state.

§Example
use google_cloud_dialogflow_v2::model::intent::WebhookState;
let x0 = Intent::new().set_webhook_state(WebhookState::Enabled);
let x1 = Intent::new().set_webhook_state(WebhookState::EnabledForSlotFilling);
Source

pub fn set_priority<T: Into<i32>>(self, v: T) -> Self

Sets the value of priority.

§Example
let x = Intent::new().set_priority(42);
Source

pub fn set_is_fallback<T: Into<bool>>(self, v: T) -> Self

Sets the value of is_fallback.

§Example
let x = Intent::new().set_is_fallback(true);
Source

pub fn set_ml_disabled<T: Into<bool>>(self, v: T) -> Self

Sets the value of ml_disabled.

§Example
let x = Intent::new().set_ml_disabled(true);
Source

pub fn set_live_agent_handoff<T: Into<bool>>(self, v: T) -> Self

Sets the value of live_agent_handoff.

§Example
let x = Intent::new().set_live_agent_handoff(true);
Source

pub fn set_end_interaction<T: Into<bool>>(self, v: T) -> Self

Sets the value of end_interaction.

§Example
let x = Intent::new().set_end_interaction(true);
Source

pub fn set_input_context_names<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<String>,

Sets the value of input_context_names.

§Example
let x = Intent::new().set_input_context_names(["a", "b", "c"]);
Source

pub fn set_events<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<String>,

Sets the value of events.

§Example
let x = Intent::new().set_events(["a", "b", "c"]);
Source

pub fn set_training_phrases<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<TrainingPhrase>,

Sets the value of training_phrases.

§Example
use google_cloud_dialogflow_v2::model::intent::TrainingPhrase;
let x = Intent::new()
    .set_training_phrases([
        TrainingPhrase::default()/* use setters */,
        TrainingPhrase::default()/* use (different) setters */,
    ]);
Source

pub fn set_action<T: Into<String>>(self, v: T) -> Self

Sets the value of action.

§Example
let x = Intent::new().set_action("example");
Source

pub fn set_output_contexts<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<Context>,

Sets the value of output_contexts.

§Example
use google_cloud_dialogflow_v2::model::Context;
let x = Intent::new()
    .set_output_contexts([
        Context::default()/* use setters */,
        Context::default()/* use (different) setters */,
    ]);
Source

pub fn set_reset_contexts<T: Into<bool>>(self, v: T) -> Self

Sets the value of reset_contexts.

§Example
let x = Intent::new().set_reset_contexts(true);
Source

pub fn set_parameters<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<Parameter>,

Sets the value of parameters.

§Example
use google_cloud_dialogflow_v2::model::intent::Parameter;
let x = Intent::new()
    .set_parameters([
        Parameter::default()/* use setters */,
        Parameter::default()/* use (different) setters */,
    ]);
Source

pub fn set_messages<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<Message>,

Sets the value of messages.

§Example
use google_cloud_dialogflow_v2::model::intent::Message;
let x = Intent::new()
    .set_messages([
        Message::default()/* use setters */,
        Message::default()/* use (different) setters */,
    ]);
Source

pub fn set_default_response_platforms<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<Platform>,

Sets the value of default_response_platforms.

§Example
use google_cloud_dialogflow_v2::model::intent::message::Platform;
let x = Intent::new().set_default_response_platforms([
    Platform::Facebook,
    Platform::Slack,
    Platform::Telegram,
]);
Source

pub fn set_root_followup_intent_name<T: Into<String>>(self, v: T) -> Self

Sets the value of root_followup_intent_name.

§Example
let x = Intent::new().set_root_followup_intent_name("example");
Source

pub fn set_parent_followup_intent_name<T: Into<String>>(self, v: T) -> Self

Sets the value of parent_followup_intent_name.

§Example
let x = Intent::new().set_parent_followup_intent_name("example");
Source

pub fn set_followup_intent_info<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<FollowupIntentInfo>,

Sets the value of followup_intent_info.

§Example
use google_cloud_dialogflow_v2::model::intent::FollowupIntentInfo;
let x = Intent::new()
    .set_followup_intent_info([
        FollowupIntentInfo::default()/* use setters */,
        FollowupIntentInfo::default()/* use (different) setters */,
    ]);

Trait Implementations§

Source§

impl Clone for Intent

Source§

fn clone(&self) -> Intent

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Intent

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Intent

Source§

fn default() -> Intent

Returns the “default value” for a type. Read more
Source§

impl Message for Intent

Source§

fn typename() -> &'static str

The typename of this message.
Source§

impl PartialEq for Intent

Source§

fn eq(&self, other: &Intent) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for Intent

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,