Lingo.Type.Integration (Lingo v0.4.2)

Copy Markdown View Source

A guild integration: a bot, or a Twitch, YouTube or other connection.

type is Discord's string, such as "discord" or "twitch". The sync fields (syncing, role_id, expire_behavior and so on) are nil for bots. account and application are maps with atom keys. The partial integrations in audit logs carry an application_id instead of the application.

Summary

Types

account()

@type account() :: %{id: String.t(), name: String.t()}

application()

@type application() :: %{
  id: String.t(),
  name: String.t(),
  icon: String.t() | nil,
  description: String.t(),
  bot: Lingo.Type.User.t() | nil
}

t()

@type t() :: %Lingo.Type.Integration{
  account: account() | nil,
  application: application() | nil,
  application_id: String.t() | nil,
  enable_emoticons: boolean() | nil,
  enabled: boolean(),
  expire_behavior: :remove_role | :kick | integer() | nil,
  expire_grace_period: integer() | nil,
  guild_id: String.t() | nil,
  id: String.t(),
  name: String.t(),
  revoked: boolean() | nil,
  role_id: String.t() | nil,
  scopes: [String.t()],
  subscriber_count: integer() | nil,
  synced_at: DateTime.t() | nil,
  syncing: boolean() | nil,
  type: String.t(),
  user: Lingo.Type.User.t() | nil
}