1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
defmodule Irc.Client.Command.Away do
alias Irc.Line
#@type t :: (away :: {:away, Irc.Mask.t, String.t}) | (unaway :: {:away, Irc.Mask.t})
def init(_) do
{"AWAY", :away, "away-notify"}
end
def handle_command(_, :away, args) do
command = case args do
[] -> ['AWAY']
[message] -> ['AWAY :', message]
end
{:send, command}
end
def handle_line(_, %Line{command: "AWAY", source: source, args: args}) do
case args do
[] -> {:event, {:away, source}}
[message] -> {:event, {:away, {source, message}}}
end
end
end
|