From 2d83df8b32bff7f0028923bb5b64dc0b55f20d03 Mon Sep 17 00:00:00 2001 From: Jordan Bracco Date: Tue, 20 Dec 2022 00:21:54 +0000 Subject: Nola rename: The Big Move, Refs T77 --- lib/lsg_irc/wolfram_alpha_plugin.ex | 47 ------------------------------------- 1 file changed, 47 deletions(-) delete mode 100644 lib/lsg_irc/wolfram_alpha_plugin.ex (limited to 'lib/lsg_irc/wolfram_alpha_plugin.ex') diff --git a/lib/lsg_irc/wolfram_alpha_plugin.ex b/lib/lsg_irc/wolfram_alpha_plugin.ex deleted file mode 100644 index 6ee06f0..0000000 --- a/lib/lsg_irc/wolfram_alpha_plugin.ex +++ /dev/null @@ -1,47 +0,0 @@ -defmodule Nola.IRC.WolframAlphaPlugin do - use GenServer - require Logger - - @moduledoc """ - # wolfram alpha - - * **`!wa `** lance `` sur WolframAlpha - """ - - def irc_doc, do: @moduledoc - - def start_link() do - GenServer.start_link(__MODULE__, [], name: __MODULE__) - end - - def init(_) do - {:ok, _} = Registry.register(IRC.PubSub, "trigger:wa", [plugin: __MODULE__]) - {:ok, nil} - end - - def handle_info({:irc, :trigger, _, m = %IRC.Message{trigger: %IRC.Trigger{type: :bang, args: query}}}, state) do - query = Enum.join(query, " ") - params = %{ - "appid" => Keyword.get(Application.get_env(:nola, :wolframalpha, []), :app_id, "NO_APP_ID"), - "units" => "metric", - "i" => query - } - url = "https://www.wolframalpha.com/input/?i=" <> URI.encode(query) - case HTTPoison.get("http://api.wolframalpha.com/v1/result", [], [params: params]) do - {:ok, %HTTPoison.Response{status_code: 200, body: body}} -> - m.replyfun.(["#{query} -> #{body}", url]) - {:ok, %HTTPoison.Response{status_code: code, body: body}} -> - error = case {code, body} do - {501, b} -> "input invalide: #{body}" - {code, error} -> "erreur #{code}: #{body || ""}" - end - m.replyfun.("wa: #{error}") - {:error, %HTTPoison.Error{reason: reason}} -> - m.replyfun.("wa: erreur http: #{to_string(reason)}") - _ -> - m.replyfun.("wa: erreur http") - end - {:noreply, state} - end - -end -- cgit v1.2.3