ruboty-response 0.0.3 → 0.0.4
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 +8 -0
- data/lib/ruboty/handlers/response.rb +14 -2
- data/lib/ruboty/response/version.rb +1 -1
- 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: 100a6a6a099ff3f5276e70db33f9e113b8b8b9dc
|
4
|
+
data.tar.gz: 6165defa69a1b64107770143b5a009909c9983f4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c6ee2ceeceab7968855acf81003b04ca9f58b79a1e1caba0d096d26991577e6b73e6ff25bf5b788f92bd24a68f9d2044fe9b459ca702de75a9c49c6a335f0df4
|
7
|
+
data.tar.gz: ca4bfc4e7af44f0c80100775f7381c44f4d1d2b73f4af00e3f9c8f0c9bf0f5c7240d823abec0515fc62be83dc48d162c3aeb8273ab8cb0c117549fb44ed32a3a
|
data/README.md
CHANGED
@@ -18,6 +18,10 @@ gem 'ruboty-response'
|
|
18
18
|
@ruboty delete response <id>
|
19
19
|
```
|
20
20
|
|
21
|
+
If you would like to run a shell command, you need to surround it in back quotes.
|
22
|
+
|
23
|
+
e.g. ``@ruboty add response /^time$/ `date```
|
24
|
+
|
21
25
|
## Example
|
22
26
|
|
23
27
|
```
|
@@ -27,4 +31,8 @@ Response 533 is registered.
|
|
27
31
|
bar
|
28
32
|
> fooo
|
29
33
|
>
|
34
|
+
> @ruboty add response /^time$/ `ruby -e 'puts Time.now.to_s'`
|
35
|
+
Response 464 is registered.
|
36
|
+
> time
|
37
|
+
2014-11-20 14:00:00 +0900
|
30
38
|
```
|
@@ -5,13 +5,25 @@ module Ruboty
|
|
5
5
|
|
6
6
|
on /(?<keyword>.+)/, name: 'catchall', hidden: true, all: true
|
7
7
|
|
8
|
-
on /add response \/(?<regex>.+)\/ (?<response
|
8
|
+
on /add response \/(?<regex>.+)\/ (?<response>`?.+`?)/, name: 'add', description: 'Add a response'
|
9
9
|
on /delete response (?<id>.+)/, name: 'delete', description: 'Delete a response'
|
10
10
|
on /list responses\z/, name: 'list', description: 'Show registered responses'
|
11
11
|
|
12
12
|
def catchall(message)
|
13
13
|
responses.each do |id, hash|
|
14
|
-
|
14
|
+
next unless /#{hash[:regex]}/ =~ message[:keyword]
|
15
|
+
|
16
|
+
# If the response is a code
|
17
|
+
if hash[:response] =~ /\A`.+`\z/
|
18
|
+
thread = Thread.start do
|
19
|
+
result = `#{hash[:response].match(/\A`(.+)`\z/)[1]}`.chomp!
|
20
|
+
message.reply(result)
|
21
|
+
end
|
22
|
+
Thread.start do
|
23
|
+
sleep 3
|
24
|
+
thread.kill
|
25
|
+
end
|
26
|
+
else
|
15
27
|
message.reply(hash[:response])
|
16
28
|
end
|
17
29
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruboty-response
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- kaihar4
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-11-
|
11
|
+
date: 2014-11-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ruboty
|