anchor.diff:      NewRef = getChannelInfo(Pid, State#state.slackToken),
       State#state{slackRef = NewRef, slackUsers = Users};
   handleInfo({gun_data, Pid, Ref, fin, Body},
  -    State = #state{slackRef = {"channels.list", Ref, SoFar}}) ->
  +           State = #state{slackRef = {"channels.list", Ref, SoFar}}) ->
       JSON     = jsx:decode(<<SoFar/binary, Body/binary>>, [return_maps]),
       Channels = maps:get(<<"channels">>, JSON),
       NewRef   = getUserProfile(Pid, State#state.slackToken),
       State#state{slackRef = NewRef, slackChannels = Channels};
  -handleInfo({gun_data, _Pid, Ref, fin, Body},
  -    State = #state{slackRef = {"users.profile.get", Ref, SoFar}}) ->
  +handleInfo({gun_data, Pid, Ref, fin, Body},
  +           State = #state{slackRef = {"users.profile.get", Ref, SoFar}}) ->
       JSON        = jsx:decode(<<SoFar/binary, Body/binary>>, [return_maps]),
       UserProfile = maps:get(<<"profile">>, JSON),
       State#state{slackRef = undefined, userProfile = UserProfile};
  
positive.code:     end.
  
  getUserName(User, #state{slackUsers = SlackUsers}) ->
      getUserName(User, SlackUsers);
  
  getUserName(User, []) ->
      User;
  getUserName(User, [SlackUser|Rest]) ->
      case User == maps:get(<<"id">>, SlackUser, <<>>) of
          true ->
              savePortrait(User, SlackUser);
          false ->
              getUserName(User, Rest)
      end.
  
  getChannelName(Channel, #state{slackChannels = SlackChannels}) ->
  
negative.code:     ok;
  postChatMessage(State, [Owner|Rest], User, Text) ->
      case eTodoUtils:getPeerInfo(Owner) of
          {User, "!" ++ SlackChannel} ->
              postChatMessage(State, SlackChannel, Text);
          {User, "#" ++ SlackChannel} ->
              postChatMessage(State, "#" ++ SlackChannel, Text);
          _ ->
  