Sha256: a705ea8f43796c63af5b7c4ee43054d18f9461c21b93b07deed57d3a651e40c1

Contents?: true

Size: 1.61 KB

Versions: 6

Compression:

Stored size: 1.61 KB

Contents

class SlackSmartBot
  def get_team_members(team)
    assigned_members = team.members.values.flatten
    assigned_members.uniq!
    assigned_members.dup.each do |m|
      user_info = @users.select { |u| u.id == m or (u.key?(:enterprise_user) and u.enterprise_user.id == m) or u.name == m or (u.key?(:enterprise_user) and u.enterprise_user.name == m) }[-1]
      assigned_members.delete(m) if user_info.nil? or user_info.deleted
    end
    channels_members = []
    all_team_members = assigned_members.dup
    if team.channels.key?("members")
      team_members = []
      team.channels["members"].each do |ch|
        get_channels_name_and_id() unless @channels_id.key?(ch)
        tm = get_channel_members(@channels_id[ch])
        if tm.nil?
          respond ":exclamation: Add the Smart Bot to *##{ch}* channel to be able to get the list of members.", dest
        else
          channels_members << @channels_id[ch]
          tm.each do |m|
            user_info = @users.select { |u| u.id == m or (u.key?(:enterprise_user) and u.enterprise_user.id == m) }[-1]
            team_members << user_info.name unless user_info.is_app_user or user_info.is_bot
          end
        end
      end
      team_members.flatten!
      team_members.uniq!
      unassigned_members = team_members - assigned_members
      unassigned_members.delete(config.nick)
      not_on_team_channel = assigned_members - team_members
      all_team_members += team_members
    else
      unassigned_members = []
      not_on_team_channel = []
    end

    return assigned_members, unassigned_members, not_on_team_channel, channels_members, all_team_members
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
slack-smart-bot-1.14.2 lib/slack/smart-bot/utils/get_team_members.rb
slack-smart-bot-1.14.1 lib/slack/smart-bot/utils/get_team_members.rb
slack-smart-bot-1.14.0 lib/slack/smart-bot/utils/get_team_members.rb
slack-smart-bot-1.13.2 lib/slack/smart-bot/utils/get_team_members.rb
slack-smart-bot-1.13.1 lib/slack/smart-bot/utils/get_team_members.rb
slack-smart-bot-1.13.0 lib/slack/smart-bot/utils/get_team_members.rb