EDA.API.ScheduledEvent (EDA v0.3.0)

Copy Markdown View Source

REST API endpoints for Discord guild scheduled events.

All functions return {:ok, result} or {:error, reason}.

Summary

Functions

Creates a scheduled event in a guild.

Deletes a scheduled event.

Gets a scheduled event by ID.

Lists scheduled events for a guild.

Modifies a scheduled event.

Returns a lazy Stream that paginates through users subscribed to a scheduled event.

Gets users subscribed to a scheduled event.

Functions

create(guild_id, params)

@spec create(String.t() | integer(), map()) :: {:ok, map()} | {:error, term()}

Creates a scheduled event in a guild.

delete(guild_id, event_id)

@spec delete(String.t() | integer(), String.t() | integer()) :: :ok | {:error, term()}

Deletes a scheduled event.

get(guild_id, event_id, opts \\ [])

@spec get(String.t() | integer(), String.t() | integer(), keyword()) ::
  {:ok, map()} | {:error, term()}

Gets a scheduled event by ID.

Options

  • :with_user_count - Include user count (boolean)

list(guild_id, opts \\ [])

@spec list(
  String.t() | integer(),
  keyword()
) :: {:ok, [map()]} | {:error, term()}

Lists scheduled events for a guild.

Options

  • :with_user_count - Include user count (boolean)

modify(guild_id, event_id, params)

@spec modify(String.t() | integer(), String.t() | integer(), map()) ::
  {:ok, map()} | {:error, term()}

Modifies a scheduled event.

user_stream(guild_id, event_id, opts \\ [])

@spec user_stream(String.t() | integer(), String.t() | integer(), keyword()) ::
  Enumerable.t()

Returns a lazy Stream that paginates through users subscribed to a scheduled event.

Options

  • :direction — :before or :after (default :before)
  • :per_page — users per request (1-100, default 100)
  • :before — start before this user ID
  • :after — start after this user ID
  • :with_member — include guild member data (boolean)

Examples

EDA.API.ScheduledEvent.user_stream(guild_id, event_id) |> Enum.to_list()
EDA.API.ScheduledEvent.user_stream(guild_id, event_id, with_member: true)
|> Stream.take(50) |> Enum.to_list()

users(guild_id, event_id, opts \\ [])

@spec users(String.t() | integer(), String.t() | integer(), keyword()) ::
  {:ok, [map()]} | {:error, term()}

Gets users subscribed to a scheduled event.

Options

  • :limit - Number of users (1-100, default 100)
  • :with_member - Include guild member data (boolean)
  • :before - Get users before this user ID
  • :after - Get users after this user ID