-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathslackProvisioning.rb
More file actions
executable file
·62 lines (52 loc) · 1.53 KB
/
slackProvisioning.rb
File metadata and controls
executable file
·62 lines (52 loc) · 1.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# Author: Fernando Oliveira
# Data : 2017-01-06
require "slack"
$token =
$client = Slack::Client.new token: $token
$param1 = ARGV[0]
$param2 = ARGV[1]
$param3 = ARGV[2]
# Get users list
def getUsers(user)
users = Hash[$client.users_list["members"].map{|m| [m["id"], m["name"]]}]
return users.key(user)
end
def getChannels(channel)
channels = Hash[$client.channels_list["channels"].map{|m| [m["id"],m["name"]]}]
return channels.key(channel)
end
def create_channel(name=$param2)
$client.channels_create name: name
end
def channels_invite()
channel = getChannels($param2)
user = getUsers($param3)
$client.channels_invite channel: channel, user: user
end
def channels_kick()
channel = getChannels($param2)
user = getUsers($param3)
$client.channels_kick channel: channel, user: user
end
case $param1
when "create_channel"
create_channel
when "channels_invite"
channels_invite
when "channels_kick"
channels_kick
when "getChannels"
getChannels
when "getUsers"
getUsers
else
puts "********************************************************"
puts " SlackProvisiong by BRFSO "
puts " usage: "
puts " ruby ./slackProvision.rb <Operator> <Param1> <Param2>"
puts " Operators: "
puts " create_channel <channel name> "
puts " channels_invite <channel name> <username> "
puts " channels_kick "
puts "********************************************************"
end