diff options
Diffstat (limited to 'lib/nola_plugins/calc.ex')
-rw-r--r-- | lib/nola_plugins/calc.ex | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/lib/nola_plugins/calc.ex b/lib/nola_plugins/calc.ex deleted file mode 100644 index 91fbbae..0000000 --- a/lib/nola_plugins/calc.ex +++ /dev/null @@ -1,37 +0,0 @@ -defmodule Nola.Plugins.Calc do - @moduledoc """ - # calc - - * **!calc `<expression>`**: évalue l'expression mathématique `<expression>`. - """ - - 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:calc", [plugin: __MODULE__]) - {:ok, nil} - end - - def handle_info({:irc, :trigger, "calc", message = %IRC.Message{trigger: %IRC.Trigger{type: :bang, args: expr_list}}}, state) do - expr = Enum.join(expr_list, " ") - result = try do - case Abacus.eval(expr) do - {:ok, result} -> result - error -> inspect(error) - end - rescue - error -> if(error[:message], do: "#{error.message}", else: "erreur") - end - message.replyfun.("#{message.sender.nick}: #{expr} = #{result}") - {:noreply, state} - end - - def handle_info(msg, state) do - {:noreply, state} - end - -end |