summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorPaul Schoenfelder <paulschoenfelder@gmail.com>2016-04-02 09:30:02 -0500
committerPaul Schoenfelder <paulschoenfelder@gmail.com>2016-04-02 09:30:02 -0500
commit7a49bf089b5eec51d65d012302a2c7c122abe989 (patch)
treea4f621b2cc9fd8c3cdbdf4c87ec531ab7c6a4c54 /lib
parentMerge pull request #48 from jeffweiss/handle_quit (diff)
parentchanged the map style (diff)
Merge pull request #43 from Annwenn/master
Support another event.
Diffstat (limited to 'lib')
-rw-r--r--lib/exirc/client.ex11
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