diff options
Diffstat (limited to 'lib/irc/client/command/invite.ex')
-rw-r--r-- | lib/irc/client/command/invite.ex | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/lib/irc/client/command/invite.ex b/lib/irc/client/command/invite.ex new file mode 100644 index 0000000..833c2fc --- /dev/null +++ b/lib/irc/client/command/invite.ex @@ -0,0 +1,21 @@ +defmodule Irc.Client.Command.Invite do + alias Irc.Parser.Line + + @type invite :: {:invite, channel :: String.t(), inviter :: String.t(), invited_nick :: String.t()} + @type invited :: {:invite, channel :: String.t, inviter :: Irc.Mask.t} + @type t :: invite | invited + + def init() do + {"INVITE", :invite, "invite-notify"} + end + + def handle_line(%Line{command: "INVITE", source: inviter, args: [invited, channel]}) do + {:event, {:invite, channel, inviter, invited}} + end + + def handle_line(%Line{command: "INVITE", source: inviter, args: [channel]}) do + {:event, {:invite, channel, inviter}} + end + +end + |