1. girc.Reactor
— Managing IRC Connections¶
-
class
girc.
Reactor
¶
This class is the way you create and manage IRC connections.
-
Reactor.
run_forever
()¶ Start running the reactor. This should run forever.
-
Reactor.
shutdown
(message=None)¶ Disconnect all servers with a message.
Parameters: message (str) – Quit message to use on each connection.
1.1. Registering events¶
You can register events with the reactor to have them automagically registered with every server you connect to.
-
Reactor.
handler
(direction, verb, priority=10)¶ Register this function as an event handler.
Parameters: - direction (str) –
in
,out
,both
,raw
. - verb (str) – Event name.
- priority (int) – Handler priority (lower priority executes first).
Example
These handlers print out a pretty raw log:
reactor = girc.Reactor() @reactor.handler('in', 'raw', priority=1) def handle_raw_in(event): print(event['server'].name, ' ->', escape(event['data'])) @reactor.handler('out', 'raw', priority=1) def handle_raw_out(event): print(event['server'].name, '<- ', escape(event['data']))
- direction (str) –
-
Reactor.
register_event
(direction, verb, child_fn, priority=10)¶ Register an event with all servers.
Parameters: - direction (str) – in, out, both, raw.
- verb (str) – Event name.
- child_fn (function) – Handler function.
- priority (int) – Handler priority (lower priority executes first).
1.2. Making connections¶
These functions let you make connections to IRC servers.
-
Reactor.
create_server
(server_name, *args, **kwargs)¶ Create an IRC server connection slot.
The server will actually be connected to when
girc.client.ServerConnection.connect()
is called later.Parameters: server_name (str) – Name of the server, to be used for functions and accessing the server later through the reactor. Returns: server – A not-yet-connected server. Return type: girc.client.ServerConnection