class Slackup::Groups

Public Instance Methods

configured_groups() click to toggle source
# File lib/slackup/groups.rb, line 33
def configured_groups
  @configured_groups ||= config.fetch("groups", [])
end
groups()
Alias for: list
groups_dir() click to toggle source
# File lib/slackup/groups.rb, line 74
def groups_dir
  @groups_dir ||= "groups"
  FileUtils.mkdir_p(@groups_dir)
  @groups_dir
end
list() click to toggle source

{

"ok": true,
"groups": [
    {
        "id": "G0ABC",
        "name": "some-group",
        "is_group": true,
        "created": 1436923155,
        "creator": "UABC",
        "is_archived": false,
        "members": [
        ],
        "topic": {
            "value": "",
            "creator": "",
            "last_set": 0
        },
        "purpose": {
            "value": "Some group",
            "creator": "UABC",
            "last_set": 1437105751
        }
    }
]

}

# File lib/slackup/groups.rb, line 28
def list
  @list ||= client.groups_list["groups"]
end
Also aliased as: groups
messages(group) click to toggle source
# File lib/slackup/groups.rb, line 60
def messages(group)
  client.groups_history(channel: group["id"], count: "1000")
end
write!() click to toggle source
# File lib/slackup/groups.rb, line 51
def write!
  Dir.chdir(groups_dir) do
    groups.each do |group|
      next unless write_group?(group)
      write_messages(group)
    end
  end
end
write_group?(group) click to toggle source
# File lib/slackup/groups.rb, line 37
def write_group?(group)
  whitelisted_group = group["name"] if configured_groups.empty?
  whitelisted_group ||= @configured_groups.find do |group_name|
    group["name"] == group_name
  end
  if whitelisted_group
    p [name, :groups, "Writing #{whitelisted_group}"]
    true
  else
    p [name, :groups, "Skipping #{group["name"]}"]
    false
  end
end
write_messages(group) click to toggle source

api.slack.com/methods/groups.history

# File lib/slackup/groups.rb, line 65
def write_messages(group)
  with_messages group, messages(group) do |messages|
    File.open(backup_filename(group["name"]), "w")  do |f|
      formatted_messages = format_messages(messages)
      f.write serialize(formatted_messages)
    end
  end
end