4 my $password = "kyrios";
5 my $loggedAccount = "mcepl\@porky.stuttgart.redhat.com";
7 my %loggedInServers = ();
9 # send-message("$botname $logins{$server} $passwds{$server}")
13 $botname = "USERSERV";
15 perl_api_version
=> 2,
16 name
=> "Perl: Login to $botname",
18 summary
=> "Logs to $botname on RH IRC",
19 description
=> "Send login to $botname on login to the IRC account.",
20 author
=> "Matěj Cepl <mcepl\@redhat.com>",
21 url
=> "http://matej.ceplovi.cz",
22 load
=> "plugin_load",
23 unload
=> "plugin_unload",
26 #(00:25:06) charding: Can anyone tell me what's the difference
27 #between the 'signing-on' and 'account-connecting' signals? Is
28 #signing-on for when pidgin is starting up? and account-connecting
29 #is when pidgin is already running and you enable and that
30 #particular acct is connecting?
31 #(00:29:18) elb: charding: as best I can tell, the only difference is that
32 #signing-on is called for both registration and regular
33 #connection, and account-connecting is called only for the later
34 #(00:29:22) elb: latter
35 #(00:29:28) elb: they're emitted one right after another in
36 #purple_connection_new
40 Purple
::Debug
::info
("loginRHIRC", "start paramterers=@_\n");
43 $conn = Purple
::Connections
::get_handle
();
44 Purple
::Signal
::connect($conn, "signed-on", $plugin,
46 Purple
::Signal
::connect($conn, "chat-joined", $plugin,
47 \
&joined_chatroom
, 0);
48 Purple
::Debug
::info
("loginRHIRC", "Login to $botname plugin loaded\n");
52 Purple
::Debug
::info
("loginRHIRC", "Login to $botname plugin unloaded\n");
57 my $account = $conn->get_account();
58 my $username = $account->get_username();
59 Purple
::Debug
::misc
("loginRHIRC", "signed-on (" . $username . ")\n");
62 if ($username eq $loggedAccount) {
63 my $ret = Purple
::Prpl
::send_raw
($conn,
64 ":$login PRIVMSG $botname :login $login $password\n");
65 Purple
::Debug
::misc
("loginRHIRC", "ret=$ret\n");
68 # Purple::timeout_add();
71 my @allChats = Purple
::get_ims
();
72 my @allTitles = map($_->get_title(),@allChats);
73 Purple
::Debug
::misc
("loginRHIRC", "\@allTitles=@allTitles\n");
74 Purple
::Debug
::misc
("loginRHIRC", "Purple::get_ims() = " . Purple
::get_ims
());
75 my @userservChats = grep ((
76 $_->get_title() =~ /^\W*$botname\W*$/
77 ), Purple
::get_ims
());
78 $userservChats[1]->destroy();
82 my $conn = shift; # *PurpleConversation
85 my $account = $conn->get_account();
86 my $identificator = $account->get_username();
87 my $proto = $account->protocol_id();
88 Purple
::Debug
::misc
("loginRHIRC", "opened $identificator, with protocol = $proto.\n");
90 # if server(MUC-JID) in nickservs:
91 # send-message("Nickserv!$server@IRCgateway",
92 # "identify $passwds{$server}")
93 # elif server(MUC-JID) in userservs:
94 # send-message("$botname $logins{$server} $passwds{$server}")