lita-tipbot 0.1.2 → 0.2.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/lib/lita/handlers/tipbot.rb +138 -0
- data/lita-tipbot.gemspec +1 -1
- data/spec/lita/handlers/tipbot_spec.rb +108 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 36cd785e3457f80c5ebbf7b54a9f663f65f57f87
|
4
|
+
data.tar.gz: 0c995a0e726262b623deb9769e65ed392ed7188f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 383b2a1ec95d4b68d2828890b9ea585a9e7457f787b69ff8f789e8b90231fdbc19398fba634147e55fddf6379d42ed315d3e54ab0d06c5cdf818080efd93aea7
|
7
|
+
data.tar.gz: b4d56a381e2a3c368cf4fe674197b3535c1243ff93d56c529e0cfef926030bc4e0c4aa646556da2042d6dc2f41ace58a70ddb39f27670d88cd6cd5565bb3ed75
|
data/lib/lita/handlers/tipbot.rb
CHANGED
@@ -195,6 +195,144 @@ module Lita
|
|
195
195
|
end
|
196
196
|
end
|
197
197
|
|
198
|
+
# haphazardly give some percentage of people in the room 1-50 doge
|
199
|
+
def make_it_wayne(response)
|
200
|
+
images = [
|
201
|
+
"http://a4.files.saymedia-content.com/image/upload/c_fill,g_face,h_300,q_80,w_300/MTE5NTU2MzE2NDIxMTk1Mjc1.jpg",
|
202
|
+
"http://www.whale.to/c/9_23_09_wayne_newton_kabik-14-570.jpg",
|
203
|
+
"http://www.aceshowbiz.com/images/wennpic/wayne-newton-2013-american-music-awards-01.jpg",
|
204
|
+
"http://thestarsurgery.com/wp-content/uploads/2013/06/Wayne-Newton.jpg",
|
205
|
+
"http://www.mtv.com/crop-images/2013/08/27/WayneNewton_cr_EthanMiller_2009.jpg"
|
206
|
+
]
|
207
|
+
|
208
|
+
response.reply([
|
209
|
+
"Watch out! #{response.user.name} is makin' it Wayne!",
|
210
|
+
images.sample
|
211
|
+
])
|
212
|
+
|
213
|
+
src_hash = user_hash(response.user.mention_name)
|
214
|
+
room_jid = response.message.source.room
|
215
|
+
users = active_room_members room_jid
|
216
|
+
|
217
|
+
# wayne's generosity typically runs out before everyone gets a tip
|
218
|
+
max_recipients = Random.rand(1..users.size)
|
219
|
+
|
220
|
+
max_recipients.times do
|
221
|
+
|
222
|
+
# wayne has had a few too many and forgets who he has already tipped
|
223
|
+
user = users.sample
|
224
|
+
|
225
|
+
log.info "tipping #{user['email']}"
|
226
|
+
|
227
|
+
dest_hash = hash_email user['email']
|
228
|
+
log.debug "SRC HASH: #{src_hash}"
|
229
|
+
log.debug "DEST HASH: #{dest_hash}"
|
230
|
+
log.debug "NAME: #{user['name']}"
|
231
|
+
|
232
|
+
amount = Random.rand(1..50)
|
233
|
+
response.reply "#{amount} for #{user['name']}!"
|
234
|
+
|
235
|
+
tipbot_api.tip src_hash, dest_hash, amount
|
236
|
+
end
|
237
|
+
end
|
238
|
+
|
239
|
+
# give a random person a random amount of 1-200 doge
|
240
|
+
def make_it_blaine(response)
|
241
|
+
images = [
|
242
|
+
"http://cdn.images.express.co.uk/img/dynamic/79/590x/444280_1.jpg",
|
243
|
+
"http://currentbuzz.my/Documents/Article/508176/TV%20street%20magician%20David%20Blaine_i2_cdnds_net.jpg",
|
244
|
+
"http://i.dailymail.co.uk/i/pix/2012/10/08/article-2214386-15633B31000005DC-349_306x423.jpg",
|
245
|
+
"http://i.telegraph.co.uk/multimedia/archive/01394/blaine_1394717c.jpg",
|
246
|
+
"http://i.ytimg.com/vi/fqJ0GaVU344/hqdefault.jpg"
|
247
|
+
]
|
248
|
+
|
249
|
+
response.reply([
|
250
|
+
"What's that behind your ear? #{response.user.name} is makin' it Blaine!",
|
251
|
+
images.sample
|
252
|
+
])
|
253
|
+
|
254
|
+
src_hash = user_hash(response.user.mention_name)
|
255
|
+
room_jid = response.message.source.room
|
256
|
+
users = active_room_members room_jid
|
257
|
+
|
258
|
+
user = users.sample
|
259
|
+
amount = Random.rand(1..200)
|
260
|
+
|
261
|
+
log.info "tipping #{user['email']}"
|
262
|
+
|
263
|
+
dest_hash = hash_email user['email']
|
264
|
+
log.debug "SRC HASH: #{src_hash}"
|
265
|
+
log.debug "DEST HASH: #{dest_hash}"
|
266
|
+
log.debug "NAME: #{user['name']}"
|
267
|
+
|
268
|
+
response.reply "Someone just received #{amount}!"
|
269
|
+
tipbot_api.tip src_hash, dest_hash, amount
|
270
|
+
end
|
271
|
+
|
272
|
+
# give a random person a random amount of 1-32 doge
|
273
|
+
def make_it_crane(response)
|
274
|
+
images = [
|
275
|
+
"http://upload.wikimedia.org/wikipedia/en/6/68/Frasier_Crane_Shrink_Wrap_radio_station_KACL.jpg",
|
276
|
+
"http://0.media.dorkly.cvcdn.com/47/63/8525949c344ca18f060a73d22e4cafde-dr-frasier-crane.jpg",
|
277
|
+
"http://rushthefence.com/content/images/2014/Mar/Morgan_Bateson.jpg",
|
278
|
+
"https://38.media.tumblr.com/97d26f1f5c3979b5d0ca26a49490c946/tumblr_mk8hl1u5va1s2n8qho1_500.png",
|
279
|
+
"http://snakkle.wpengine.netdna-cdn.com/wp-content/uploads/2012/09/kelsey-grammer-cheers-tv-1985-photo-GC.jpg"
|
280
|
+
]
|
281
|
+
|
282
|
+
response.reply([
|
283
|
+
"#{response.user.name} is makin' it Frasier Crane!",
|
284
|
+
images.sample
|
285
|
+
])
|
286
|
+
|
287
|
+
src_hash = user_hash(response.user.mention_name)
|
288
|
+
room_jid = response.message.source.room
|
289
|
+
users = active_room_members room_jid
|
290
|
+
|
291
|
+
user = users.sample
|
292
|
+
amount = Random.rand(1..32)
|
293
|
+
|
294
|
+
log.info "tipping #{user['email']}"
|
295
|
+
|
296
|
+
dest_hash = hash_email user['email']
|
297
|
+
log.debug "SRC HASH: #{src_hash}"
|
298
|
+
log.debug "DEST HASH: #{dest_hash}"
|
299
|
+
log.debug "NAME: #{user['name']}"
|
300
|
+
|
301
|
+
response.reply "#{user['name']} just received #{amount}!"
|
302
|
+
tipbot_api.tip src_hash, dest_hash, amount
|
303
|
+
end
|
304
|
+
|
305
|
+
# give a random person a random amount of 1-32 doge
|
306
|
+
def make_it_reign(response)
|
307
|
+
images = [
|
308
|
+
"http://i.imgur.com/WOzIWAs.gif",
|
309
|
+
"http://i.imgur.com/QlhuS09.gif",
|
310
|
+
"http://i.imgur.com/8RC90ul.gif"
|
311
|
+
]
|
312
|
+
|
313
|
+
response.reply([
|
314
|
+
"#{response.user.name} is makin' it Reign!",
|
315
|
+
images.sample
|
316
|
+
])
|
317
|
+
|
318
|
+
src_hash = user_hash(response.user.mention_name)
|
319
|
+
room_jid = response.message.source.room
|
320
|
+
users = active_room_members room_jid
|
321
|
+
|
322
|
+
user = users.sample
|
323
|
+
amount = Random.rand(1..32)
|
324
|
+
|
325
|
+
log.info "tipping #{user['email']}"
|
326
|
+
|
327
|
+
dest_hash = hash_email user['email']
|
328
|
+
log.debug "SRC HASH: #{src_hash}"
|
329
|
+
log.debug "DEST HASH: #{dest_hash}"
|
330
|
+
log.debug "NAME: #{user['name']}"
|
331
|
+
|
332
|
+
response.reply "#{user['name']} just received #{amount}!"
|
333
|
+
tipbot_api.tip src_hash, dest_hash, amount
|
334
|
+
end
|
335
|
+
|
198
336
|
attr_writer :hipchat_api, :tipbot_api
|
199
337
|
|
200
338
|
def hipchat_api
|
data/lita-tipbot.gemspec
CHANGED
@@ -93,6 +93,114 @@ describe Lita::Handlers::Tipbot, lita_handler: true do
|
|
93
93
|
end
|
94
94
|
end
|
95
95
|
|
96
|
+
describe '#make_it_wayne' do
|
97
|
+
let(:active_users) {
|
98
|
+
[
|
99
|
+
{
|
100
|
+
'name' => user.name,
|
101
|
+
'mention_name' => user.mention_name,
|
102
|
+
'email' => 'test@foo.com'
|
103
|
+
},
|
104
|
+
{
|
105
|
+
'name' => 'someguy',
|
106
|
+
'mention_name' => '@someguy',
|
107
|
+
'email' => 'someguy@foo.com'
|
108
|
+
}
|
109
|
+
]
|
110
|
+
}
|
111
|
+
|
112
|
+
before(:each) do
|
113
|
+
allow(subject).to receive(:active_room_members).and_return(active_users)
|
114
|
+
subject.tipbot_api = spy('tip')
|
115
|
+
end
|
116
|
+
|
117
|
+
it 'tips a user' do
|
118
|
+
send_message("tipbot make it wayne")
|
119
|
+
expect(subject.tipbot_api).to have_received(:tip).at_least(:once)
|
120
|
+
end
|
121
|
+
end
|
122
|
+
|
123
|
+
describe '#make_it_blaine' do
|
124
|
+
let(:active_users) {
|
125
|
+
[
|
126
|
+
{
|
127
|
+
'name' => user.name,
|
128
|
+
'mention_name' => user.mention_name,
|
129
|
+
'email' => 'test@foo.com'
|
130
|
+
},
|
131
|
+
{
|
132
|
+
'name' => 'someguy',
|
133
|
+
'mention_name' => '@someguy',
|
134
|
+
'email' => 'someguy@foo.com'
|
135
|
+
}
|
136
|
+
]
|
137
|
+
}
|
138
|
+
|
139
|
+
before(:each) do
|
140
|
+
allow(subject).to receive(:active_room_members).and_return(active_users)
|
141
|
+
end
|
142
|
+
|
143
|
+
it 'tips one and only one user' do
|
144
|
+
subject.tipbot_api = spy('tip')
|
145
|
+
send_message("tipbot make it blaine")
|
146
|
+
expect(subject.tipbot_api).to have_received(:tip).once
|
147
|
+
end
|
148
|
+
end
|
149
|
+
|
150
|
+
describe '#make_it_crane' do
|
151
|
+
let(:active_users) {
|
152
|
+
[
|
153
|
+
{
|
154
|
+
'name' => user.name,
|
155
|
+
'mention_name' => user.mention_name,
|
156
|
+
'email' => 'test@foo.com'
|
157
|
+
},
|
158
|
+
{
|
159
|
+
'name' => 'someguy',
|
160
|
+
'mention_name' => '@someguy',
|
161
|
+
'email' => 'someguy@foo.com'
|
162
|
+
}
|
163
|
+
]
|
164
|
+
}
|
165
|
+
|
166
|
+
before(:each) do
|
167
|
+
allow(subject).to receive(:active_room_members).and_return(active_users)
|
168
|
+
end
|
169
|
+
|
170
|
+
it 'tips one and only one user' do
|
171
|
+
subject.tipbot_api = spy('tip')
|
172
|
+
send_message("tipbot make it crane")
|
173
|
+
expect(subject.tipbot_api).to have_received(:tip).once
|
174
|
+
end
|
175
|
+
end
|
176
|
+
|
177
|
+
describe '#make_it_reign' do
|
178
|
+
let(:active_users) {
|
179
|
+
[
|
180
|
+
{
|
181
|
+
'name' => user.name,
|
182
|
+
'mention_name' => user.mention_name,
|
183
|
+
'email' => 'test@foo.com'
|
184
|
+
},
|
185
|
+
{
|
186
|
+
'name' => 'someguy',
|
187
|
+
'mention_name' => '@someguy',
|
188
|
+
'email' => 'someguy@foo.com'
|
189
|
+
}
|
190
|
+
]
|
191
|
+
}
|
192
|
+
|
193
|
+
before(:each) do
|
194
|
+
allow(subject).to receive(:active_room_members).and_return(active_users)
|
195
|
+
end
|
196
|
+
|
197
|
+
it 'tips one and only one user' do
|
198
|
+
subject.tipbot_api = spy('tip')
|
199
|
+
send_message("tipbot make it reign")
|
200
|
+
expect(subject.tipbot_api).to have_received(:tip).once
|
201
|
+
end
|
202
|
+
end
|
203
|
+
|
96
204
|
describe '#hash_email' do
|
97
205
|
it 'hashes properly' do
|
98
206
|
email = 'cchalfant@leafsoftwaresolutions.com'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lita-tipbot
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Chalfant
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-04-
|
11
|
+
date: 2015-04-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: lita
|