diff options
author | Paul Schoenfelder <paulschoenfelder@gmail.com> | 2016-04-02 09:30:02 -0500 |
---|---|---|
committer | Paul Schoenfelder <paulschoenfelder@gmail.com> | 2016-04-02 09:30:02 -0500 |
commit | 7a49bf089b5eec51d65d012302a2c7c122abe989 (patch) | |
tree | a4f621b2cc9fd8c3cdbdf4c87ec531ab7c6a4c54 /lib | |
parent | Merge pull request #48 from jeffweiss/handle_quit (diff) | |
parent | changed the map style (diff) |
Merge pull request #43 from Annwenn/master
Support another event.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/exirc/client.ex | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/lib/exirc/client.ex b/lib/exirc/client.ex index 7fb9122..cde4f1a 100644 --- a/lib/exirc/client.ex +++ b/lib/exirc/client.ex @@ -30,7 +30,9 @@ defmodule ExIrc.Client do user_prefixes: "", login_time: "", channels: [], - debug?: false + debug?: false, + retries: 0, + inet: :inet end ################# @@ -404,7 +406,7 @@ defmodule ExIrc.Client do def handle_call({:quit, msg}, _from, state) do if state.connected? do Transport.send state, quit!(msg) - send_event :disconnected, state + send_event(:disconnected, state) Transport.close state end {:reply, :ok, %{state | connected?: false, logged_on?: false, socket: nil}} @@ -548,12 +550,13 @@ defmodule ExIrc.Client do {:noreply, new_state} end # Called when another user joins a channel the client is in - def handle_data(%IrcMessage{nick: user_nick, cmd: "JOIN"} = msg, state) do + def handle_data(%IrcMessage{nick: user_nick, cmd: "JOIN", host: host, user: user} = msg, state) do + sender = %SenderInfo{nick: user_nick, host: host, user: user} channel = msg.args |> List.first |> String.strip if state.debug?, do: debug "ANOTHER USER JOINED A CHANNEL: #{channel} - #{user_nick}" channels = Channels.user_join(state.channels, channel, user_nick) new_state = %{state | channels: channels} - send_event {:joined, channel, user_nick}, new_state + send_event {:joined, channel, sender}, new_state {:noreply, new_state} end # Called on joining a channel, to tell us the channel topic |