diff --git a/lib/sergei/consumer.ex b/lib/sergei/consumer.ex index 0be3ec4..5439a30 100644 --- a/lib/sergei/consumer.ex +++ b/lib/sergei/consumer.ex @@ -65,7 +65,13 @@ defmodule Sergei.Consumer do %{type: 4, data: %{content: msg, flags: 2 ** 6}} {:error, msg} -> - %{type: 4, data: %{content: msg, flags: 2 ** 6}} + %{ + type: 4, + data: %{ + content: "error: #{msg}\n\nPlease contact <@447533152567689226> for help", + flags: 2 ** 6 + } + } end Api.create_interaction_response!(interaction, response) @@ -109,6 +115,9 @@ defmodule Sergei.Consumer do :ok -> {:ok, "Pausing..."} + :not_playing -> + {:ok, "I'm not playing anything right now."} + {:error, err} -> Logger.error("Failed to pause media: #{err}") {:error, "This is embarrasing..."} @@ -121,6 +130,9 @@ defmodule Sergei.Consumer do :ok -> {:ok, "Resuming..."} + :not_playing -> + {:ok, "I'm not playing anything right now."} + {:error, err} -> Logger.error("Failed to resume media: #{err}") {:error, "This is embarrasing..."} diff --git a/lib/sergei/player.ex b/lib/sergei/player.ex index e7cd2a1..c2ce051 100644 --- a/lib/sergei/player.ex +++ b/lib/sergei/player.ex @@ -20,10 +20,12 @@ defmodule Sergei.Player do GenServer.call(__MODULE__, {:play, guild_id, channel_id, url}) end + @spec pause(integer()) :: :ok | :not_playing | {:error, String.t()} def pause(guild_id) do GenServer.call(__MODULE__, {:pause, guild_id}) end + @spec resume(integer()) :: :ok | :not_playing | {:error, String.t()} def resume(guild_id) do GenServer.call(__MODULE__, {:resume, guild_id}) end @@ -57,7 +59,7 @@ defmodule Sergei.Player do @impl true def handle_call({_, guild_id}, _from, state) when not is_map_key(state, guild_id) do - {:reply, {:error, "I'm not playing anything right now"}, state} + {:reply, :not_playing, state} end @impl true