defmodule Irc.Client.Command.Invite do alias Irc.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