mos-eisley-lambda 0.4.1 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +3 -3
- data/lib/slack.rb +60 -8
- data/mos-eisley-lambda.gemspec +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7f47807ff37bc9efd5d01b8745fc9cfb36796876b03dc50cf5b1f5504d75cfb5
|
4
|
+
data.tar.gz: a9fef8a47a8f9a7c2a7ca36122f047ecfef781f019e40bbcbf5f7eb6d423861d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 19c4a11da675e07f0cd1fd405dbdd1013be87086ad3f93afad9c85f64de9bbc6620beb4a6ff441892ca1590b0e9e3977bfbb2cc343e82b3868ec9bd7a804ec42
|
7
|
+
data.tar.gz: 4c0421f4ad6e9655845c11fac9e981e2cb7f44856744a839df504f314947afdc888e475e801aa30572815495fba9da879fb4dc867ece6e52ab1b9fc002dcb462
|
data/README.md
CHANGED
@@ -100,8 +100,8 @@ end
|
|
100
100
|
|
101
101
|
### Helpers
|
102
102
|
|
103
|
-
`ME::S3PO` – collection of helpers to analyze/create Slack messages.
|
104
|
-
`ME::SlackWeb` – methods for sending payloads to Slack Web API calls.
|
103
|
+
- `ME::S3PO` – collection of helpers to analyze/create Slack messages.
|
104
|
+
- `ME::SlackWeb` – methods for sending payloads to Slack Web API calls.
|
105
105
|
|
106
106
|
## Event Lifecycle
|
107
107
|
|
@@ -128,7 +128,7 @@ Send a message to SQS from another app to send a Slack message
|
|
128
128
|
|
129
129
|
## Using with Lambda Layers
|
130
130
|
|
131
|
-
Used the Makefile to create a zip file which can be uploaded
|
131
|
+
Used the Makefile to create a zip file which can be uploaded to a Lambda Layer.
|
132
132
|
|
133
133
|
```sh
|
134
134
|
make
|
data/lib/slack.rb
CHANGED
@@ -48,11 +48,23 @@ module MosEisley
|
|
48
48
|
post_to_slack('chat.meMessage', data)
|
49
49
|
end
|
50
50
|
|
51
|
-
def self.chat_postephemeral()
|
51
|
+
def self.chat_postephemeral(channel:, blocks: nil, text: nil, thread_ts: nil)
|
52
|
+
chat_send(:postEphemeral, channel, blocks, text, thread_ts)
|
52
53
|
end
|
53
54
|
|
54
55
|
def self.chat_postmessage(channel:, blocks: nil, text: nil, thread_ts: nil)
|
56
|
+
chat_send(:postMessage, channel, blocks, text, thread_ts)
|
57
|
+
end
|
58
|
+
|
59
|
+
def self.chat_schedulemessage(channel:, post_at:, blocks: nil, text: nil, thread_ts: nil)
|
60
|
+
chat_send(:scheduleMessage, channel, blocks, text, thread_ts, post_at)
|
61
|
+
end
|
62
|
+
|
63
|
+
def self.chat_send(m, channel, blocks, text, thread_ts, post_at = nil)
|
55
64
|
data = {channel: channel}
|
65
|
+
if m == :scheduleMessage
|
66
|
+
post_at ? data[:post_at] = post_at : raise
|
67
|
+
end
|
56
68
|
if blocks
|
57
69
|
data[:blocks] = blocks
|
58
70
|
data[:text] = text if text
|
@@ -60,10 +72,7 @@ module MosEisley
|
|
60
72
|
text ? data[:text] = text : raise
|
61
73
|
end
|
62
74
|
data[:thread_ts] = thread_ts if thread_ts
|
63
|
-
post_to_slack(
|
64
|
-
end
|
65
|
-
|
66
|
-
def self.chat_schedulemessage()
|
75
|
+
post_to_slack("chat.#{m}", data)
|
67
76
|
end
|
68
77
|
|
69
78
|
def self.post_response_url(url, payload)
|
@@ -111,9 +120,52 @@ module MosEisley
|
|
111
120
|
def self.views_push(trigger_id:, view:)
|
112
121
|
end
|
113
122
|
|
114
|
-
|
115
|
-
|
116
|
-
|
123
|
+
def self.users_info(user)
|
124
|
+
users_send('info', {user: user})
|
125
|
+
end
|
126
|
+
|
127
|
+
def self.users_list(cursor: nil, limit: nil)
|
128
|
+
params = {include_locale: true}
|
129
|
+
params[:cursor] = cursor if cursor
|
130
|
+
params[:limit] = limit if limit
|
131
|
+
users_send('list', params)
|
132
|
+
end
|
133
|
+
|
134
|
+
def self.users_lookupbyemail(email)
|
135
|
+
users_send('lookupByEmail', {email: email})
|
136
|
+
end
|
137
|
+
|
138
|
+
def self.users_profile_get(user)
|
139
|
+
users_send('profile.get', {user: user})
|
140
|
+
end
|
141
|
+
|
142
|
+
def self.users_send(m, params)
|
143
|
+
l = MosEisley.logger
|
144
|
+
call = "users.#{m}"
|
145
|
+
url ||= BASE_URL + call
|
146
|
+
head = {authorization: "Bearer #{ENV['SLACK_BOT_ACCESS_TOKEN']}"}
|
147
|
+
r = Neko::HTTP.get(url, params, head)
|
148
|
+
if r[:code] != 200
|
149
|
+
l.warn("#{call} HTTP failed: #{r[:message]}")
|
150
|
+
return nil
|
151
|
+
end
|
152
|
+
begin
|
153
|
+
h = JSON.parse(r[:body], {symbolize_names: true})
|
154
|
+
if h[:ok]
|
155
|
+
return h
|
156
|
+
else
|
157
|
+
l.warn("#{call} Slack failed: #{h[:error]}")
|
158
|
+
l.debug("#{h[:response_metadata]}")
|
159
|
+
return nil
|
160
|
+
end
|
161
|
+
rescue
|
162
|
+
return {body: r[:body]}
|
163
|
+
end
|
164
|
+
end
|
165
|
+
|
166
|
+
def self.auth_test
|
167
|
+
post_to_slack('auth.test', '')
|
168
|
+
end
|
117
169
|
|
118
170
|
private
|
119
171
|
|
data/mos-eisley-lambda.gemspec
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mos-eisley-lambda
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ken J.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-08-14 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Ruby based Slack bot framework, for AWS Lambda use. Also provides helpers
|
14
14
|
to analyze/build messages. Event based utilizing SQS.
|