Mercurial > pidgin
comparison plugins/PERL-HOWTO @ 802:1afe98d2461e
[gaim-migrate @ 812]
ha, i'm smart. i should commit to things.
committer: Tailor Script <tailor@pidgin.im>
| author | Eric Warmenhoven <eric@warmenhoven.org> |
|---|---|
| date | Wed, 30 Aug 2000 23:27:04 +0000 |
| parents | dc9ad68fc30e |
| children | 67bdecdecbb7 |
comparison
equal
deleted
inserted
replaced
| 801:1a47432e2ba1 | 802:1afe98d2461e |
|---|---|
| 13 Plugins are more powerful as they can directly access gaim's functions and | 13 Plugins are more powerful as they can directly access gaim's functions and |
| 14 variables; as such they should be used for things like modifying the UI or | 14 variables; as such they should be used for things like modifying the UI or |
| 15 when something takes quite a bit of trickery not offered by perl. But for | 15 when something takes quite a bit of trickery not offered by perl. But for |
| 16 the most part things should be written in Perl. It's more stable than | 16 the most part things should be written in Perl. It's more stable than |
| 17 plugins. | 17 plugins. |
| 18 | |
| 19 Right now, the only way to test that your script is working correctly is to | |
| 20 load the perl plugin and load the script through that. (This is also the only | |
| 21 way I have of knowing that the interface is working correctly.) | |
| 22 | 18 |
| 23 Everything available in normal perl scripts should be available in gaim's | 19 Everything available in normal perl scripts should be available in gaim's |
| 24 perl interface, so I'm not going to bother describing that. The important | 20 perl interface, so I'm not going to bother describing that. The important |
| 25 things are the functions provided by gaim's internal AIM module, which is | 21 things are the functions provided by gaim's internal AIM module, which is |
| 26 what most of this document is about. So, onto the functions. | 22 what most of this document is about. So, onto the functions. |
| 93 shouldn't be using a computer. | 89 shouldn't be using a computer. |
| 94 | 90 |
| 95 AIM::print_to_chat(room, what) | 91 AIM::print_to_chat(room, what) |
| 96 This should be just as obvious as the last command. | 92 This should be just as obvious as the last command. |
| 97 | 93 |
| 94 | |
| 98 AIM::add_event_handler(event, function) | 95 AIM::add_event_handler(event, function) |
| 99 This is the most important of them all. This is basically exactly like | 96 This is the most important of them all. This is basically exactly like |
| 100 gaim_signal_connect. You pass which event you want to connect to (a string | 97 gaim_signal_connect for plugins. You pass which event you want to connect to |
| 101 with the same name as the events for plugins, see SIGNALS), and a string | 98 (a string with the same name as the events for plugins, see SIGNALS), and a |
| 102 with the name of the function you want called. Simple enough? | 99 string with the name of the function you want called. Simple enough? |
| 103 | 100 |
| 104 When this is triggered, the same arguments will be passed in @_ and are not | 101 When this is triggered, the arguments will be passed in @_ and are not |
| 105 broken into a list, but left as one long string. You'll have to parse those | 102 broken into a list, but left as one long string. You'll have to parse those |
| 106 yourself with split. (Sounding exactly like X-Chat yet?) The arguments are | 103 yourself with split. (Sounding exactly like X-Chat yet?) The arguments are |
| 107 the exact same as those passed to the plugins, and are passed after the | 104 the exact same as those passed to the plugins, and are passed after the |
| 108 plugins have had their way with them. Perl scripts cannot modify the values | 105 plugins have had their way with them. Perl scripts cannot modify the values |
| 109 so that gaim knows what the changes are. Unlike X-Chat, perl scripts cannot | 106 so that gaim knows what the changes are. Unlike X-Chat, perl scripts cannot |
| 110 short-circut gaim (that is, your script will be called in order it was added, | 107 short-circut gaim (that is, your script will be called in order it was added, |
| 111 despite what other scripts do, and afterwards, execution will continue as | 108 despite what other scripts do, and afterwards, execution will continue as |
| 112 normal). | 109 normal). Names of buddies and chat rooms will be in quotes, and all other |
| 110 values (like text messages) will not be. | |
| 113 | 111 |
| 114 AIM::add_timeout_handler(integer, function) | 112 AIM::add_timeout_handler(integer, function) |
| 115 This calls function after integer number of seconds. It only calls function | 113 This calls function after integer number of seconds. It only calls function |
| 116 once, so if you want to keep calling function, keep reading the handler. | 114 once, so if you want to keep calling function, keep reading the handler. |
