LoginSignup
8
4

More than 5 years have passed since last update.

Slackの招待メールの人数制限を非公開APIを使って調べてみた

Posted at

Slackには招待メールを送れる数に地味に制限があるようで、
しかしながら軽く調べてみても、明確な数値の記載がないみたいだったので調べてみた。

https://get.slack.help/hc/en-us/articles/201330256#invitation_limits
ちなみに、招待を送っているけどあんまり承認されてない時に制限をかけるら?しい。

※ 雑に調べたので信憑性に欠けるかもしれません

非公式API

https://api.slack.com/methods に載ってないですが、招待メールを送るAPIがあるようです。
https://TEAM_NAME.slack.com/api/users.admin.invite?email=EMAIL&token=TOKEN&set_active=true
TOKENはadmin権限のユーザーのtokenが必要なようです。

参照 : http://qiita.com/hiconyan/items/634df8b5fb2392fc90cd

検証コード

雑な感じですが、とりあえず1000回試してみるコード

slack.rb
require 'faraday'
require 'json'

token = 'set-your-admin-user-token'
team_name = 'set-your-team-name'

1000.times do |i|
  conn = Faraday.new(url: "https://#{team_name}.slack.com/api/users.admin.invite")
  response = conn.get do |req|
    req.params[:email] = "your.email+#{i + 1}@hogehoge.com"
    req.params[:token] = token
    req.params[:set_active] = true
  end
  json = JSON.parse(response.body)
  next  puts "#{i + 1} ok" if json['ok']
  break puts "#{i + 1} #{json['error']}"
end
99 ok
100 ok
101 invite_limit_reached

101回目でエラーが。

試しに違うチームを作ってもう一度やってみる

99 ok
100 ok
101 invite_limit_reached

こちらも101回目でエラー

結果

100人までは大丈夫みたいでした。

ちなみに制限に達した場合、過去の招待をrevokeしたとしても制限が解除されるわけではないっぽいので、注意が必要です。
制限を解除するにはslackのサポートに問い合わせる必要があるようです。

8
4
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
8
4