うまい方法が見つからなかったので(知ってたら教えて下さい)、API叩いてみました。結構強力な操作をしているのでうっかり大事故にならないように気をつけてください、私は責任取れません;)
slack-api gemが必要です。
#! /usr/bin/env ruby
require 'slack'
Slack.configure do |config|
config.token = "YOUR_TOKEN"
end
client = Slack::Client.new
user = client.users_list['members'].find { |u| u['name'] == 'johndoe' }['id']
channels = client.channels_list(exclude_archived: 1)["channels"].select { |c| c["name"].start_with?('foo-') && c['members'].include?(user) }
channels.each do |c|
puts client.channels_kick(channel: c['id'], user: user)
end
雑な解説
u['name']がアカウント名、c['name']がチャンネル名、start_with?のところは要件次第でいろいろだと思います(チャンネル名リストがあるなら突っ込むがいい、とか)。