protonbot-chanop 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 89113e464b2106fac68e73d70dff4745fd058794
4
- data.tar.gz: 97823e54d8fb57c71e9523cd7ff1a7f2ff930dea
3
+ metadata.gz: 48ea55e67b8525beda08823972f2143e2d086b20
4
+ data.tar.gz: 2851f74cf935a12139fef4b4318eae35e7591839
5
5
  SHA512:
6
- metadata.gz: 9eec73915a23053407c612e3c87b2d37db8d46fb17660f195058bf5538f182d0703a522fbe8731b24cc672328d46b1790c40c9a7b17bd6fff79130c223727383
7
- data.tar.gz: ce771242271d4a5ae6a4bf2eeb7d2b75c21c9777f6c201ee8e91421d90bfa74a1398d298e6e70a57c67fe1c62d07b2b30513306651ce2e05fc67b7700c03712d
6
+ metadata.gz: 98de97adc76d6b79b2f9f4f31a89f360a57d5ed497346c1206cd5c8b03a54f3d32534193c6c6bb34e4e66c9b3f7c40c1759eaee943d58498700f670cb77a90ab
7
+ data.tar.gz: 7b99239e01bfa28ddb053cfd22cfbca49b444ef39788e2885f463148f5c88537f8ba814a5e0cdceb645947c9517a1923d48264b1f7710ea8f92db118b2c24030
data/.gitignore CHANGED
@@ -7,3 +7,5 @@
7
7
  /pkg/
8
8
  /spec/reports/
9
9
  /tmp/
10
+
11
+ *.sublime*
data/LICENSE.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2017 Nickolay
3
+ Copyright (c) 2017 Nickolay Ilyushin
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -128,7 +128,7 @@ cmd(cmd: 'unexcempt') do |dat|
128
128
  end
129
129
  end.perm!('excempt')
130
130
 
