Current section
Files
Jump to
Current section
Files
lib/quarrel/interactions.ex
defmodule Quarrel.Interactions do
@moduledoc """
Handles defining and implementing interactions
"""
alias Quarrel.Repo
def install(%Nostrum.Struct.Guild{id: guild_id}, interactions) do
install(guild_id, interactions)
end
def install(guild_id, interactions) do
installed =
for interaction <- interactions do
{:ok, installed} = Nostrum.Api.create_guild_application_command(guild_id, interaction)
installed
end
{:ok, store} = Quarrel.get_store(guild_id)
Repo.update(
Ecto.Changeset.cast(store, %{interactions: installed}, [
:interactions
])
)
end
end