slack-cli 0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/bin/slack-cli +42 -0
  3. metadata +131 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: eb312d9cf901f9f0769a9b0203bad4c715d0dd05
4
+ data.tar.gz: 386d017987747e8b585ddedb8d1a34f781e4d2a2
5
+ SHA512:
6
+ metadata.gz: 00e0ea8f6020be734ba1f07a3d1ce6c3b40e2578c63fb19d4c0a6241475be20339456f41141934815460389520506e03a6e830a46988b3c22fa48784bcb69521
7
+ data.tar.gz: 62a50fd29f664a7e08a501215d084bc43844763be25d29c111884be07bb72e2a89b5700158b2f8449374140a586ba0430682e5ef3b090b021b6b221e041d336e
@@ -0,0 +1,42 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require 'yaml'
5
+ require 'slack-ruby-client'
6
+
7
+ if File.exist?(ENV['HOME'] + '/.slack-cli.yml') == false
8
+ puts 'echo "token: YOUR TOKEN" > ~/.slack-cli.yml'
9
+ exit(1)
10
+ end
11
+
12
+ if ARGV.count != 3
13
+ puts 'Usage: slack-cli "slack-name" "channel|@user" "message"'
14
+ exit(1)
15
+ end
16
+
17
+ slack_name = ARGV[0]
18
+
19
+ channel = ARGV[1]
20
+ message = ARGV[2]
21
+
22
+ options = YAML.load_file(ENV['HOME'] + '/.slack-cli.yml')
23
+ p options
24
+ if options[slack_name] == nil or options[slack_name]['token'] == nil
25
+ puts 'Cannot found token in ~/.slack-cli.yml'
26
+ exit(1)
27
+ end
28
+
29
+ client = Slack::Web::Client.new(token: options[slack_name]['token'])
30
+ client.auth_test
31
+
32
+ nbr_try = 0
33
+ begin
34
+ client.chat_postMessage(channel: channel, text: message, as_user: true)
35
+ rescue Exception => e
36
+ if nbr_try == 0 and e.message == 'channel_not_found'
37
+ channel = "@#{channel}"
38
+ retry
39
+ end
40
+ nbr_try += 1
41
+ puts e.message
42
+ end
metadata ADDED
@@ -0,0 +1,131 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: slack-cli
3
+ version: !ruby/object:Gem::Version
4
+ version: '0.1'
5
+ platform: ruby
6
+ authors:
7
+ - Gaëtan JUVIN
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-09-10 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.12'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.12'
27
+ - !ruby/object:Gem::Dependency
28
+ name: slack-ruby-client
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 0.7.7
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 0.7.7
41
+ - !ruby/object:Gem::Dependency
42
+ name: activesupport
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '5.0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '5.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: json
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '2.0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '2.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: thread_safe
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '0.3'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '0.3'
83
+ - !ruby/object:Gem::Dependency
84
+ name: minitest
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '5.9'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '5.9'
97
+ description: Small CLI client to slack. :-)
98
+ email:
99
+ - gaetanjuvin@gmail.com
100
+ executables:
101
+ - slack-cli
102
+ extensions: []
103
+ extra_rdoc_files: []
104
+ files:
105
+ - bin/slack-cli
106
+ homepage: http://github.io
107
+ licenses:
108
+ - MIT
109
+ metadata:
110
+ allowed_push_host: https://rubygems.org
111
+ post_install_message:
112
+ rdoc_options: []
113
+ require_paths:
114
+ - lib
115
+ required_ruby_version: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - ">="
118
+ - !ruby/object:Gem::Version
119
+ version: '0'
120
+ required_rubygems_version: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ requirements: []
126
+ rubyforge_project:
127
+ rubygems_version: 2.5.1
128
+ signing_key:
129
+ specification_version: 4
130
+ summary: Small CLI client in Ruby to Slack.
131
+ test_files: []