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.Parser.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
|