diff options
author | Paul Schoenfelder <paulschoenfelder@gmail.com> | 2016-03-31 12:25:49 -0500 |
---|---|---|
committer | Paul Schoenfelder <paulschoenfelder@gmail.com> | 2016-03-31 12:25:49 -0500 |
commit | eb822271015334663cbcb66ea98e6bffbe84ee53 (patch) | |
tree | 961ef79ce3b5e784d9fbccf9d6595e70dcd0845b /lib/exirc/channels.ex | |
parent | Merge pull request #46 from jeffweiss/add_test_for_stripping_rank_from_nicks (diff) | |
parent | handle QUIT messages (diff) |
Merge pull request #48 from jeffweiss/handle_quit
handle QUIT messages
Diffstat (limited to 'lib/exirc/channels.ex')
-rw-r--r-- | lib/exirc/channels.ex | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/exirc/channels.ex b/lib/exirc/channels.ex index b7a6d4c..b108de9 100644 --- a/lib/exirc/channels.ex +++ b/lib/exirc/channels.ex @@ -118,6 +118,16 @@ defmodule ExIrc.Channels do users_manip(channel_tree, channel_name, manipfn) end + def user_quit(channel_tree, nick) do + pnick = strip_rank([nick]) + manipfn = fn(channel_nicks) -> :lists.usort(channel_nicks -- pnick) end + foldl = fn(channel_name, new_channel_tree) -> + name = downcase(channel_name) + users_manip(new_channel_tree, name, manipfn) + end + :lists.foldl(foldl, channel_tree, channels(channel_tree)) + end + @doc """ Update the nick of a user in a tracked channel when they change their nick """ |