net-yail 1.4.6 → 1.5.1
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.
- data/examples/logger/logger_bot.rb +20 -21
- data/examples/loudbot/bot_runner.rb +114 -0
- data/examples/loudbot/loudbot.rb +87 -0
- data/examples/loudbot/shuffle.rb +17 -0
- data/examples/simple/dumbbot.rb +9 -4
- data/lib/net/yail.rb +437 -383
- data/lib/net/yail/default_events.rb +5 -163
- data/lib/net/yail/event.rb +65 -50
- data/lib/net/yail/irc_bot.rb +7 -7
- data/lib/net/yail/legacy_events.rb +214 -0
- data/lib/net/yail/magic_events.rb +31 -27
- data/lib/net/yail/output_api.rb +82 -262
- data/lib/net/yail/report_events.rb +173 -0
- data/lib/net/yail/yail-version.rb +1 -1
- data/tests/mock_irc.rb +13 -3
- data/tests/tc_event.rb +28 -28
- data/tests/tc_yail.rb +93 -32
- metadata +21 -11
- data/YAIL-RDOC +0 -51
metadata
CHANGED
@@ -1,37 +1,46 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: net-yail
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 1
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 1
|
8
|
-
-
|
9
|
-
-
|
10
|
-
version: 1.
|
8
|
+
- 5
|
9
|
+
- 1
|
10
|
+
version: 1.5.1
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Jeremy Echols
|
14
|
-
autorequire:
|
14
|
+
autorequire:
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-
|
18
|
+
date: 2011-08-18 00:00:00 -04:00
|
19
19
|
default_executable:
|
20
20
|
dependencies: []
|
21
21
|
|
22
|
-
description:
|
22
|
+
description: |-
|
23
|
+
Net::YAIL is an IRC library written in pure Ruby. Using simple functions, it
|
24
|
+
is trivial to build a complex, event-driven IRC application, such as a bot or
|
25
|
+
even a full command-line client. All events can have a single callback and
|
26
|
+
any number of before-callback and after-callback filters. Even outgoing events,
|
27
|
+
such as when you join a channel or send a message, can have filters for stats
|
28
|
+
gathering, text filtering, etc.
|
23
29
|
email: yail<at>nerdbucket dot com
|
24
30
|
executables: []
|
25
31
|
|
26
32
|
extensions: []
|
27
33
|
|
28
|
-
extra_rdoc_files:
|
29
|
-
|
34
|
+
extra_rdoc_files: []
|
35
|
+
|
30
36
|
files:
|
31
37
|
- examples/simple/dumbbot.rb
|
32
38
|
- examples/logger/logger_bot.rb
|
33
39
|
- examples/logger/default.yml
|
34
40
|
- examples/logger/run.rb
|
41
|
+
- examples/loudbot/loudbot.rb
|
42
|
+
- examples/loudbot/bot_runner.rb
|
43
|
+
- examples/loudbot/shuffle.rb
|
35
44
|
- lib/net/yail.rb
|
36
45
|
- lib/net/yail/magic_events.rb
|
37
46
|
- lib/net/yail/eventmap.yml
|
@@ -42,12 +51,13 @@ files:
|
|
42
51
|
- lib/net/yail/event.rb
|
43
52
|
- lib/net/yail/yail-version.rb
|
44
53
|
- lib/net/yail/irc_bot.rb
|
54
|
+
- lib/net/yail/legacy_events.rb
|
55
|
+
- lib/net/yail/report_events.rb
|
45
56
|
- tests/net_yail.rb
|
46
57
|
- tests/tc_message_parser.rb
|
47
58
|
- tests/tc_event.rb
|
48
59
|
- tests/tc_yail.rb
|
49
60
|
- tests/mock_irc.rb
|
50
|
-
- YAIL-RDOC
|
51
61
|
has_rdoc: true
|
52
62
|
homepage: http://ruby-irc-yail.nerdbucket.com/
|
53
63
|
licenses: []
|
@@ -55,7 +65,7 @@ licenses: []
|
|
55
65
|
post_install_message:
|
56
66
|
rdoc_options:
|
57
67
|
- --main
|
58
|
-
- YAIL
|
68
|
+
- Net::YAIL
|
59
69
|
require_paths:
|
60
70
|
- lib
|
61
71
|
required_ruby_version: !ruby/object:Gem::Requirement
|
data/YAIL-RDOC
DELETED
@@ -1,51 +0,0 @@
|
|
1
|
-
github page: http://github.com/Nerdmaster/ruby-irc-yail
|
2
|
-
|
3
|
-
Latest stable release's documentation is always at http://ruby-irc-yail.nerdbucket.com/
|
4
|
-
|
5
|
-
Net::YAIL is a library built for dealing with IRC communications in Ruby.
|
6
|
-
This is a project I've been building for about three years, based
|
7
|
-
originally on the very messy initial release of IRCSocket (back when I first
|
8
|
-
started, that was the only halfway-decent IRC lib I found). I've put a lot
|
9
|
-
of time and effort into cleaning it up to make it better for my own uses,
|
10
|
-
and now it's almost entirely my code.
|
11
|
-
|
12
|
-
Some credit should also be given to Ruby-IRC, as I stole its eventmap.yml
|
13
|
-
file with very minor modifications.
|
14
|
-
|
15
|
-
This library may not be useful to everybody (or anybody other than myself,
|
16
|
-
for that matter), and Ruby-IRC or another lib may work for your situation
|
17
|
-
far better than this thing will, but the general design I built here has
|
18
|
-
just felt more natural to me than the other libraries I've looked at since
|
19
|
-
I started my project.
|
20
|
-
|
21
|
-
=Example Usage
|
22
|
-
|
23
|
-
For the nitty-gritty, you can see all this stuff in the Net::YAIL page, as
|
24
|
-
well as more complete documentation about the system. For a complete bot,
|
25
|
-
check out the IRCBot source code. Below is just a very simple example:
|
26
|
-
|
27
|
-
require 'rubygems'
|
28
|
-
require 'net/yail'
|
29
|
-
|
30
|
-
irc = Net::YAIL.new(
|
31
|
-
:address => 'irc.someplace.co.uk',
|
32
|
-
:username => 'Frakking Bot',
|
33
|
-
:realname => 'John Botfrakker',
|
34
|
-
:nicknames => ['bot1', 'bot2', 'bot3']
|
35
|
-
)
|
36
|
-
|
37
|
-
# Register a proc handler
|
38
|
-
irc.prepend_handler :incoming_welcome, proc {|text, args|
|
39
|
-
irc.join('#foo')
|
40
|
-
return false
|
41
|
-
}
|
42
|
-
|
43
|
-
# Register a block
|
44
|
-
irc.prepend_handler(:incoming_invite) {|full, user, channel| irc.join(channel) }
|
45
|
-
|
46
|
-
# Loops forever here until CTRL+C is hit.
|
47
|
-
irc.start_listening!
|
48
|
-
|
49
|
-
Now we've built a simple IRC listener that will connect to a (probably
|
50
|
-
invalid) network, identify itself, and sit around waiting for the welcome
|
51
|
-
message. After this has occurred, we join a channel and return false.
|