mos-eisley-lambda 0.4.1 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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.
|