summaryrefslogtreecommitdiff
path: root/lib/lsg_irc/admin_handler.ex
diff options
context:
space:
mode:
authorhref <href@random.sh>2018-05-02 19:03:35 +0200
committerhref <href@random.sh>2018-05-02 19:04:28 +0200
commita47dc245808921309f58e8b1c4b6fa028b2df073 (patch)
tree1842d413f2a43d3759b439417f053052b878a1f7 /lib/lsg_irc/admin_handler.ex
parent (diff)
meh
Diffstat (limited to 'lib/lsg_irc/admin_handler.ex')
-rw-r--r--lib/lsg_irc/admin_handler.ex15
1 files changed, 12 insertions, 3 deletions
diff --git a/lib/lsg_irc/admin_handler.ex b/lib/lsg_irc/admin_handler.ex
index 27d35c3..fab4dbc 100644
--- a/lib/lsg_irc/admin_handler.ex
+++ b/lib/lsg_irc/admin_handler.ex
@@ -14,18 +14,27 @@ defmodule LSG.IRC.AdminHandler do
def init([client]) do
ExIRC.Client.add_handler client, self
+ :ok = IRC.register("op")
{:ok, client}
end
- def handle_info({:received, "!op", sender, chan}, client) do
- if LSG.IRC.admin?(sender) do
+ def handle_info({:irc, :trigger, "op", m = %IRC.Message{trigger: %IRC.Trigger{type: :bang}, sender: sender}}, client) do
+ if IRC.admin?(sender) do
+ m.replyfun.({:mode, "+o"})
+ else
+ m.replyfun.({:kick, "non"})
+ end
+ {:noreply, client}
+ end
+
+ def handle_info({:joined, chan, sender}, client) do
+ if IRC.admin?(sender) do
ExIRC.Client.mode(client, chan, "+o", sender.nick)
end
{:noreply, client}
end
def handle_info(msg, client) do
- IO.inspect(msg)
{:noreply, client}
end