protonbot 0.3.4 → 0.3.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +0 -1
- data/lib/protonbot/core_plugin/hooks/joinpart.rb +3 -1
- data/lib/protonbot/core_plugin/hooks/kick.rb +4 -1
- data/lib/protonbot/core_plugin/hooks/privmsg.rb +16 -12
- data/lib/protonbot/plug_events.rb +12 -11
- data/lib/protonbot/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: a772965bfa57f36c06a51808af88c35fb4afbc61
|
4
|
+
data.tar.gz: 439f4b4d8a940956c5e5beaed8c16ef0d94d7c7f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5b00a3d7b99320460128b0c8e8dcd7c6b449890d7923d70cd5f2e6c2e62b8cff327949b471ad41e83d68ddc0901f327e387bc6388927e6d39ecf15cdfab38502
|
7
|
+
data.tar.gz: de17f7368e8e0df77565bbde008fcbf5659a30a136a821e847c634a8fe911cc8981695eeab3f648510b3a3621fdf5167db7aae4cd09f110bff6a5a97a775c421
|
data/Gemfile
CHANGED
@@ -31,10 +31,12 @@ hook(type: :upart) do |dat|
|
|
31
31
|
|
32
32
|
if dat[:nick] == dat[:plug].nick && /requested by .*/.match(dat[:message])
|
33
33
|
dat[:plug].join(dat[:channel])
|
34
|
+
elsif dat[:nick] == dat[:plug].nick
|
35
|
+
dat[:plug].chans.delete(dat[:channel])
|
34
36
|
end
|
35
37
|
end
|
36
38
|
|
37
|
-
hook(type: :
|
39
|
+
hook(type: :uquit) do |dat|
|
38
40
|
dat[:plug].chans.each do |chan|
|
39
41
|
chan[:users].delete(dat[:nick]) if chan[:users]
|
40
42
|
end
|
@@ -13,5 +13,8 @@ hook(type: :ukick) do |dat|
|
|
13
13
|
dat[:plug].chans[dat[:channel]][:users].delete dat[:target] if
|
14
14
|
dat[:plug].chans[dat[:channel]][:users].include? dat[:target]
|
15
15
|
|
16
|
-
|
16
|
+
if dat[:target] == dat[:plug].nick
|
17
|
+
dat[:plug].chans.delete dat[:channel]
|
18
|
+
dat[:plug].join(dat[:channel])
|
19
|
+
end
|
17
20
|
end
|
@@ -19,12 +19,14 @@ hook(type: :privmsg) do |dat|
|
|
19
19
|
|
20
20
|
# CTCP
|
21
21
|
if dat[:message][0] == "\x01" && dat[:message][-1] == "\x01"
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
22
|
+
dat1 = dat.clone
|
23
|
+
dat1[:type] = :ctcp
|
24
|
+
dat1[:message] = dat1[:message][1..(dat1[:message].length - 2)]
|
25
|
+
s = dat1[:message].split(' ')
|
26
|
+
dat1[:cmd] = s[0]
|
27
|
+
(dat1[:split] = s[1, s.length - 1]) || []
|
28
|
+
privmsg_patch(dat1)
|
29
|
+
emit(dat1)
|
28
30
|
end
|
29
31
|
|
30
32
|
# Command-checker
|
@@ -52,11 +54,13 @@ hook(type: :notice) do |dat|
|
|
52
54
|
|
53
55
|
# CTCP
|
54
56
|
if dat[:message][0] == "\x01" && dat[:message][-1] == "\x01"
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
57
|
+
dat1 = dat.clone
|
58
|
+
dat1[:type] = :nctcp
|
59
|
+
dat1[:message] = dat1[:message][1..(dat1[:message].length - 2)]
|
60
|
+
s = dat1[:message].split(' ')
|
61
|
+
dat1[:cmd] = s[0]
|
62
|
+
(dat1[:split] = s[1, s.length - 1]) || []
|
63
|
+
privmsg_patch(dat1)
|
64
|
+
emit(dat1)
|
61
65
|
end
|
62
66
|
end
|
@@ -3,19 +3,20 @@ class ProtonBot::Plug
|
|
3
3
|
# @param dat [Hash] Event hash
|
4
4
|
# @return [Plug] self
|
5
5
|
def emit(dat = {})
|
6
|
+
hooks = []
|
6
7
|
bot.plugins.each do |_, p|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
8
|
+
hooks += p.hooks
|
9
|
+
end
|
10
|
+
hooks = hooks.keep_if do |hook|
|
11
|
+
dat >= hook.pattern
|
12
|
+
end
|
13
|
+
hooks.each do |h|
|
14
|
+
canrun = true
|
15
|
+
h.chain.each do |l|
|
16
|
+
next unless canrun
|
17
|
+
canrun = l.call(dat, h)
|
17
18
|
end
|
18
|
-
|
19
|
+
h.block.call(dat) if canrun
|
19
20
|
end
|
20
21
|
event_locks.each_with_index do |el, k|
|
21
22
|
if dat >= el.pattern
|
data/lib/protonbot/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: protonbot
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nickolay Ilyushin
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-04-
|
11
|
+
date: 2017-04-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|