tinyirc 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
  SHA256:
3
- metadata.gz: 33ddbb6724715d429fc59c2e38237b9d80ac97011f6ccca7765c3e239d5a82f9
4
- data.tar.gz: 5d10ffb973b84507762b81d7a43d81da7cc1534eff224974741a76dcb6cb5f5f
3
+ metadata.gz: 55c4c917c7b9a797d5aa6b3e16b16c3e6bb1edcf5fa75a454f4108d0cd16fb7a
4
+ data.tar.gz: 95f9bb3151eafab505be84b61f17b8b1e8f453c66eb2ceac1a81dfaefbe466e4
5
5
  SHA512:
6
- metadata.gz: 5da2e9eec33b99522ae3ca5d66bed04ab942137ca75665d4c89219e66b7b250fbfde2e2e4eb0ce6cd21ff8545f632d6f3df2ea9e57dbdd3027e9c382d09fe010
7
- data.tar.gz: 93107453e8c34a6fb05411b23b8b7619aeca9ba866ff65d1d0360e61541ede1db88e434b7559a3323814a3babefdbeb7bff3f9d2fd2dae5f48b8e5fad8642c56
6
+ metadata.gz: deb768c754471dfb04f0f17702f406a76c3ace59cd8e55ddc4030652a87154457b727418802b07347247611d0c8a26328e802e2267171a79d59c3a9eaaffa300
7
+ data.tar.gz: d095eb0fb43e58ec5d110288cbacfd930e008f72ed25a5f9281d04df3d84b47f0bcdbff5b6ca0280640f07fb291160d7d4fab7dcd3dddeb4c4222c1705f8bc9f
@@ -1,29 +1,29 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- tinyirc (0.1.0)
4
+ tinyirc (0.1.2)
5
5
  particlecmd (~> 0.1)
6
6
  particlelog (~> 0.1)
7
7
  sinatra (~> 2.0)
8
8
  sqlite3 (~> 1.3)
9
- thin (~> 1.2)
9
+ thin (~> 1.7)
10
10
 
11
11
  GEM
12
12
  remote: https://rubygems.org/
13
13
  specs:
14
14
  daemons (1.2.6)
15
- eventmachine (1.2.5)
16
- mustermann (1.0.2)
17
- particlecmd (0.1.4)
15
+ eventmachine (1.2.7)
16
+ mustermann (1.0.3)
17
+ particlecmd (0.1.5)
18
18
  particlelog (0.1.1)
19
- rack (2.0.4)
20
- rack-protection (2.0.1)
19
+ rack (2.0.5)
20
+ rack-protection (2.0.3)
21
21
  rack
22
- rake (10.5.0)
23
- sinatra (2.0.1)
22
+ rake (12.3.1)
23
+ sinatra (2.0.3)
24
24
  mustermann (~> 1.0)
25
25
  rack (~> 2.0)
26
- rack-protection (= 2.0.1)
26
+ rack-protection (= 2.0.3)
27
27
  tilt (~> 2.0)
28
28
  sqlite3 (1.3.13)
29
29
  thin (1.7.2)
@@ -37,8 +37,8 @@ PLATFORMS
37
37
 
38
38
  DEPENDENCIES
39
39
  bundler (~> 1.16)
40
- rake (~> 10.0)
40
+ rake (~> 12.3)
41
41
  tinyirc!
42
42
 
43
43
  BUNDLED WITH
44
- 1.16.1
44
+ 1.16.3
@@ -293,15 +293,15 @@ class TinyIRC::Bot
293
293
  def _read_line(socket)
294
294
  res = IO.select([socket.sock], nil, nil, 0.001)
295
295
  return nil unless res
296
- socket.mtx.synchronize do
297
- begin
298
- return socket.sock.readline("\r\n", chomp: true).force_encoding("UTF-8")
299
- rescue => e
300
- socket.log.error "#{e.class.name} - #{e.message}"
296
+ begin
297
+ return socket.sock.readline("\r\n", chomp: true).force_encoding("UTF-8")
298
+ rescue => e
299
+ socket.log.error "#{e.class.name} - #{e.message}"
300
+ socket.mtx.synchronize do
301
301
  socket.running = false
302
- handle_event(type: :disconnect, socket: socket)
303
- return nil
304
302
  end
303
+ handle_event(type: :disconnect, socket: socket)
304
+ return nil
305
305
  end
306
306
  end
307
307
 
@@ -329,15 +329,15 @@ class TinyIRC::Bot
329
329
  end
330
330
 
331
331
  return unless msg
332
- socket.mtx.synchronize do
333
- begin
334
- socket.direct_write msg.force_encoding("UTF-8")
335
- rescue => e
336
- socket.log.error "#{e.class.name} - #{e.message}"
332
+ begin
333
+ socket.direct_write msg.force_encoding("UTF-8")
334
+ rescue => e
335
+ socket.log.error "#{e.class.name} - #{e.message}"
336
+ socket.mtx.synchronize do
337
337
  socket.running = false
