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
@type application() :: %{ id: String.t(), name: String.t(), icon: String.t() | nil, description: String.t(), bot: Lingo.Type.User.t() | nil }
@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 }