slackbot_frd 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: cb2881a44943ab20e70ea1b0805c5f402273e273
4
- data.tar.gz: ead056bcf941443b3618bea5aaff6d7a620743f9
3
+ metadata.gz: b2240170ccf01432884e8c7074a50cb0f64dfa69
4
+ data.tar.gz: e7c68384e40e0c33eb2ba5e1d4559642165d0406
5
5
  SHA512:
6
- metadata.gz: dc6ca7b4a660ec8e3de5f0fbb91b473e5be6ea7b22929d3023d5df5a0766978c1f4202f45f11f86c7c856bfcaaf07339ecec11d195cf93b87777734c01d58c84
7
- data.tar.gz: dcd3c54bd7714e2f69a095c593caedaa5b6d361c6448b26af0655365a8895ed4b909a0cfb66a6f8d2cc83040e5585618c1e8ef31cc16a9779b123473d2e08fbf
6
+ metadata.gz: 201766121026759cf6d3d0c49e9251b0fd5513d0101ceb8d89d47e81a8241f6e3eb67f99659c022299d74f5fef8354721e2e9570b32f27791c21c880b46a6689
7
+ data.tar.gz: de8ed18267661681bb6f9d0238b285ec2d4419b156674db40a94a2b4bf5e3cb82baad9eb7e0c252023338ad28f953a5de034d48545900a17ec6409ba5731d713
data/bin/slackbot-frd CHANGED
@@ -41,6 +41,14 @@ class SlackbotFrdBin < Thor
41
41
  end
42
42
  end
43
43
 
44
+ desc "new", "Generate a new slackbot_frd project"
45
+ long_desc <<-LONGDESC
46
+ new will generate a skeleton for a new slackbot_frd project
47
+ LONGDESC
48
+ def genconfig
49
+
50
+ end
51
+
44
52
  desc "genconfig", "Generate a skeleton config file"
45
53
  long_desc <<-LONGDESC
46
54
  genconfig will generate a skeleton config file that
@@ -11,6 +11,7 @@ require 'slackbot_frd/slack_methods/rtm_start'
11
11
  require 'slackbot_frd/slack_methods/chat_post_message'
12
12
  require 'slackbot_frd/slack_methods/im_channels_list'
13
13
  require 'slackbot_frd/slack_methods/channels_list'
14
+ require 'slackbot_frd/slack_methods/channels_info'
14
15
  require 'slackbot_frd/slack_methods/users_list'
15
16
 
16
17
  module SlackbotFrd
@@ -110,7 +111,7 @@ module SlackbotFrd
110
111
  end
111
112
  end
112
113
 
113
- def send_message_as_user(channel, message)
114
+ def send_message(channel, message)
114
115
  unless @ws
115
116
  log_and_add_to_error_file("Cannot send message '#{message}' as user to channel '#{channel}' because not connected to wss stream")
116
117
  end
@@ -131,7 +132,7 @@ module SlackbotFrd
131
132
  end
132
133
  end
133
134
 
134
- def send_message(channel, message, username, avatar, avatar_is_emoji)
135
+ def send_message_as_user(channel, message, username, avatar, avatar_is_emoji)
135
136
  SlackbotFrd::Log::debug("#{self.class}: Sending message '#{message}' as user '#{username}' to channel '#{channel}'")
136
137
 
137
138
  resp = SlackbotFrd::SlackMethods::ChatPostMessage.postMessage(
@@ -150,6 +151,27 @@ module SlackbotFrd
150
151
  @restrict_actions_to_channels_joined = value
151
152
  end
152
153
 
154
+ def users_in_channel(channel)
155
+ a = SlackMethods::ChannelsInfo.members(@token, channel_name_to_id(channel))
156
+ a.map{ |id| user_id_to_name(id) }
157
+ end
158
+
159
+ def user_ids(force_refresh = false)
160
+ @user_id_to_name.keys
161
+ end
162
+
163
+ def user_names(force_refresh = false)
164
+ @user_name_to_id.keys
165
+ end
166
+
167
+ def channel_ids(force_refresh = false)
168
+ @user_id_to_name.keys
169
+ end
170
+
171
+ def channel_names(force_refresh = false)
172
+ @channel_name_to_id.keys
173
+ end
174
+
153
175
  def user_id_to_name(user_id)
154
176
  return user_id if user_id == :any || user_id == :bot
155
177
  unless @user_id_to_name && @user_id_to_name.has_key?(user_id)
@@ -0,0 +1,33 @@
1
+ require 'httparty'
2
+ require 'json'
3
+
4
+ module SlackbotFrd
5
+ module SlackMethods
6
+ class ChannelsInfo
7
+ include HTTParty
8
+ base_uri 'https://slack.com/api/channels.info'
9
+
10
+ attr_reader :response
11
+
12
+ def self.members(token, channel)
13
+ ChannelsInfo.new(token, channel).connect.members
14
+ end
15
+
16
+ def initialize(token, channel)
17
+ @token = token
18
+ @channel = channel
19
+ end
20
+
21
+ def connect
22
+ @response = JSON.parse(self.class.post('', :body => { token: @token, channel: @channel } ).body)
23
+ self
24
+ end
25
+
26
+ def members
27
+ @response["channel"]["members"]
28
+ end
29
+ alias_method :users, :members
30
+
31
+ end
32
+ end
33
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: slackbot_frd
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Porter
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-09 00:00:00.000000000 Z
11
+ date: 2015-04-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -158,6 +158,7 @@ files:
158
158
  - lib/slackbot_frd/lib/log.rb
159
159
  - lib/slackbot_frd/lib/slack_connection.rb
160
160
  - lib/slackbot_frd/lib/user_channel_callbacks.rb
161
+ - lib/slackbot_frd/slack_methods/channels_info.rb
161
162
  - lib/slackbot_frd/slack_methods/channels_list.rb
162
163
  - lib/slackbot_frd/slack_methods/chat_post_message.rb
163
164
  - lib/slackbot_frd/slack_methods/im_channels_list.rb