Jido.Chat.SlashCommandEvent (Jido Chat v1.0.0)

Copy Markdown View Source

Normalized slash-command event payload placeholder for Phase 2.

Summary

Functions

Builds a slash command event from serialized map data.

Creates a normalized slash-command event payload.

Opens a modal using the slash command event context.

Returns the Zoi schema for SlashCommandEvent.

Serializes the slash command event into a plain map with a type marker.

Types

t()

@type t() :: %Jido.Chat.SlashCommandEvent{
  adapter: nil | nil | any(),
  adapter_name: nil | nil | atom(),
  channel:
    nil
    | nil
    | %Jido.Chat.ChannelRef{
        adapter: term(),
        adapter_name: term(),
        external_id: term(),
        id: term(),
        metadata: term()
      },
  channel_id: nil | nil | binary(),
  command: nil | nil | binary(),
  message:
    nil
    | nil
    | %Jido.Chat.Message{
        attachments: term(),
        author: term(),
        channel_id: term(),
        created_at: term(),
        external_message_id: term(),
        external_room_id: term(),
        formatted: term(),
        id: term(),
        is_mention: term(),
        metadata: term(),
        raw: term(),
        text: term(),
        thread_id: term(),
        updated_at: term()
      },
  message_id: nil | nil | binary(),
  metadata: map(),
  raw: map(),
  related_channel:
    nil
    | nil
    | %Jido.Chat.ChannelRef{
        adapter: term(),
        adapter_name: term(),
        external_id: term(),
        id: term(),
        metadata: term()
      },
  related_message:
    nil
    | nil
    | %Jido.Chat.Message{
        attachments: term(),
        author: term(),
        channel_id: term(),
        created_at: term(),
        external_message_id: term(),
        external_room_id: term(),
        formatted: term(),
        id: term(),
        is_mention: term(),
        metadata: term(),
        raw: term(),
        text: term(),
        thread_id: term(),
        updated_at: term()
      },
  related_thread:
    nil
    | nil
    | %Jido.Chat.Thread{
        adapter: term(),
        adapter_name: term(),
        channel_id: term(),
        external_room_id: term(),
        external_thread_id: term(),
        id: term(),
        is_dm: term(),
        metadata: term()
      },
  text: nil | nil | binary(),
  thread:
    nil
    | nil
    | %Jido.Chat.Thread{
        adapter: term(),
        adapter_name: term(),
        channel_id: term(),
        external_room_id: term(),
        external_thread_id: term(),
        id: term(),
        is_dm: term(),
        metadata: term()
      },
  thread_id: nil | nil | binary(),
  trigger_id: nil | nil | binary(),
  user:
    nil
    | nil
    | %Jido.Chat.Author{
        full_name: term(),
        is_bot: term(),
        is_me: term(),
        metadata: term(),
        user_id: term(),
        user_name: term()
      }
}

Functions

from_map(map)

@spec from_map(map()) :: t()

Builds a slash command event from serialized map data.

new(attrs)

Creates a normalized slash-command event payload.

open_modal(event, payload, opts \\ [])

@spec open_modal(t(), Jido.Chat.Modal.t() | map(), keyword()) ::
  {:ok, Jido.Chat.ModalResult.t()} | {:error, term()}

Opens a modal using the slash command event context.

schema()

Returns the Zoi schema for SlashCommandEvent.

to_map(event)

@spec to_map(t()) :: map()

Serializes the slash command event into a plain map with a type marker.