nakiircbot 1.3.0 → 1.4.0

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: cecb68b5866e9a3ecb2bdff832d44c97b2c28dcec112ecda32f7e5a3e95a6da0
4
- data.tar.gz: c4618d0827639dbd5d18d0bc340ead4d5bb54b140b04081e91782fc51cfbbd05
3
+ metadata.gz: 7d41002f3e51e4956e4aae1f1bd4fddf2d0561a08719bded4d1d57dc423204be
4
+ data.tar.gz: 42fdb9aa44d5a67db40737ea7307639b867d06db490ead045feff47606d13a73
5
5
  SHA512:
6
- metadata.gz: dca52aa83819fee1b9103fb6135175886e9b4080cacd320bb9a0b9232466de9c0cbe8e6dc76bb26c9a78d6e92fdb2fa8896ceb12bddfe985fc45585bbc551da0
7
- data.tar.gz: db6cf8ad3fd8c920a1e19eb2967f4d3c43c8ee75b43a74ab79f95bdbc111f3fc4b61c323b258b02990898292a9b78b151375178070bf807746b5750ac8db4b48
6
+ metadata.gz: e8f5c0f48075ceea14fa3bc680a2dd3a4b28bc24544e107979f3d2319e03ee482a059134bdecddc11495b26557ab2cff19cc49004f64031c6fe1d2375933b799
7
+ data.tar.gz: 3969266360143ef72863d7b57462a79bad53895d434d3d3769ff04774d64fd8ceacead660ef2eb320d94fee7ab5711fdcd55120d1fbe095487054675b9c601fc
data/lib/nakiircbot.rb CHANGED
@@ -3,7 +3,7 @@ module NakiIRCBot
3
3
 
4
4
  ReconnectError = ::Class.new ::RuntimeError
5
5
  CHAT_QUEUE_DELAY = 5
6
- def self.start server, port, bot_name, *channels, owner: nil, identity: nil, password: nil, masterword: nil, processors: [], tags: false
6
+ def self.start server, port, bot_name, msg_size_lmt_mtd = :bytesize, msg_size_lmt_val = 475, channels, owner: nil, identity: nil, password: nil, masterword: nil, processors: [], tags: false
7
7
  chat_queue = ::Queue.new
8
8
 
9
9
  require "fileutils"
@@ -82,7 +82,7 @@ module NakiIRCBot
82
82
  addr, msg = chat_queue.pop
83
83
  fail "I should not PRIVMSG myself" if bot_name == addr = addr.codepoints.pack("U*").tr("\x00\x0A\x0D", "")
84
84
  privmsg = "PRIVMSG #{addr} :#{msg.to_s.codepoints.pack("U*").chomp[/^(\x01*)(.*)/m,2].gsub("\x00", "[NUL]").gsub("\x0A", "[LF]").gsub("\x0D", "[CR]")}"
85
- privmsg[-4..-1] = "..." until privmsg.bytesize <= 475
85
+ privmsg[-4..-1] = "..." until privmsg.public_method(msg_size_lmt_mtd).() <= msg_size_lmt_val
86
86
  prev_privmsg_time = ::Time.now
87
87
  socket.log privmsg
88
88
  end
@@ -308,12 +308,13 @@ module NakiIRCBot
308
308
  ::Thread.current.abort_on_exception = true
309
309
  start.call
310
310
  end.tap do |thread|
311
- socket = server.accept
311
+ socket = [server.accept]
312
312
  begin
313
313
  yield \
314
- ->{ select [socket], nil, nil, 1 },
315
- ->{ ::Timeout.timeout(1.5){ socket.gets } },
316
- ->_{ socket.puts _ }
314
+ ->{ select [socket[0]], nil, nil, 1 },
315
+ ->_=1.5{ ::Timeout.timeout(1.5){ socket[0].gets } },
316
+ ->_{ socket[0].puts _ },
317
+ ->{ socket[0].shutdown; socket = [server.accept] }
317
318
  ensure
318
319
  # puts "shutting down test server"
319
320
  server.close #rescue Errno::ENOTCONN
data/nakiircbot.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = "nakiircbot"
3
- spec.version = "1.3.0"
3
+ spec.version = "1.4.0"
4
4
  spec.summary = "IRC bot framework"
5
5
 
6
6
  spec.author = "Victor Maslov aka Nakilon"
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nakiircbot
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Victor Maslov aka Nakilon
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-06-05 00:00:00.000000000 Z
11
+ date: 2025-09-29 00:00:00.000000000 Z
12
12
  dependencies: []
13
- description:
13
+ description:
14
14
  email: nakilon@gmail.com
15
15
  executables: []
16
16
  extensions: []
@@ -19,12 +19,12 @@ files:
19
19
  - LICENSE
20
20
  - lib/nakiircbot.rb
21
21
  - nakiircbot.gemspec
22
- homepage:
22
+ homepage:
23
23
  licenses:
24
24
  - MIT
25
25
  metadata:
26
26
  source_code_uri: https://github.com/nakilon/nakiircbot
27
- post_install_message:
27
+ post_install_message:
28
28
  rdoc_options: []
29
29
  require_paths:
30
30
  - lib
@@ -39,8 +39,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  requirements: []
42
- rubygems_version: 3.3.27
43
- signing_key:
42
+ rubygems_version: 3.1.6
43
+ signing_key:
44
44
  specification_version: 4
45
45
  summary: IRC bot framework
46
46
  test_files: []