131
- core.help_add('chanop', 'kick', 'kick [chan] <target>',
131
+ core.help_add('chanop', 'kick', 'kick [chan] <target> [reason]',
132
132
  'Kicks target from this/given channel')
133
133
  cmd(cmd: 'kick') do |dat|
134
134
  case dat[:split].length
@@ -137,10 +137,15 @@ cmd(cmd: 'kick') do |dat|
137
137
  when 1
138
138
  dat[:plug].kick(dat[:target], dat[:split][0])
139
139
  when 2..512
140
- dat[:plug].kick(dat[:split][0], dat[:split][1], dat[:split][2..dat[:split].length-1].join(' '))
140
+ if %w(# + ! &).include? dat[:split][0][0]
141
+ dat[:plug].kick(dat[:split][0], dat[:split][1], dat[:split][2..dat[:split].length].join(' '))
142
+ else
143
+ dat[:plug].kick(dat[:target], dat[:split][0], dat[:split][1..dat[:split].length].join(' '))
144
+ end
141
145
  end
142
146
  end.perm!('kick')
143
147
 
148
+ core.help_add('chanop', 'remove', 'remove [chan] <target> [reason]')
144
149
  cmd(cmd: 'remove') do |dat|
145
150
  case dat[:split].length
146
151
  when 0
@@ -148,11 +153,15 @@ cmd(cmd: 'remove') do |dat|
148
153
  when 1
149
154
  dat[:plug].remove(dat[:target], dat[:split][0])
150
155
  when 2..512
151
- dat[:plug].remove(dat[:split][0], dat[:split][1], dat[:split][2..dat[:split].length-1].join(' '))
156
+ if %w(# + ! &).include? dat[:split][0][0]
157
+ dat[:plug].remove(dat[:split][0], dat[:split][1], dat[:split][2..dat[:split].length].join(' '))
158
+ else
159
+ dat[:plug].remove(dat[:target], dat[:split][0], dat[:split][1..dat[:split].length].join(' '))
160
+ end
152
161
  end
153
162
  end.perm!('remove')
154
163
 
155
- core.help_add('chanop', 'kban', 'kban [chan] <target>',
164
+ core.help_add('chanop', 'kban', 'kban [chan] <target> [reason]',
156
165
  'Kickbans target from this/given channel')
157
166
  cmd(cmd: 'kban') do |dat|
158
167
  case dat[:split].length
@@ -162,10 +171,35 @@ cmd(cmd: 'kban') do |dat|
162
171
  dat[:plug].ban(dat[:target], '*!*@' + dat[:plug].gethost(dat[:split][0]))
163
172
  dat[:plug].kick(dat[:target], dat[:split][0])
164
173
  when 2..512
165
- dat[:plug].ban(dat[:target], '*!*@' + dat[:plug].gethost(dat[:split][1]))
166
- dat[:plug].kick(dat[:split][0], dat[:split][1], dat[:split][2..dat[:split].length-1].join(' '))
174
+ if %w(# + ! &).include? dat[:split][0][0]
175
+ dat[:plug].ban(dat[:split][0], '*!*@' + dat[:plug].gethost(dat[:split][1]))
176
+ dat[:plug].kick(dat[:split][0], dat[:split][1], dat[:split][2..dat[:split].length].join(' '))
177
+ else
178
+ dat[:plug].ban(dat[:target], '*!*@' + dat[:plug].gethost(dat[:split][0]))
179
+ dat[:plug].kick(dat[:target], dat[:split][0], dat[:split][1..dat[:split].length].join(' '))
180
+ end
167
181
  end
168
- end.perm!('kickban')
182
+ end.perm!('kick', 'ban')
183
+
184
+ core.help_add('chanop', 'rban', 'rban [chan] <target> [reason]',
185
+ 'Removebans target from this/given channel')
186
+ cmd(cmd: 'rban') do |dat|
187
+ case dat[:split].length
188
+ when 0
189
+ dat.nreply 'Not enough parameters!'
190
+ when 1
191
+ dat[:plug].ban(dat[:target], '*!*@' + dat[:plug].gethost(dat[:split][0]))
192
+ dat[:plug].remove(dat[:target], dat[:split][0])
193
+ when 2..512
194
+ if %w(# + ! &).include? dat[:split][0][0]
195
+ dat[:plug].ban(dat[:split][0], '*!*@' + dat[:plug].gethost(dat[:split][1]))
196
+ dat[:plug].remove(dat[:split][0], dat[:split][1], dat[:split][2..dat[:split].length].join(' '))
197
+ else
198
+ dat[:plug].ban(dat[:target], '*!*@' + dat[:plug].gethost(dat[:split][0]))
199
+ dat[:plug].remove(dat[:target], dat[:split][0], dat[:split][1..dat[:split].length].join(' '))
200
+ end
201
+ end
202
+ end.perm!('remove', 'ban')
169
203
 
170
204
  core.help_add('chanop', 'arjk', 'arjk [chan] <target>',
171
205
  'Anti-Rejoin-Kicks target from this/given channel')
@@ -179,12 +213,19 @@ cmd(cmd: 'arjk') do |dat|
179
213
  sleep(5)
180
214
  dat[:plug].unban(dat[:target], '*!*@' + dat[:plug].gethost(dat[:split][0]))
181
215
  when 2..512
182
- dat[:plug].ban(dat[:target], '*!*@' + dat[:plug].gethost(dat[:split][1]))
183
- dat[:plug].kick(dat[:split][0], dat[:split][1], dat[:split][2..dat[:split].length-1].join(' '))
184
- sleep(5)
185
- dat[:plug].unban(dat[:target], '*!*@' + dat[:plug].gethost(dat[:split][1]))
216
+ if %w(# + ! &).include? dat[:split][0][0]
217
+ dat[:plug].ban(dat[:target], '*!*@' + dat[:plug].gethost(dat[:split][1]))
218
+ dat[:plug].kick(dat[:split][0], dat[:split][1], dat[:split][2..dat[:split].length].join(' '))
219
+ sleep(5)
220
+ dat[:plug].unban(dat[:target], '*!*@' + dat[:plug].gethost(dat[:split][1]))
221
+ else
222
+ dat[:plug].ban(dat[:target], '*!*@' + dat[:plug].gethost(dat[:split][0]))
223
+ dat[:plug].kick(dat[:target], dat[:split][0], dat[:split][1..dat[:split].length].join(' '))
224
+ sleep(5)
225
+ dat[:plug].unban(dat[:target], '*!*@' + dat[:plug].gethost(dat[:split][0]))
226
+ end
186
227
  end
187
- end.perm!('arjk')
228
+ end.perm!('kick', 'ban')
188
229
 
189
230
  core.help_add('chanop', 'arjr', 'arjr [chan] <target>',
190
231
  'Anti-Rejoin-Removes target from this/given channel')
@@ -198,12 +239,19 @@ cmd(cmd: 'arjr') do |dat|
198
239
  sleep(5)
199
240
  dat[:plug].unban(dat[:target], '*!*@' + dat[:plug].gethost(dat[:split][0]))
200
241
  when 2..512
201
- dat[:plug].ban(dat[:target], '*!*@' + dat[:plug].gethost(dat[:split][1]))
202
- dat[:plug].remove(dat[:split][0], dat[:split][1], dat[:split][2..dat[:split].length-1].join(' '))
203
- sleep(5)
204
- dat[:plug].unban(dat[:target], '*!*@' + dat[:plug].gethost(dat[:split][1]))
242
+ if %w(# + ! &).include? dat[:split][0][0]
243
+ dat[:plug].ban(dat[:target], '*!*@' + dat[:plug].gethost(dat[:split][1]))
244
+ dat[:plug].remove(dat[:split][0], dat[:split][1], dat[:split][2..dat[:split].length].join(' '))
245
+ sleep(5)
246
+ dat[:plug].unban(dat[:target], '*!*@' + dat[:plug].gethost(dat[:split][1]))
247
+ else
248
+ dat[:plug].ban(dat[:target], '*!*@' + dat[:plug].gethost(dat[:split][0]))
249
+ dat[:plug].remove(dat[:target], dat[:split][0], dat[:split][1..dat[:split].length].join(' '))
250
+ sleep(5)
251
+ dat[:plug].unban(dat[:target], '*!*@' + dat[:plug].gethost(dat[:split][0]))
252
+ end
205
253
  end
206
- end.perm!('arjr')
254
+ end.perm!('remove', 'ban')
207
255
 
208
256
  core.help_add('chanop', 'umode', 'umode [chan] <user> <mode>',
209
257
  'Sets given mode on given user at this/given channel')
@@ -214,15 +262,15 @@ cmd(cmd: 'umode') do |dat|
214
262
  when 2
215
263
  unless /[+-]/ =~ dat[:split][1][0]
216
264
  dat.nreply 'Wrong mode!'
217
- break
265
+ else
266
+ dat[:plug].usermode(dat[:target], dat[:split][0], dat[:split][1])
218
267
  end
219
- dat[:plug].usermode(dat[:target], dat[:split][0], dat[:split][1])
220
268
  when 3..512
221
269
  unless /[+-]/ =~ dat[:split][2][0]
222
270
  dat.nreply 'Wrong mode!'
223
- break
271
+ else
272
+ dat[:plug].usermode(dat[:split][0], dat[:split][1], dat[:split][2])
224
273
  end
225
- dat[:plug].usermode(dat[:split][0], dat[:split][1], dat[:split][2])
226
274
  end
227
275
  end.perm!('umode')
228
276
 
@@ -258,4 +306,4 @@ cmd(cmd: 'invite') do |dat|
258
306
  when 2..512
259
307
  dat[:plug].invite(dat[:split][0], dat[:split][1])
260
308
  end
261
- end.perm!('invite')
309
+ end.perm!('invite')
@@ -7,12 +7,9 @@ ProtonBot::Plugin.new do
7
7
 
8
8
  core.permhash['admin'] << 'chanop'
9
9
  core.permhash['chanop'] = %w(
10
- kickban
11
10
  kick
12
11
  remove
13
12
  ban
14
- arjk
15
- arjr
16
13
  excempt
17
14
  quiet
18
15
  umode
@@ -1,5 +1,5 @@
1
1
  module ProtonBot
2
2
  module Chanop
3
- VERSION = '0.1.1'.freeze
3
+ VERSION = '0.1.2'.freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,52 +1,52 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: protonbot-chanop
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nickolay Ilyushin
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-03-30 00:00:00.000000000 Z
11
+ date: 2017-04-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
+ name: bundler
14
15
  requirement: !ruby/object:Gem::Requirement
15
16
  requirements:
16
17
  - - "~>"
17
18
  - !ruby/object:Gem::Version
18
19
  version: '1.13'
19
- name: bundler
20
- prerelease: false
21
20
  type: :development
21
+ prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.13'
27
27
  - !ruby/object:Gem::Dependency
28
+ name: rake
28
29
  requirement: !ruby/object:Gem::Requirement
29
30
  requirements:
30
31
  - - "~>"
31
32
  - !ruby/object:Gem::Version
32
33
  version: '10.0'
33
- name: rake
34
- prerelease: false
35
34
  type: :development
35
+ prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '10.0'
41
41
  - !ruby/object:Gem::Dependency
42
+ name: protonbot
42
43
  requirement: !ruby/object:Gem::Requirement
43
44
  requirements:
44
45
  - - ">="
45
46
  - !ruby/object:Gem::Version
46
47
  version: 0.1.0
47
- name: protonbot
48
- prerelease: false
49
48
  type: :runtime
49
+ prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - ">="
@@ -75,7 +75,7 @@ homepage: https://github.com/handicraftsman/protonbot-chanop
75
75
  licenses:
76
76
  - MIT
77
77
  metadata: {}
78
- post_install_message:
78
+ post_install_message:
79
79
  rdoc_options: []
80
80
  require_paths:
81
81
  - lib
@@ -90,9 +90,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
90
90
  - !ruby/object:Gem::Version
91
91
  version: '0'
92
92
  requirements: []
93
- rubyforge_project:
94
- rubygems_version: 2.4.8
95
- signing_key:
93
+ rubyforge_project:
94
+ rubygems_version: 2.6.8
95
+ signing_key:
96
96
  specification_version: 4
97
97
  summary: Chanop plugin for protonbot
98
98
  test_files: []