338
- handle_event(type: :disconnect, socket: socket)
339
- return nil
340
338
  end
339
+ handle_event(type: :disconnect, socket: socket)
340
+ return nil
341
341
  end
342
342
 
343
343
  socket.last_write = current
@@ -122,7 +122,7 @@ cmd('kick').branch('kick', 'who --ban --reason=REASON') do |e, c|
122
122
  to_ban = get_target(e, c, false)
123
123
  s.mode(e[:reply_to], "+b #{to_ban}")
124
124
  end
125
- s.kick(e[:reply_to], c.positionals['who'])
125
+ s.kick(e[:reply_to], c.positionals['who'], (c.options['reason'] or 'Bye!'))
126
126
  end.tap do |b|
127
127
  b.description = 'Kicks the given user from the current channel'
128
128
  b.definition.tap do |d|
@@ -142,7 +142,7 @@ cmd('remove').branch('remove', 'who --ban --reason=REASON') do |e, c|
142
142
  to_ban = get_target(e, c, false)
143
143
  s.mode(e[:reply_to], "+b #{to_ban}")
144
144
  end
145
- s.remove(e[:reply_to], c.positionals['who'])
145
+ s.remove(e[:reply_to], c.positionals['who'], (c.options['reason'] or 'Bye!'))
146
146
  end.tap do |b|
147
147
  b.description = 'Removes the given user from the current channel'
148
148
  b.definition.tap do |d|
@@ -218,6 +218,10 @@ group('admin').tap do |g|
218
218
  g.perm @name, 'flushq', 'targeted'
219
219
  end
220
220
 
221
+ group('owner').tap do |g|
222
+ g.perm @name, 'eval', 'root'
223
+ end
224
+
221
225
  #
222
226
  # help command
223
227
  #
@@ -426,4 +430,25 @@ flushq_cmd.branch('targeted', 'server') do |e, c|
426
430
  end
427
431
  end.tap do |b|
428
432
  b.description = 'Flushes the queue of the given server'
433
+ end
434
+
435
+ #
436
+ # eval command
437
+ #
438
+
439
+ eval_cmd = cmd 'eval'
440
+
441
+ eval_cmd.branch('root', '...') do |e, c|
442
+ unless c.extra.empty?
443
+ begin
444
+ out = eval(c.extra.join(' ')).inspect
445
+ e.reply "%BOutput%N: #{out}"
446
+ rescue StandardError, SyntaxError => err
447
+ e.reply "E: #{err.class} => #{err.message}"
448
+ end
449
+ else
450
+ e.reply '%BOutput%N: nil'
451
+ end
452
+ end.tap do |b|
453
+ b.description = 'Evaluates given string'
429
454
  end
@@ -1,3 +1,3 @@
1
1
  module TinyIRC
2
- VERSION = '0.1.1'
2
+ VERSION = '0.1.2'
3
3
  end
@@ -22,11 +22,11 @@ Gem::Specification.new do |spec|
22
22
  spec.require_paths = ['lib']
23
23
 
24
24
  spec.add_development_dependency 'bundler', '~> 1.16'
25
- spec.add_development_dependency 'rake', '~> 10.0'
25
+ spec.add_development_dependency 'rake', '~> 12.3'
26
26
 
27
27
  spec.add_dependency 'particlecmd', '~> 0.1'
28
28
  spec.add_dependency 'particlelog', '~> 0.1'
29
29
  spec.add_dependency 'sinatra', '~> 2.0'
30
- spec.add_dependency 'thin', '~> 1.2'
30
+ spec.add_dependency 'thin', '~> 1.7'
31
31
  spec.add_dependency 'sqlite3', '~> 1.3'
32
32
  end
@@ -7,16 +7,18 @@ plugins:
7
7
  groups:
8
8
  world: # All users belong to this group
9
9
  include: # Includes permissions from listed groups into the current one
10
- - plugin/world
10
+ - core/world
11
11
  perms:
12
12
  - core/flushq
13
13
  admin: # Admins have this group
14
14
  include:
15
15
  - world
16
+ - core/admin
16
17
  - plugin/admin
17
18
  owner: # Owners have this group
18
19
  include:
19
20
  - admin
21
+ - core/owner
20
22
  - plugin/owner
21
23
 
22
24
  cooldowns:
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tinyirc
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
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-04-03 00:00:00.000000000 Z
11
+ date: 2018-09-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '10.0'
33
+ version: '12.3'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '10.0'
40
+ version: '12.3'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: particlecmd
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -86,14 +86,14 @@ dependencies:
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '1.2'
89
+ version: '1.7'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '1.2'
96
+ version: '1.7'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: sqlite3
99
99
  requirement: !ruby/object:Gem::Requirement
@@ -165,7 +165,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
165
165
  version: '0'
166
166
  requirements: []
167
167
  rubyforge_project:
168
- rubygems_version: 2.7.3
168
+ rubygems_version: 2.7.7
169
169
  signing_key:
170
170
  specification_version: 4
171
171
  summary: A modular IRC bot framework