nakiircbot 0.1.4 → 0.1.5
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 +4 -4
- data/lib/nakiircbot.rb +13 -13
- data/nakiircbot.gemspec +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 58ddd0e5e6e4ba6390c88f5846cba690eef07e0d0797c20733a0513e191f8d45
|
4
|
+
data.tar.gz: ba40e4e00615a7c0c7c05b946606e54619eee7241c5c1f605bf5d0f56a9db416
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4a37e9868f86c9d2e335cb51180a8c583bf9ce9b4f61e44e778cf472aacddb79f917e6f6adf75db7c55b7bc68b221239a24944998042450653cb6fc3818e8777
|
7
|
+
data.tar.gz: e27684b814fb88ff2708e52bbaacb771b454c6a8e093cea5eb7d81ac8b37c0d2f4892988d351d952b62939ada17e12eaa5b79cfe89f5d18933b1ebcfb44ea0fa
|
data/lib/nakiircbot.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
module NakiIRCBot
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
2
|
+
class << self
|
3
|
+
attr_accessor :queue
|
4
|
+
end
|
5
|
+
self.queue = []
|
6
6
|
def self.start server, port, bot_name, master_name, welcome001, *channels, identity: nil, password: nil, masterword: nil, processors: [], tags: false
|
7
7
|
# @@channels.replace channels.dup
|
8
8
|
|
@@ -38,13 +38,13 @@ module NakiIRCBot
|
|
38
38
|
socket_send.call "NICK #{bot_name}"
|
39
39
|
socket_send.call "USER #{bot_name} #{bot_name} #{bot_name} #{bot_name}" #unless twitch
|
40
40
|
|
41
|
-
queue = []
|
41
|
+
self.queue = []
|
42
42
|
prev_socket_time = prev_privmsg_time = Time.now
|
43
43
|
loop do
|
44
44
|
begin
|
45
|
-
addr, msg = queue.shift
|
45
|
+
addr, msg = self.queue.shift
|
46
46
|
next unless addr && msg # TODO: how is it possible to have only one of them?
|
47
|
-
addr = addr.codepoints.pack("U*")
|
47
|
+
addr = addr.codepoints.pack("U*").tr("\x00\x0A\x0D", "")
|
48
48
|
fail "I should not PRIVMSG myself" if addr == bot_name
|
49
49
|
msg = msg.to_s.codepoints.pack("U*").chomp[/^(\x01*)(.*)/m,2].gsub("\x00", "[NUL]").gsub("\x0A", "[LF]").gsub("\x0D", "[CR]")
|
50
50
|
privmsg = "PRIVMSG #{addr} :#{msg}"
|
@@ -52,7 +52,7 @@ module NakiIRCBot
|
|
52
52
|
prev_socket_time = prev_privmsg_time = Time.now
|
53
53
|
socket_send.call privmsg
|
54
54
|
break
|
55
|
-
end until queue.empty? if prev_privmsg_time + 5 < Time.now || server == "localhost"
|
55
|
+
end until self.queue.empty? if prev_privmsg_time + 5 < Time.now || server == "localhost"
|
56
56
|
|
57
57
|
unless _ = Kernel::select([socket], nil, nil, 1)
|
58
58
|
break if Time.now - prev_socket_time > 300
|
@@ -112,20 +112,20 @@ module NakiIRCBot
|
|
112
112
|
# socket_send.call "NOTICE",$1,"\001TIME 6:06:06, 6 Jun 06\001"
|
113
113
|
when /\A#{'\S+ ' if tags}:(?<who>[^!]+)!\S+ PRIVMSG (?<where>\S+) :(?<what>.+)/
|
114
114
|
next( if processors.empty?
|
115
|
-
queue.push [master_name, "nothing to reload"]
|
115
|
+
self.queue.push [master_name, "nothing to reload"]
|
116
116
|
else
|
117
117
|
processors.each do |processor|
|
118
|
-
queue.push [master_name, "reloading #{processor}"]
|
118
|
+
self.queue.push [master_name, "reloading #{processor}"]
|
119
119
|
load File.absolute_path processor
|
120
120
|
end
|
121
121
|
end ) if $~.named_captures == {"who"=>master_name, "where"=>bot_name, "what"=>"#{masterword.strip} reload"}
|
122
122
|
end
|
123
123
|
|
124
124
|
begin
|
125
|
-
yield str, ->(where, what){ queue.push [where, what] }
|
125
|
+
yield str, ->(where, what){ self.queue.push [where, what] }
|
126
126
|
rescue => e
|
127
127
|
puts e.full_message
|
128
|
-
queue.push [master_name, "yield error: #{e}"]
|
128
|
+
self.queue.push [master_name, "yield error: #{e}"]
|
129
129
|
end
|
130
130
|
|
131
131
|
rescue => e
|
@@ -135,7 +135,7 @@ module NakiIRCBot
|
|
135
135
|
sleep 5
|
136
136
|
break
|
137
137
|
else
|
138
|
-
queue.push [master_name, "unhandled error: #{e}"]
|
138
|
+
self.queue.push [master_name, "unhandled error: #{e}"]
|
139
139
|
sleep 5
|
140
140
|
end
|
141
141
|
end
|
data/nakiircbot.gemspec
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nakiircbot
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Victor Maslov aka Nakilon
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-12-
|
11
|
+
date: 2021-12-22 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description:
|
14
14
|
email: nakilon@gmail.com
|