plugins/gaim.pl

Wed, 05 Nov 2003 06:39:05 +0000

author
Sean Egan <seanegan@pidgin.im>
date
Wed, 05 Nov 2003 06:39:05 +0000
changeset 7433
76909f0112c5
parent 3563
ea2789c8077c
permissions
-rw-r--r--

[gaim-migrate @ 8038]
Because all the log reading and writing is abstracted, it makes it real easy
to tell Gaim, "give me entire contents of the last conversation," which is
useful for, say, a history.c plugin. This code is now much simpler, and it
took no time at all to port it.

Sort-by-log will be a bit harder.

And because two people asked me within a minute of me committing it, there
exists an "old log" GaimLogLogger that doesn't write logs, but can list and
read them. So, you'll be able to seamlessly see your old logs along with
your new logs together in the log viewer.

3563
ea2789c8077c [gaim-migrate @ 3658]
Sean Egan <seanegan@pidgin.im>
parents: 3551
diff changeset
1 sub description {
ea2789c8077c [gaim-migrate @ 3658]
Sean Egan <seanegan@pidgin.im>
parents: 3551
diff changeset
2 my($a, $b, $c, $d, $e, $f) = @_;
ea2789c8077c [gaim-migrate @ 3658]
Sean Egan <seanegan@pidgin.im>
parents: 3551
diff changeset
3 ("Example", "1.0", "An example Gaim perl script that does nothing particularly useful:\n\t-Show a dialog on load\n\t-Set user idle for 6,000 seconds\n\t-Greets people signing on with \"Hello\"\n\t-Informs you when script has been loaded for one minute.", "Eric Warmenhoven &lt;eric\@warmenhoven.org>", "http://gaim.sf.net", "/dev/null");
ea2789c8077c [gaim-migrate @ 3658]
Sean Egan <seanegan@pidgin.im>
parents: 3551
diff changeset
4 }
806
3e5139e2f16e [gaim-migrate @ 816]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
5
3563
ea2789c8077c [gaim-migrate @ 3658]
Sean Egan <seanegan@pidgin.im>
parents: 3551
diff changeset
6 $handle = GAIM::register("Example", "1.0", "goodbye", "");
ea2789c8077c [gaim-migrate @ 3658]
Sean Egan <seanegan@pidgin.im>
parents: 3551
diff changeset
7
ea2789c8077c [gaim-migrate @ 3658]
Sean Egan <seanegan@pidgin.im>
parents: 3551
diff changeset
8 GAIM::print("Perl Says", "Handle $handle");
ea2789c8077c [gaim-migrate @ 3658]
Sean Egan <seanegan@pidgin.im>
parents: 3551
diff changeset
9
1526
ce6493ab6c15 [gaim-migrate @ 1536]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 806
diff changeset
10 $ver = GAIM::get_info(0);
2355
3bf7d403faa6 [gaim-migrate @ 2368]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1526
diff changeset
11 @ids = GAIM::get_info(1);
806
3e5139e2f16e [gaim-migrate @ 816]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
12
2355
3bf7d403faa6 [gaim-migrate @ 2368]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1526
diff changeset
13 $msg = "Gaim $ver:";
3bf7d403faa6 [gaim-migrate @ 2368]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1526
diff changeset
14 foreach $id (@ids) {
3bf7d403faa6 [gaim-migrate @ 2368]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1526
diff changeset
15 $pro = GAIM::get_info(7, $id);
3bf7d403faa6 [gaim-migrate @ 2368]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1526
diff changeset
16 $nam = GAIM::get_info(3, $id);
3bf7d403faa6 [gaim-migrate @ 2368]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1526
diff changeset
17 $msg .= "\n$nam using $pro";
3bf7d403faa6 [gaim-migrate @ 2368]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1526
diff changeset
18 }
806
3e5139e2f16e [gaim-migrate @ 816]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
19
2355
3bf7d403faa6 [gaim-migrate @ 2368]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1526
diff changeset
20
3bf7d403faa6 [gaim-migrate @ 2368]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1526
diff changeset
21 GAIM::command("idle", 6000);
3bf7d403faa6 [gaim-migrate @ 2368]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1526
diff changeset
22
3563
ea2789c8077c [gaim-migrate @ 3658]
Sean Egan <seanegan@pidgin.im>
parents: 3551
diff changeset
23 GAIM::add_event_handler($handle, "event_buddy_signon", "echo_reply");
ea2789c8077c [gaim-migrate @ 3658]
Sean Egan <seanegan@pidgin.im>
parents: 3551
diff changeset
24 GAIM::add_timeout_handler($handle, 60, "notify");
806
3e5139e2f16e [gaim-migrate @ 816]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
25
3e5139e2f16e [gaim-migrate @ 816]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
26 sub echo_reply {
2511
cea8ce69dec0 [gaim-migrate @ 2524]
Dennis Lambe Jr. <malsyned@users.sourceforge.net>
parents: 2355
diff changeset
27 $index = $_[0];
cea8ce69dec0 [gaim-migrate @ 2524]
Dennis Lambe Jr. <malsyned@users.sourceforge.net>
parents: 2355
diff changeset
28 $who = $_[1];
cea8ce69dec0 [gaim-migrate @ 2524]
Dennis Lambe Jr. <malsyned@users.sourceforge.net>
parents: 2355
diff changeset
29 GAIM::print_to_conv($index, $who, "Hello", 0);
806
3e5139e2f16e [gaim-migrate @ 816]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
30 }
3e5139e2f16e [gaim-migrate @ 816]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
31
3e5139e2f16e [gaim-migrate @ 816]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
32 sub notify {
2355
3bf7d403faa6 [gaim-migrate @ 2368]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1526
diff changeset
33 GAIM::print("1 minute", "gaim test has been loaded for 1 minute");
806
3e5139e2f16e [gaim-migrate @ 816]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
34 }
3e5139e2f16e [gaim-migrate @ 816]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
35
3e5139e2f16e [gaim-migrate @ 816]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
36 sub goodbye {
1526
ce6493ab6c15 [gaim-migrate @ 1536]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 806
diff changeset
37 GAIM::print("You Bastard!", "You killed Kenny!");
806
3e5139e2f16e [gaim-migrate @ 816]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
38 }
3551
acce66c34dbd [gaim-migrate @ 3626]
Sean Egan <seanegan@pidgin.im>
parents: 2511
diff changeset
39

mercurial