Prototype Perl : weechat::register(nom, version, fonction_de_fin, description);
Prototype Python : weechat.register(nom, version, fonction_de_fin, description)
Prototype Ruby : Weechat.register(nom, version, fonction_de_fin, description)
Prototype Lua : weechat.register(nom, version, fonction_de_fin, description)
C'est la première fonction à appeler dans le script. Tout script pour WeeChat doit appeler cette fonction.
Paramètres :
nom
: nom unique pour identifier le script
(chaque script doit avoir un nom différent)
version
: version du script
fonction_de_fin
: fonction appelée quand
le script est déchargé (paramètre facultatif, une chaîne
vide signifiant qu'il n'y a pas de fonction à appeler)
description
: brève description du script
Valeur renvoyée : 1 si le script a été enregistré, 0 si une erreur s'est produite.
Exemples :
# perl weechat::register("essai", "1.0", "fin_essai", "Script d'essai !"); # python weechat.register("essai", "1.0", "fin_essai", "Script d'essai !") # ruby Weechat.register("essai", "1.0", "fin_essai", "Script d'essai !") -- lua weechat.register("essai", "1.0", "fin_essai", "Script d'essai !")
Prototype Perl : weechat::print(message, [canal, [serveur]])
Prototype Python : weechat.prnt(message, [canal, [serveur]])
Prototype Ruby : Weechat.print(message, [canal, [serveur]])
Prototype Lua : weechat.print(message, [canal, [serveur]])
Affiche un message sur un tampon WeeChat, identifié par le serveur et le canal.
Paramètres :
message
: message à afficher
canal
: nom du canal pour trouver le
tampon dans lequel afficher
serveur
: nom interne du serveur pour
trouver le tampon dans lequel afficher
Valeur renvoyée : 1 si succès, 0 si une erreur s'est produite.
Exemples :
# perl weechat::print("message"); weechat::print("message", "#weechat"); weechat::print("message", "#weechat", "freenode"); # python weechat.prnt("message") weechat.prnt("message", "#weechat") weechat.prnt("message", "#weechat", "freenode") # ruby Weechat.print("message") Weechat.print("message", "#weechat") Weechat.print("message", "#weechat", "freenode") -- lua weechat.print("message") weechat.print("message", "#weechat") weechat.print("message", "#weechat", "freenode")
Prototype Perl : weechat::print_infobar(temps, message);
Prototype Python : weechat.print_infobar(temps, message)
Prototype Ruby : Weechat.print_infobar(temps, message)
Prototype Lua : weechat.print_infobar(temps, message)
Affiche un message sur la barre d'infos pour un temps déterminé.
Paramètres :
temps
: temps (en secondes) pendant
lequel le message est affiché (0 = jamais effacé)
message
: message à afficher
Valeur renvoyée : 1 si succès, 0 si une erreur s'est produite.
Exemples :
# perl weechat::print_infobar(5, "message"); # python weechat.print_infobar(5, "message") # ruby Weechat.print_infobar(5, "message") -- lua weechat.print_infobar(5, "message")
Prototype Perl : weechat::remove_infobar([nombre]);
Prototype Python : weechat.remove_infobar([nombre])
Prototype Ruby : Weechat.remove_infobar([nombre])
Prototype Lua : weechat.remove_infobar([nombre])
Efface un ou plusieurs messages dans la pile de la barre d'infos.
Paramètres :
nombre
: nombre de messages à supprimer
(si paramètre non présent ou <= 0, alors tous les messages
sont effacés)
Valeur renvoyée : 1 si succès, 0 si une erreur s'est produite.
Exemples :
# perl weechat::remove_infobar(1); # python weechat.remove_infobar(1) # ruby Weechat.remove_infobar(1) -- lua weechat.remove_infobar(1)
Prototype Perl : weechat::log(message, [canal, [serveur]]);
Prototype Python : weechat.log(message, [canal, [serveur]])
Prototype Ruby : Weechat.log(message, [canal, [serveur]])
Prototype Lua : weechat.log(message, [canal, [serveur]])
Ecrit un message dans le fichier de log pour un serveur ou un canal.
Paramètres :
message
: message
canal
: nom du canal pour trouver le
log du tampon
serveur
: nom interne du serveur pour
trouver le log du tampon
Valeur renvoyée : 1 si succès, 0 si une erreur s'est produite.
Exemples :
# perl weechat::log("message", "#weechat", "freenode"); # python weechat.log("message", "#weechat", "freenode") # ruby Weechat.log("message", "#weechat", "freenode") -- lua weechat.log("message", "#weechat", "freenode")
Prototype Perl : weechat::add_message_handler(message, fonction);
Prototype Python : weechat.add_message_handler(message, fonction)
Prototype Ruby : Weechat.add_message_handler(message, fonction)
Prototype Lua : weechat.add_message_handler(message, fonction)
Ajoute un gestionnaire de messages IRC, appelé dès qu'un message IRC est reçu.
Paramètres :
message
: nom du message IRC pour lequel la
fonction est appelée.
Pour connaître la liste des messages IRC disponibles, merci
de consulter les RFCs
1459 et
2812.
De plus, vous pouvez utiliser un nom spécial, préfixé par
"weechat_" pour capturer des évènements spéciaux
(voir la section intitulée « msg_handler_add »).
fonction
: fonction appelée lorsque le message
est reçu
Valeur renvoyée : 1 si succès, 0 si une erreur s'est produite.
Exemples :
# perl weechat::add_message_handler("privmsg", "ma_fonction"); sub ma_fonction { weechat::print("serveur=$_[0]"); ($null, $canal, $message) = split ":",$_[1],3; ($masque, $null, $canal) = split " ", $canal; weechat::print("masque=$masque, canal=$canal, msg=$message"); return weechat::PLUGIN_RC_OK; } # python weechat.add_message_handler("privmsg", "ma_fonction") def ma_fonction(serveur, args): weechat.prnt("serveur="+serveur) null, canal, message = string.split(args, ":", 2) masque, null, canal = string.split(string.strip(canal), " ", 2) weechat.prnt("masque="+masque+", canal="+canal+", message="+message) return weechat.PLUGIN_RC_OK # ruby Weechat.add_message_handler("privmsg", "ma_fonction") def ma_fonction(server, args) Weechat.print("serveur=#{server}, args=#{args}") return Weechat::PLUGIN_RC_OK end -- lua weechat.add_message_handler ("privmsg", "ma_fonction") function ma_fonction(server, args) weechat.print("serveur=" .. server .. ", args=" .. args) return weechat.PLUGIN_RC_OK() end
Note : la fonction appelée lorsque le message est reçu doit renvoyer une des valeurs suivantes :
PLUGIN_RC_KO
: la fonction a échoué
PLUGIN_RC_OK
: la fonction a réussi
PLUGIN_RC_OK_IGNORE_WEECHAT
: le message
ne sera pas transmis à WeeChat
PLUGIN_RC_OK_IGNORE_PLUGINS
: le message
ne sera pas transmis à d'autres extensions
PLUGIN_RC_OK_IGNORE_ALL
: le message
ne sera ni transmis à WeeChat ni à d'autres extensions
Prototype Perl : weechat::add_command_handler(commande, fonction, [description, arguments, arguments_description, modele_completion]);
Prototype Python : weechat.add_command_handler(commande, fonction, [description, arguments, arguments_description, modele_completion])
Prototype Ruby : Weechat.add_command_handler(commande, fonction, [description, arguments, arguments_description, modele_completion])
Prototype Lua : weechat.add_command_handler(commande, fonction, [description, arguments, arguments_description, modele_completion])
Ajoute un gestionnaire de commande WeeChat, appelé dès que l'utilisateur utilise la commande (par exemple /commande).
Paramètres :
commande
: nom de la nouvelle commande,
qui peut être une commande déjà existante (attention la
commande remplacée ne sera plus disponible jusqu'à ce que
le script soit déchargé)
fonction
: fonction appelée lorsque la
commande est exécutée
arguments
: brève description des
paramètres de la commande (affichée par /help commande)
arguments_description
: longue description
des paramètres de la commande (affichée par /help commande)
modele_completion
: modèle pour la
complétion sous la forme "abc|%w def|%i
"
qui signifie "abc" ou une commande WeeChat pour le premier
paramètre, et "def" ou une commande IRC pour le deuxième.
(voir la section intitulée « cmd_handler_add »)
Valeur renvoyée : 1 si succès, 0 si une erreur s'est produite.
Exemples :
# perl weechat::add_command_handler("commande", "ma_commande"); sub ma_commande { weechat::print("serveur=$_[0], args=$_[1]"); return weechat::PLUGIN_RC_OK; } # python weechat.add_command_handler("commande", "ma_commande") def ma_commande(serveur, args): weechat.prnt("serveur="+serveur+", args="+args) return weechat.PLUGIN_RC_OK # ruby Weechat.add_command_handler("commande", "ma_commande") def ma_commande(server, args) Weechat.print("serveur=#{server} args=#{args}") return Weechat::PLUGIN_RC_OK end -- lua weechat.add_command_handler ("commande", "ma_commande") def my_command(server, args) weechat.print("serveur="..server..", args="..args) return weechat.PLUGIN_RC_OK() end
Notes : la fonction appelée lorsque la commande est exécutée doit renvoyer une des valeurs suivantes :
PLUGIN_RC_KO
: la fonction a échoué
PLUGIN_RC_OK
: la fonction a réussi
Prototype Perl : weechat::add_timer_handler(intervalle, fonction);
Prototype Python : weechat.add_timer_handler(intervalle, fonction)
Prototype Ruby : Weechat.add_timer_handler(intervalle, fonction)
Prototype Lua : weechat.add_timer_handler(intervalle, fonction)
Ajoute un gestionnaire de temps, qui appelle périodiquement une fonction.
Paramètres :
intervalle
: intervalle (en secondes)
entre deux appels de la fonction.
fonction
: fonction appelée
Valeur renvoyée : 1 si succès, 0 si une erreur s'est produite.
Exemples :
# perl weechat::add_timer_handler(60, "mon_timer"); sub mon_timer { weechat::print("ceci est le timer handler"); return weechat::PLUGIN_RC_OK; } # python weechat.add_timer_handler(60, "mon_timer") def mon_timer(serveur, args): weechat.prnt("ceci est le timer handler") return weechat.PLUGIN_RC_OK # ruby Weechat.add_timer_handler(60, "mon_timer") def mon_timer(server, args) Weechat.print("ceci est le timer handler") return Weechat::PLUGIN_RC_OK end -- lua weechat.add_timer_handler(60, "mon_timer") function mon_timer(server, args) weechat.print("ceci est le timer handler") return weechat.PLUGIN_RC_OK() end
Note : la fonction appelée doit renvoyer une des valeurs suivantes :
PLUGIN_RC_KO
: la fonction a échoué
PLUGIN_RC_OK
: la fonction a réussi
Prototype Perl : weechat::remove_handler(nom, fonction);
Prototype Python : weechat.remove_handler(nom, fonction)
Prototype Ruby : Weechat.remove_handler(nom, fonction)
Prototype Lua : weechat.remove_handler(nom, fonction)
Supprime un gestionnaire de message ou de commande.
Paramètres :
nom
: nom du message IRC ou de la commande
fonction
: fonction associée
Valeur renvoyée : 1 si succès, 0 si une erreur s'est produite.
Exemples :
# perl weechat::remove_handler("commande", "ma_commande"); # python weechat.remove_handler("commande", "ma_commande") # ruby Weechat.remove_handler("commande", "ma_commande") -- lua weechat.remove_handler("commande", "ma_commande")
Prototype Perl : weechat::remove_timer_handler(fonction);
Prototype Python : weechat.remove_timer_handler(fonction)
Prototype Ruby : Weechat.remove_timer_handler(fonction)
Prototype Lua : weechat.remove_timer_handler(fonction)
Supprime un gestionnaire de temps.
Paramètres :
fonction
: fonction
Valeur renvoyée : 1 si succès, 0 si une erreur s'est produite.
Exemples :
# perl weechat::remove_timer_handler("mon_timer"); # python weechat.remove_timer_handler("mon_timer") # ruby Weechat.remove_timer_handler("mon_timer") -- lua weechat.remove_timer_handler("mon_timer")
Prototype Perl : weechat::command(commande, [canal, [serveur]]);
Prototype Python : weechat.command(commande, [canal, [serveur]])
Prototype Ruby : Weechat.command(commande, [canal, [serveur]])
Prototype Lua : weechat.command(commande, [canal, [serveur]])
Exécute une commande ou envoie un message à un canal.
Paramètres :
commande
: la commande à exécuter
canal
: nom du canal où exécuter la
commande
serveur
: nom interne du serveur où
exécuter la commande
Valeur renvoyée : 1 si succès, 0 si une erreur s'est produite.
Exemples :
# perl weechat::command("bonjour tout le monde !"); weechat::command("/kick toto merci de quitter ce canal", "#weechat"); weechat::command("/nick newnick", "", "freenode"); # python weechat.command("bonjour tout le monde !") weechat.command("/kick toto merci de quitter ce canal", "#weechat") weechat.command("/nick newnick", "", "freenode") # ruby Weechat.command("bonjour tout le monde !") Weechat.command("/kick toto merci de quitter ce canal", "#weechat") Weechat.command("/nick newnick", "", "freenode") -- lua weechat.command("bonjour tout le monde !") weechat.command("/kick toto merci de quitter ce canal", "#weechat") weechat.command("/nick newnick", "", "freenode")
Prototype Perl : weechat::get_info(nom, [serveur]);
Prototype Python : weechat.get_info(nom, [serveur])
Prototype Ruby : Weechat.get_info(nom, [serveur])
Prototype Lua : weechat.get_info(nom, [serveur])
Renvoie une information sur WeeChat ou un canal.
Paramètres :
nom
: nom de l'info à obtenir
(voir la section intitulée « get_info »)
serveur
: nom interne du serveur où
récupérer l'information (si nécessaire)
Valeur renvoyée : l'information demandée, chaîne vide si une erreur s'est produite ou que l'information n'a pas été trouvée.
Exemples :
# perl $version = get_info("version"); $nick = get_info("nick", "freenode"); # python version = weechat.get_info("version") nick = weechat.get_info("nick", "freenode") # ruby version = Weechat.get_info("version") nick = Weechat.get_info("nick", "freenode") -- lua version = weechat.get_info("version") nick = weechat.get_info("nick", "freenode")
Prototype Perl : weechat::get_dcc_info();
Prototype Python : weechat.get_dcc_info()
Prototype Ruby : Weechat.get_dcc_info()
Prototype Lua : weechat.get_dcc_info()
Renvoie la liste des DCC en cours ou terminés.
Valeur renvoyée : la liste des DCC (voir la section intitulée « get_dcc_info »).
Exemples :
# perl my @dccs = weechat::get_dcc_info(); if (@dccs) { foreach my $dcc (@dccs) { while (my ($key, $value) = each %$dcc) { weechat::print("$key = '$value'"); } } } else { weechat::print("pas de DCC"); } # python dccs = weechat.get_dcc_info() if dccs != None: if dccs == []: weechat.prnt("pas de DCC") else: for d in dccs: for b in d.keys(): weechat.prnt("%s = '%s'" %(b, d[b])) else: weechat.prnt("erreur de lecture des DCC") # ruby dccs = Weechat.get_dcc_info() if dccs != nil if dccs == [] Weechat.print("pas de DCC") else dccs.each do |m| m.each do |key, value| Weechat.print("#{key} = '#{value}'") end end end else Weechat.print("erreur de lecture des DCC") end -- lua dccs = weechat.get_dcc_info() if dccs ~= nil then if dccs then dcc, dccinfos = next (dccs, nil) while (dcc) do key, value = next (dccinfos, nil) while (key) do weechat.print(key.." = '"..value.."'") key, value = next (dccinfos, key) end dcc, dccinfos = next (dccs, dcc) end else weechat.print("pas de DCC") end else weechat.print("erreur de lecture des DCC") end
Prototype Perl : weechat::get_server_info();
Prototype Python : weechat.get_server_info()
Prototype Ruby : Weechat.get_server_info()
Prototype Lua : weechat.get_server_info()
Renvoie la liste des serveurs IRC (connectés ou non).
Valeur renvoyée : la liste des serveurs IRC (connectés ou non) (voir la section intitulée « get_server_info »).
Exemples :
# perl my $servers = weechat::get_server_info(); if ($servers) { while (my ($srvname, $srvinfos) = each %$servers) { while (my ($key, $value) = each %$srvinfos) { weechat::print("$srvname -> $key = '$value'"); } } } else { weechat::print("pas de serveur"); } # python servers = weechat.get_server_info() if servers != None: if servers == {}: weechat.prnt("pas de serveur") else: for s in servers: for i in servers[s]: weechat.prnt("%s -> %s = '%s'" % (s, i, str(servers[s][i]))) else: weechat.prnt("erreur de lecture des serveurs") # ruby servers = Weechat.get_server_info() if servers != nil if servers == [] Weechat.print("pas de serveur") else servers.each do |n, s| s.each do |key, value| Weechat.print("#{n} -> #{key} = '#{value}'") end end end else Weechat.print("erreur de lecture des serveurs") end -- lua servers = weechat.get_server_info() if servers ~= nil then if servers then srv, srvinfos = next (servers, nil) while (srv) do key, value = next (srvinfos, nil) while (key) do weechat.print(srv.." -> "..key.." = '"..value.."'") key, value = next (srvinfos, key) end srv, srvinfos = next (servers, srv) end else weechat.print("pas de serveur") end else weechat.print("erreur de lecture des serveurs") end
Prototype Perl : weechat::get_channel_info(serveur);
Prototype Python : weechat.get_channel_info(serveur)
Prototype Ruby : Weechat.get_channel_info(serveur)
Prototype Lua : weechat.get_channel_info(serveur)
Renvoie la liste des canaux IRC pour un serveur.
Valeur renvoyée : la liste des canaux IRC du serveur (voir la section intitulée « get_channel_info »).
Exemples :
# perl my $channels = weechat::get_channel_info(weechat::get_info("server")); if ($channels) { while (my ($channame, $chaninfos) = each %$channels) { while (my ($key, $value) = each %$chaninfos) { weechat::print("$channame -> $key = '$value'"); } } } else { weechat::print("pas de canal"); } # python chans = weechat.get_channel_info(weechat.get_info("server")) if chans != None: if chans == {}: weechat.prnt("pas de canal") else: for s in chans: for i in chans[s]: weechat.prnt("%s -> %s = '%s'" % (s, i, str(chans[s][i]))) else: weechat.prnt("erreur de lecture des canaux") # ruby channels = Weechat.get_channel_info(Weechat.get_info("server")) if channels != nil if channels == {} Weechat.print("pas de canal") else channels.each do |n, c| c.each do |key, value| Weechat.print("#{n} -> #{key} = '#{value}'") end end end else Weechat.print("erreur de lecture des canaux") end -- lua chans = weechat.get_channel_info(weechat.get_info("server")) if chans ~= nil then if chans then chan, chaninfos = next (chans, nil) while (chan) do key, value = next (chaninfos, nil) while (key) do weechat.print(chan.." -> "..key.." = '"..value.."'") key, value = next (chaninfos, key) end chan, chaninfos = next (chans, chan) end else weechat.print("pas de canal") end else weechat.print("erreur de lecture des canaux") end
Prototype Perl : weechat::get_nick_info(serveur, canal);
Prototype Python : weechat.get_nick_info(serveur, canal)
Prototype Ruby : Weechat.get_nick_info(serveur, canal)
Prototype Lua : weechat.get_nick_info(serveur, canal)
Renvoie la liste des pseudos pour un canal.
Valeur renvoyée : la liste des pseudos présents sur le canal (voir la section intitulée « get_nick_info »).
Exemples :
# perl my $nicks = weechat::get_nick_info("freenode", "#weechat"); if ($nicks) { while (my ($nickname, $nickinfos) = each %$nicks) { while ( my ($key, $value) = each %$nickinfos) { weechat::print("$nickname -> $key = '$value'"); } } } else { weechat::print("pas de pseudo"); } # python nicks = weechat.get_nick_info("freenode", "#weechat") if nicks != None: if nicks == {}: weechat.prnt("pas de pseudo") else: for n in nicks: for f in nicks[n]: weechat.prnt("%s -> %s = '%s'" % (n, f, str(nicks[n][f]))) else: weechat.prnt("erreur de lecture des pseudos") # ruby nicks = Weechat.get_nick_info("freenode", "#weechat") if nicks != nil if nicks == {} Weechat.print("pas de pseudo") else nicks.each do |nk, nattr| nattr.each do |key, value| Weechat.print("#{nk} -> #{key} = '#{value}'") end end end else Weechat.print("erreur de lecture des pseudos") end -- lua nicks = weechat.get_nick_info("freenode", "#weechat") if nicks ~= nil then if nicks then nick, nickinfos = next (nicks, nil) while (nick) do key, value = next (nickinfos, nil) while (key) do weechat.print(nick.." -> "..key.." = '"..value.."'") key, value = next (nickinfos, key) end nick, nickinfos = next (nicks, nick) end else weechat.print("pas de pseudo") end else weechat.print("erreur de lecture des pseudos") end
Prototype Perl : weechat::get_config(option);
Prototype Python : weechat.get_config(option)
Prototype Ruby : Weechat.get_config(option)
Prototype Lua : weechat.get_config(option)
Renvoie la valeur d'une option de configuration WeeChat.
Paramètres :
option
: nom de l'option
Valeur renvoyée : la valeur de l'option, chaîne vide si l'option n'a pas été trouvée.
Exemples :
# perl $valeur1 = weechat::get_config("look_nicklist"); $valeur2 = weechat::get_config("freenode.server_autojoin"); # python valeur1 = weechat.get_config("look_nicklist") valeur2 = weechat.get_config("freenode.server_autojoin") # ruby valeur1 = Weechat.get_config("look_nicklist") valeur2 = Weechat.get_config("freenode.server_autojoin") -- lua valeur1 = weechat.get_config("look_nicklist") valeur2 = weechat.get_config("freenode.server_autojoin")
Prototype Perl : weechat::set_config(option, valeur);
Prototype Python : weechat.set_config(option, valeur)
Prototype Ruby : Weechat.set_config(option, valeur)
Prototype Lua : weechat.set_config(option, valeur)
Modifie la valeur d'une option de configuration WeeChat.
Paramètres :
option
: nom de l'option
valeur
: la nouvelle valeur pour
l'option
Valeur renvoyée : 1 si succès, 0 si une erreur s'est produite.
Exemples :
# perl weechat::set_config("look_nicklist", "off"); weechat::set_config("freenode.server_autojoin, "#weechat"); # python weechat.set_config("look_nicklist", "off") weechat.set_config("freenode.server_autojoin, "#weechat") # ruby Weechat.set_config("look_nicklist", "off") Weechat.set_config("freenode.server_autojoin, "#weechat") -- lua weechat.set_config("look_nicklist", "off") weechat.set_config("freenode.server_autojoin, "#weechat")
Prototype Perl : weechat::get_plugin_config(option);
Prototype Python : weechat.get_plugin_config(option)
Prototype Ruby : Weechat.get_plugin_config(option)
Prototype Lua : weechat.get_plugin_config(option)
Renvoie la valeur d'une option de l'extension.
L'option est lue depuis le fichier
"~/.weechat/plugins.rc
" et est
sous cette forme :
"extension.script.option=valeur
"
(NB : le nom de l'extension et du script sont ajoutés
automatiquement).
Paramètres :
option
: nom de l'option
Valeur renvoyée : la valeur de l'option, chaîne vide si l'option n'a pas été trouvée.
Exemples :
# perl $valeur = weechat::get_plugin_config("ma_variable"); # python valeur = weechat.get_plugin_config("ma_variable") # ruby valeur = Weechat.get_plugin_config("ma_variable") -- lua valeur = weechat.get_plugin_config("ma_variable")
Prototype Perl : weechat::set_plugin_config(option, valeur);
Prototype Python : weechat.set_plugin_config(option, valeur)
Prototype Ruby : Weechat.set_plugin_config(option, valeur)
Prototype Lua : weechat.set_plugin_config(option, valeur)
Modifie la valeur d'une option de l'extension.
L'option est écrite dans le fichier
"~/.weechat/plugins.rc
" et est
sous cette forme :
"extension.script.option=valeur
"
(NB : le nom de l'extension et du script sont rajoutés
automatiquement).
Paramètres :
option
: nom de l'option
valeur
: la nouvelle valeur pour
l'option
Valeur renvoyée : 1 si succès, 0 si une erreur s'est produite.
Exemples :
# perl weechat::set_plugin_config("ma_variable", "valeur"); # python weechat.set_plugin_config("ma_variable", "valeur") # ruby Weechat.set_plugin_config("ma_variable", "valeur") -- lua weechat.set_plugin_config("ma_variable", "valeur")