LoginSignup
0
0

More than 5 years have passed since last update.

Slackでたくさんのチャンネルからまとめて特定のユーザーをkickするrubyスクリプト

Posted at

うまい方法が見つからなかったので(知ってたら教えて下さい)、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?のところは要件次第でいろいろだと思います(チャンネル名リストがあるなら突っ込むがいい、とか)。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0