protonbot-chanop 0.1.1 → 0.1.2

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 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: []