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_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