mirror of
https://github.com/irssi/irssi.git
synced 2025-04-26 04:51:11 -05:00
perl updates
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1089 dbcabf3a-b0e7-0310-adc4-f8d773084564
This commit is contained in:
parent
3f1b28ead9
commit
abcb44f835
359
docs/perl.txt
359
docs/perl.txt
@ -46,17 +46,15 @@ Irssi::signal_stop();
|
|||||||
|
|
||||||
For example:
|
For example:
|
||||||
|
|
||||||
--------------------------------------------------------
|
sub event_privmsg {
|
||||||
sub event_privmsg {
|
|
||||||
# $data = "nick/#channel :text"
|
# $data = "nick/#channel :text"
|
||||||
my ($server, $data, $nick, $address) = @_;
|
my ($server, $data, $nick, $address) = @_;
|
||||||
my ($target, $text) = split(/ :/, $data, 2);
|
my ($target, $text) = split(/ :/, $data, 2);
|
||||||
|
|
||||||
Irssi::signal_stop() if ($text =~ /free.*porn/ || $nick =~ /idiot/);
|
Irssi::signal_stop() if ($text =~ /free.*porn/ || $nick =~ /idiot/);
|
||||||
}
|
}
|
||||||
|
|
||||||
Irssi::signal_add("event privmsg", "event_privmsg")
|
Irssi::signal_add("event privmsg", "event_privmsg")
|
||||||
--------------------------------------------------------
|
|
||||||
|
|
||||||
This will hide all public or private messages that match the regexp
|
This will hide all public or private messages that match the regexp
|
||||||
"free.*porn" or the sender's nick contain the word "idiot". Yes, you
|
"free.*porn" or the sender's nick contain the word "idiot". Yes, you
|
||||||
@ -114,9 +112,10 @@ of all the information that are in objects are in "Object->{}" sections
|
|||||||
below.
|
below.
|
||||||
|
|
||||||
Commands are split in two groups, generic ones that could be used with
|
Commands are split in two groups, generic ones that could be used with
|
||||||
any chat protocol, and IRC specific commands, you'll need to put
|
any chat protocol, and IRC specific commands. If you want to use IRC
|
||||||
"use Irssi::Irc;" to your scripts. IRC specific commands are listed
|
specific commands, or use IRC specific ->{data} in your scripts, you'll
|
||||||
after the generic ones.
|
need to add "use Irssi::Irc" to your scripts. IRC specific commands are
|
||||||
|
listed after the generic ones.
|
||||||
|
|
||||||
|
|
||||||
*** General
|
*** General
|
||||||
@ -759,162 +758,43 @@ Server::ignore_check(nick, host, channel, text, level)
|
|||||||
Return 1 if ignoring matched.
|
Return 1 if ignoring matched.
|
||||||
|
|
||||||
|
|
||||||
*** Channel modes
|
***
|
||||||
|
*** IRC specific functions. All objects below this are prefixed with Irc::
|
||||||
|
***
|
||||||
|
|
||||||
irc_get_mask(nick, host, flags)
|
*** IRC servers
|
||||||
Create IRC mask from nick!host.
|
|
||||||
flags = you need to combine these:
|
|
||||||
(FIXME: export the IRC_xxx defines to perl (or something))
|
|
||||||
IRC_MASK_NICK 0x01
|
|
||||||
IRC_MASK_USER 0x02
|
|
||||||
IRC_MASK_HOST 0x04
|
|
||||||
IRC_MASK_DOMAIN 0x08
|
|
||||||
|
|
||||||
Ban::values()
|
Irc::Server->{}
|
||||||
Get some information about ban. This function returns a reference to
|
(..contains all the same data as core Server object..)
|
||||||
hash table. Hash table has keys:
|
real_address - Address the IRC server gives
|
||||||
"ban" - The ban
|
usermode - User mode in server
|
||||||
"setby" - Nick of who set the ban
|
userhost - Your user host in server
|
||||||
"time" - Timestamp when ban was set
|
|
||||||
|
|
||||||
Ban Channel::ban_add(ban, nick, time)
|
Irc::Connect->{}
|
||||||
Add new ban. (!!)
|
(..contains all the same data as core Connect object..)
|
||||||
|
alternate_nick - Alternate nick to use if default nick is taken.
|
||||||
|
|
||||||
Channel::ban_remove(ban)
|
Connect::connect()
|
||||||
Remove ban. (!!)
|
Connect to IRC server.
|
||||||
|
|
||||||
Ban Channel::ban_exception_add(ban, nick, time)
|
Server::get_channels(server)
|
||||||
Add ban exception (!!)
|
Return a string of all channels (and keys, if any have them) in server,
|
||||||
|
like "#a,#b,#c,#d x,b_chan_key,x,x" or just "#e,#f,#g"
|
||||||
Channel::ban_exception_remove(ban)
|
|
||||||
Remove ban exception (!!)
|
|
||||||
|
|
||||||
Channel::invitelist_add(mask)
|
|
||||||
Add invite (!!)
|
|
||||||
|
|
||||||
Channel::invitelist_remove(mask)
|
|
||||||
Remove invite (!!)
|
|
||||||
|
|
||||||
Channel::modes_parse_channel(setby, modestr)
|
|
||||||
Parse mode string (!!)
|
|
||||||
|
|
||||||
Channel::ban_get_mask(nick)
|
|
||||||
Get ban mask for `nick'.
|
|
||||||
|
|
||||||
Channel::modes_set(data, mode)
|
|
||||||
Set mode `mode' ("+o", "-o", etc.) to all nicks in `data'
|
|
||||||
separated with spaces.
|
|
||||||
|
|
||||||
|
|
||||||
*** DCC
|
|
||||||
|
|
||||||
Dcc::values()
|
|
||||||
Get some information about nick. This function returns a reference to
|
|
||||||
hash table. Hash table has keys:
|
|
||||||
"type" - Type of the DCC: chat, send, get
|
|
||||||
"created" - Unix time stamp when the DCC record was created
|
|
||||||
|
|
||||||
"server" - Server where the DCC was initiated.
|
|
||||||
"chat" - DCC chat record if the request came through DCC chat
|
|
||||||
"ircnet" - IRC network where the DCC was initiated.
|
|
||||||
"mynick" - Our nick to use in DCC chat.
|
|
||||||
|
|
||||||
"nick" - Other side's nick name.
|
|
||||||
"addr" - Other side's IP address.
|
|
||||||
"port" - Port we're connecting in.
|
|
||||||
|
|
||||||
"arg" - Given argument .. file name usually
|
|
||||||
"file" - The real file name which we use.
|
|
||||||
|
|
||||||
"size" - File size
|
|
||||||
"transfd" - Bytes transferred
|
|
||||||
"skipped" - Bytes skipped from start (resuming file)
|
|
||||||
"starttime" - Unix time stamp when the DCC transfer was started
|
|
||||||
|
|
||||||
Dcc::destroy()
|
|
||||||
Destroy DCC connection. (!!)
|
|
||||||
|
|
||||||
Dcc dcc_find_item(type, nick, arg)
|
|
||||||
Find DCC connection.
|
|
||||||
|
|
||||||
Dcc dcc_find_by_port(nick, port)
|
|
||||||
Find DCC connection by port.
|
|
||||||
|
|
||||||
dcc_ctcp_message(target, server, chat, notice, msg)
|
|
||||||
Send a CTCP message/notify to target. Send the CTCP via DCC chat if
|
|
||||||
`chat' is specified.
|
|
||||||
|
|
||||||
Dcc::dcc_chat_send(data)
|
|
||||||
Send `data' to dcc chat.
|
|
||||||
|
|
||||||
Dcc item_get_dcc(item)
|
|
||||||
If window item `item' is a query of a =nick, return DCC chat record
|
|
||||||
of nick.
|
|
||||||
|
|
||||||
*** Netsplits
|
|
||||||
|
|
||||||
Netsplit::values()
|
|
||||||
Get some information about netsplit. This function returns a reference to
|
|
||||||
hash table. Hash table has keys:
|
|
||||||
"nick" - Nick
|
|
||||||
"address" - Nick's host
|
|
||||||
"server" - The server nick was in
|
|
||||||
"destserver" - The other server where split occured.
|
|
||||||
"destroy" - Timestamp when this record should be destroyed
|
|
||||||
/*FIXME: add list of channels the nick was in;*/
|
|
||||||
|
|
||||||
Netsplit Server::netsplit_find(nick, address)
|
|
||||||
Check if nick!address is on the other side of netsplit. Netsplit records
|
|
||||||
are automatically removed after 30 minutes (current default)..
|
|
||||||
|
|
||||||
Nick Server::netsplit_find_channel(nick, address, channel)
|
|
||||||
Find nick record for nick!address in channel `channel'.
|
|
||||||
|
|
||||||
|
|
||||||
*** Notify list
|
|
||||||
|
|
||||||
notifylist_add(nick, ircnet)
|
|
||||||
Add `nick' to notify list in irc network `ircnet'
|
|
||||||
|
|
||||||
Server notifylist_ison(nick, ircnets)
|
|
||||||
Check if `nick' is in IRC. `ircnets' is a space separated
|
|
||||||
list of irc networks. If it's empty string, all servers will be checked.
|
|
||||||
|
|
||||||
Server::notifylist_ison_server(nick)
|
|
||||||
Check if `nick' is on IRC server.
|
|
||||||
|
|
||||||
|
|
||||||
*** Plugins
|
|
||||||
|
|
||||||
Plugin::values()
|
|
||||||
Get some information about plugin. This function returns a reference to
|
|
||||||
hash table. Hash table has keys:
|
|
||||||
"name" - Plugin name
|
|
||||||
"description" - Plugin description
|
|
||||||
|
|
||||||
plugin_load(name, args)
|
|
||||||
Load plugin.
|
|
||||||
|
|
||||||
plugin_get_description(name)
|
|
||||||
Get plugin description string.
|
|
||||||
|
|
||||||
Plugin plugin_find(name)
|
|
||||||
Find plugin.
|
|
||||||
|
|
||||||
|
|
||||||
*** IRC
|
|
||||||
|
|
||||||
dccs() - return list of all dcc connections
|
|
||||||
|
|
||||||
Server::send_raw(cmd)
|
Server::send_raw(cmd)
|
||||||
Send raw message to server, it will be flood protected so you
|
Send raw message to server, it will be flood protected so you
|
||||||
don't need to worry about it.
|
don't need to worry about it.
|
||||||
|
|
||||||
Server::irc_send_cmd_split(cmd, arg, max_nicks)
|
Server::send_raw_now(cmd)
|
||||||
Split the `cmd' into several commands so `arg' argument has only
|
Send raw message to server immediately without flood protection.
|
||||||
|
|
||||||
|
Server::send_raw_split(cmd, nickarg, max_nicks)
|
||||||
|
Split the `cmd' into several commands so `nickarg' argument has only
|
||||||
`max_nicks' number of nicks.
|
`max_nicks' number of nicks.
|
||||||
|
|
||||||
Example: $server->irc_send_cmd_split("KICK #channel nick1,nick2,nick3 :byebye", 2, 2);
|
Example:
|
||||||
|
$server->send_raw_split("KICK #channel nick1,nick2,nick3 :byebye", 2, 2);
|
||||||
|
|
||||||
Irssi will send commands "KICK #channel nick1,nick2 :byebye" and
|
Irssi will send commands "KICK #channel nick1,nick2 :byebye" and
|
||||||
"KICK #channel nick3 :byebye" to server.
|
"KICK #channel nick3 :byebye" to server.
|
||||||
|
|
||||||
@ -922,15 +802,174 @@ Server::ctcp_send_reply(data)
|
|||||||
Send CTCP reply. This will be "CTCP flood protected" so if there's too
|
Send CTCP reply. This will be "CTCP flood protected" so if there's too
|
||||||
many CTCP requests in buffer, this reply might not get sent.
|
many CTCP requests in buffer, this reply might not get sent.
|
||||||
|
|
||||||
Autoignore::values()
|
|
||||||
Get some information about autoignore. This function returns a reference to
|
|
||||||
hash table. Hash table has keys:
|
|
||||||
"nick" - Ignored nick
|
|
||||||
"timeleft" - Seconds left to ignore
|
|
||||||
"level" - Ignoring level number
|
|
||||||
|
|
||||||
Server::autoignore_add(type, nick)
|
*** IRC channels
|
||||||
Autoignore `nick' in server with level number `type'.
|
|
||||||
|
Ban->{}
|
||||||
|
ban - The ban
|
||||||
|
setby - Nick of who set the ban
|
||||||
|
time - Timestamp when ban was set
|
||||||
|
|
||||||
|
Channel
|
||||||
|
Server::channel_create(name, automatic)
|
||||||
|
Create new channel.
|
||||||
|
|
||||||
|
Channel::bans()
|
||||||
|
Return a list of bans in channel.
|
||||||
|
|
||||||
|
Channel::ebans()
|
||||||
|
Return a list of ban exceptions in channel.
|
||||||
|
|
||||||
|
Channel::invites()
|
||||||
|
Return invite list (+I) of channel.
|
||||||
|
|
||||||
|
Channel::ban_get_mask(nick)
|
||||||
|
Get ban mask for `nick'.
|
||||||
|
|
||||||
|
Channel::banlist_add(ban, nick, time)
|
||||||
|
Add a new ban to channel.
|
||||||
|
|
||||||
|
Channel::banlist_remove(ban)
|
||||||
|
Remove a ban from channel.
|
||||||
|
|
||||||
|
Channel::banlist_exception_add(ban, nick, time)
|
||||||
|
Add a new ban exception to channel.
|
||||||
|
|
||||||
|
Channel::banlist_exception_remove(ban)
|
||||||
|
Remove a ban exception from channel.
|
||||||
|
|
||||||
|
Channel::invitelist_add(mask)
|
||||||
|
Add a new invite mask to channel.
|
||||||
|
|
||||||
|
Channel::invitelist_remove(mask)
|
||||||
|
Remove invite mask from channel.
|
||||||
|
|
||||||
|
modes_join(old, mode, channel)
|
||||||
|
Add `mode' to `old' - return newly allocated mode. If `channel' is 1,
|
||||||
|
we're parsing channel mode and we should try to join mode arguments too.
|
||||||
|
|
||||||
|
|
||||||
|
*** DCC
|
||||||
|
|
||||||
|
Dcc->{}
|
||||||
|
type - Type of the DCC: chat, send, get
|
||||||
|
created - Time stamp when the DCC record was created
|
||||||
|
|
||||||
|
server - Server where the DCC was initiated.
|
||||||
|
nick - Other side's nick name.
|
||||||
|
|
||||||
|
chat - Dcc chat record if the request came through DCC chat
|
||||||
|
|
||||||
|
ircnet - IRC network where the DCC was initiated.
|
||||||
|
mynick - Our nick to use in DCC chat.
|
||||||
|
|
||||||
|
arg - Given argument .. file name usually
|
||||||
|
file - The real file name which we use.
|
||||||
|
|
||||||
|
addr - Other side's IP address.
|
||||||
|
port - Port we're connecting in.
|
||||||
|
|
||||||
|
size - File size
|
||||||
|
transfd - Bytes transferred
|
||||||
|
skipped - Bytes skipped from start (resuming file)
|
||||||
|
starttime - Unix time stamp when the DCC transfer was started
|
||||||
|
|
||||||
|
dccs() - return list of all dcc connections
|
||||||
|
|
||||||
|
Dcc::destroy()
|
||||||
|
Destroy DCC connection.
|
||||||
|
|
||||||
|
Dcc
|
||||||
|
dcc_find_item(type, nick, arg)
|
||||||
|
Find DCC connection.
|
||||||
|
|
||||||
|
Dcc
|
||||||
|
dcc_find_by_port(nick, port)
|
||||||
|
Find DCC connection by port.
|
||||||
|
|
||||||
|
Dcc
|
||||||
|
Windowitem::get_dcc(item)
|
||||||
|
If `item' is a query of a =nick, return DCC chat record of nick.
|
||||||
|
|
||||||
|
Dcc::chat_send(data)
|
||||||
|
Send `data' to dcc chat.
|
||||||
|
|
||||||
|
Server::dcc_ctcp_message(target, notice, msg)
|
||||||
|
Dcc::ctcp_message(target, notice, msg)
|
||||||
|
Send a CTCP message/notify to target.
|
||||||
|
|
||||||
|
|
||||||
|
*** Netsplits
|
||||||
|
|
||||||
|
Netsplit->{}
|
||||||
|
nick - Nick
|
||||||
|
address - Nick's host
|
||||||
|
destroy - Timestamp when this record should be destroyed
|
||||||
|
server - Netsplitserver object
|
||||||
|
channels - list of channels (Netsplitchannel objects) the nick was in
|
||||||
|
|
||||||
|
Netsplitserver->{}
|
||||||
|
server - The server nick was in
|
||||||
|
destserver - The other server where split occured.
|
||||||
|
count - Number of splits in server
|
||||||
|
|
||||||
|
Netsplitchannel->{}
|
||||||
|
name - Channel name
|
||||||
|
nick - Nick object
|
||||||
|
|
||||||
|
Netsplit
|
||||||
|
Server::netsplit_find(nick, address)
|
||||||
|
Check if nick!address is on the other side of netsplit. Netsplit records
|
||||||
|
are automatically removed after 30 minutes (current default)..
|
||||||
|
|
||||||
|
Nick
|
||||||
|
Server::netsplit_find_channel(nick, address, channel)
|
||||||
|
Find nick record for nick!address in channel `channel'.
|
||||||
|
|
||||||
|
|
||||||
|
*** Notify list
|
||||||
|
|
||||||
|
Notifylist->{}
|
||||||
|
mask - Notify nick mask
|
||||||
|
away_check - Notify away status changes
|
||||||
|
idle_check_time - Notify when idle time is reset and idle was bigger
|
||||||
|
than this (seconds)
|
||||||
|
ircnets - List of ircnets (strings) the notify is checked
|
||||||
|
|
||||||
|
notifies() - Return list of all notifies
|
||||||
|
|
||||||
|
Notifylist
|
||||||
|
notifylist_add(mask, ircnets, away_check, idle_check_time)
|
||||||
|
Add new item to notify list.
|
||||||
|
|
||||||
|
notifylist_remove(mask)
|
||||||
|
Remove item from notify list.
|
||||||
|
|
||||||
|
Notifylist
|
||||||
|
notifylist_find(mask, ircnet)
|
||||||
|
Find notify.
|
||||||
|
|
||||||
|
Server
|
||||||
|
notifylist_ison(nick, serverlist)
|
||||||
|
Check if `nick' is in IRC. `serverlist' is a space separated
|
||||||
|
list of server tags. If it's empty string, all servers will be checked.
|
||||||
|
|
||||||
|
Server::notifylist_ison_server(nick)
|
||||||
|
Check if `nick' is on IRC server.
|
||||||
|
|
||||||
|
Notifylist::ircnets_match(ircnet)
|
||||||
|
Returns 1 if notify is checked in `ircnet'.
|
||||||
|
|
||||||
|
|
||||||
|
*** Autoignoring
|
||||||
|
|
||||||
|
Autoignore->{}
|
||||||
|
nick - Ignored nick
|
||||||
|
timeleft - Seconds left to ignore
|
||||||
|
level - Ignoring level number
|
||||||
|
|
||||||
|
Server::autoignore_add(nick, level)
|
||||||
|
Add new autoignore.
|
||||||
|
|
||||||
Server::autoignore_remove(mask, level)
|
Server::autoignore_remove(mask, level)
|
||||||
Remove autoignoring `nick' from server. `level' is a string.
|
Remove autoignore.
|
||||||
|
@ -61,7 +61,6 @@ CORE_SOURCES = \
|
|||||||
common/module.h
|
common/module.h
|
||||||
|
|
||||||
IRC_SOURCES = \
|
IRC_SOURCES = \
|
||||||
irc/Bans.xs \
|
|
||||||
irc/Dcc.xs \
|
irc/Dcc.xs \
|
||||||
irc/Flood.xs \
|
irc/Flood.xs \
|
||||||
irc/IrcChannel.xs \
|
irc/IrcChannel.xs \
|
||||||
|
@ -1,24 +0,0 @@
|
|||||||
MODULE = Irssi::Irc PACKAGE = Irssi::Irc
|
|
||||||
|
|
||||||
void
|
|
||||||
ban_set_type(type)
|
|
||||||
char *type
|
|
||||||
|
|
||||||
#*******************************
|
|
||||||
MODULE = Irssi::Irc PACKAGE = Irssi::Irc::Channel
|
|
||||||
#*******************************
|
|
||||||
|
|
||||||
char *
|
|
||||||
ban_get_mask(channel, nick)
|
|
||||||
Irssi::Irc::Channel channel
|
|
||||||
char *nick
|
|
||||||
|
|
||||||
void
|
|
||||||
ban_set(channel, bans)
|
|
||||||
Irssi::Irc::Channel channel
|
|
||||||
char *bans
|
|
||||||
|
|
||||||
void
|
|
||||||
ban_remove(channel, ban)
|
|
||||||
Irssi::Irc::Channel channel
|
|
||||||
char *ban
|
|
@ -22,22 +22,40 @@ dcc_find_by_port(nick, port)
|
|||||||
char *nick
|
char *nick
|
||||||
int port
|
int port
|
||||||
|
|
||||||
void
|
#*******************************
|
||||||
dcc_ctcp_message(server, target, chat, notice, msg)
|
MODULE = Irssi::Irc PACKAGE = Irssi::Windowitem PREFIX = item_
|
||||||
Irssi::Irc::Server server
|
#*******************************
|
||||||
char *target
|
|
||||||
Irssi::Irc::Dcc chat
|
|
||||||
int notice
|
|
||||||
char *msg
|
|
||||||
|
|
||||||
Irssi::Irc::Dcc
|
Irssi::Irc::Dcc
|
||||||
item_get_dcc(item)
|
item_get_dcc(item)
|
||||||
void *item
|
Irssi::Windowitem item
|
||||||
|
|
||||||
|
#*******************************
|
||||||
|
MODULE = Irssi::Irc PACKAGE = Irssi::Irc::Server
|
||||||
|
#*******************************
|
||||||
|
|
||||||
|
void
|
||||||
|
dcc_ctcp_message(server, target, notice, msg)
|
||||||
|
Irssi::Irc::Server server
|
||||||
|
char *target
|
||||||
|
int notice
|
||||||
|
char *msg
|
||||||
|
CODE:
|
||||||
|
dcc_ctcp_message(server, target, NULL, notice, msg);
|
||||||
|
|
||||||
#*******************************
|
#*******************************
|
||||||
MODULE = Irssi::Irc PACKAGE = Irssi::Irc::Dcc PREFIX = dcc_
|
MODULE = Irssi::Irc PACKAGE = Irssi::Irc::Dcc PREFIX = dcc_
|
||||||
#*******************************
|
#*******************************
|
||||||
|
|
||||||
|
void
|
||||||
|
dcc_ctcp_message(chat, target, notice, msg)
|
||||||
|
Irssi::Irc::Dcc chat
|
||||||
|
char *target
|
||||||
|
int notice
|
||||||
|
char *msg
|
||||||
|
CODE:
|
||||||
|
dcc_ctcp_message(chat->server, target, chat, notice, msg);
|
||||||
|
|
||||||
void
|
void
|
||||||
dcc_destroy(dcc)
|
dcc_destroy(dcc)
|
||||||
Irssi::Irc::Dcc dcc
|
Irssi::Irc::Dcc dcc
|
||||||
|
@ -52,7 +52,9 @@ static void perl_dcc_fill_hash(HV *hv, DCC_REC *dcc)
|
|||||||
|
|
||||||
static void perl_netsplit_fill_hash(HV *hv, NETSPLIT_REC *netsplit)
|
static void perl_netsplit_fill_hash(HV *hv, NETSPLIT_REC *netsplit)
|
||||||
{
|
{
|
||||||
|
AV *av;
|
||||||
HV *stash;
|
HV *stash;
|
||||||
|
GSList *tmp;
|
||||||
|
|
||||||
hv_store(hv, "nick", 4, new_pv(netsplit->nick), 0);
|
hv_store(hv, "nick", 4, new_pv(netsplit->nick), 0);
|
||||||
hv_store(hv, "address", 7, new_pv(netsplit->address), 0);
|
hv_store(hv, "address", 7, new_pv(netsplit->address), 0);
|
||||||
@ -60,7 +62,13 @@ static void perl_netsplit_fill_hash(HV *hv, NETSPLIT_REC *netsplit)
|
|||||||
|
|
||||||
stash = gv_stashpv("Irssi::Irc::Netsplitserver", 0);
|
stash = gv_stashpv("Irssi::Irc::Netsplitserver", 0);
|
||||||
hv_store(hv, "server", 6, new_bless(netsplit->server, stash), 0);
|
hv_store(hv, "server", 6, new_bless(netsplit->server, stash), 0);
|
||||||
/*FIXME: add GSList *channels;*/
|
|
||||||
|
stash = gv_stashpv("Irssi::Irc::Netsplitchannel", 0);
|
||||||
|
av = newAV();
|
||||||
|
for (tmp = netsplit->channels; tmp != NULL; tmp = tmp->next) {
|
||||||
|
av_push(av, sv_2mortal(new_bless(tmp->data, stash)));
|
||||||
|
}
|
||||||
|
hv_store(hv, "channels", 7, newRV_noinc((SV*)av), 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void perl_netsplit_server_fill_hash(HV *hv, NETSPLIT_SERVER_REC *rec)
|
static void perl_netsplit_server_fill_hash(HV *hv, NETSPLIT_SERVER_REC *rec)
|
||||||
@ -70,6 +78,12 @@ static void perl_netsplit_server_fill_hash(HV *hv, NETSPLIT_SERVER_REC *rec)
|
|||||||
hv_store(hv, "count", 5, newSViv(rec->count), 0);
|
hv_store(hv, "count", 5, newSViv(rec->count), 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void perl_netsplit_channel_fill_hash(HV *hv, NETSPLIT_CHANNEL_REC *rec)
|
||||||
|
{
|
||||||
|
hv_store(hv, "name", 4, new_pv(rec->name), 0);
|
||||||
|
hv_store(hv, "nick", 4, irssi_bless(rec->nick), 0);
|
||||||
|
}
|
||||||
|
|
||||||
static void perl_autoignore_fill_hash(HV *hv, AUTOIGNORE_REC *ai)
|
static void perl_autoignore_fill_hash(HV *hv, AUTOIGNORE_REC *ai)
|
||||||
{
|
{
|
||||||
hv_store(hv, "nick", 4, new_pv(ai->nick), 0);
|
hv_store(hv, "nick", 4, new_pv(ai->nick), 0);
|
||||||
@ -98,6 +112,7 @@ static PLAIN_OBJECT_INIT_REC irc_plains[] = {
|
|||||||
{ "Irssi::Irc::Dcc", (PERL_OBJECT_FUNC) perl_dcc_fill_hash },
|
{ "Irssi::Irc::Dcc", (PERL_OBJECT_FUNC) perl_dcc_fill_hash },
|
||||||
{ "Irssi::Irc::Netsplit", (PERL_OBJECT_FUNC) perl_netsplit_fill_hash },
|
{ "Irssi::Irc::Netsplit", (PERL_OBJECT_FUNC) perl_netsplit_fill_hash },
|
||||||
{ "Irssi::Irc::Netsplitserver", (PERL_OBJECT_FUNC) perl_netsplit_server_fill_hash },
|
{ "Irssi::Irc::Netsplitserver", (PERL_OBJECT_FUNC) perl_netsplit_server_fill_hash },
|
||||||
|
{ "Irssi::Irc::Netsplitchannel", (PERL_OBJECT_FUNC) perl_netsplit_channel_fill_hash },
|
||||||
{ "Irssi::Irc::Autoignore", (PERL_OBJECT_FUNC) perl_autoignore_fill_hash },
|
{ "Irssi::Irc::Autoignore", (PERL_OBJECT_FUNC) perl_autoignore_fill_hash },
|
||||||
{ "Irssi::Irc::Notifylist", (PERL_OBJECT_FUNC) perl_notifylist_fill_hash },
|
{ "Irssi::Irc::Notifylist", (PERL_OBJECT_FUNC) perl_notifylist_fill_hash },
|
||||||
|
|
||||||
@ -127,7 +142,6 @@ CODE:
|
|||||||
(PERL_OBJECT_FUNC) perl_irc_server_fill_hash);
|
(PERL_OBJECT_FUNC) perl_irc_server_fill_hash);
|
||||||
irssi_add_plains(irc_plains);
|
irssi_add_plains(irc_plains);
|
||||||
|
|
||||||
INCLUDE: Bans.xs
|
|
||||||
INCLUDE: IrcServer.xs
|
INCLUDE: IrcServer.xs
|
||||||
INCLUDE: IrcChannel.xs
|
INCLUDE: IrcChannel.xs
|
||||||
INCLUDE: IrcQuery.xs
|
INCLUDE: IrcQuery.xs
|
||||||
|
@ -27,6 +27,10 @@ send_raw_split(server, cmd, nickarg, max_nicks)
|
|||||||
CODE:
|
CODE:
|
||||||
irc_send_cmd_split(server, cmd, nickarg, max_nicks);
|
irc_send_cmd_split(server, cmd, nickarg, max_nicks);
|
||||||
|
|
||||||
|
void
|
||||||
|
ctcp_send_reply(server, data)
|
||||||
|
Irssi::Irc::Server server
|
||||||
|
char *data
|
||||||
|
|
||||||
MODULE = Irssi::Irc PACKAGE = Irssi::Irc::Connect PREFIX = irc_server_
|
MODULE = Irssi::Irc PACKAGE = Irssi::Irc::Connect PREFIX = irc_server_
|
||||||
|
|
||||||
|
@ -6,32 +6,14 @@ modes_join(old, mode, channel)
|
|||||||
char *mode
|
char *mode
|
||||||
int channel
|
int channel
|
||||||
|
|
||||||
#*******************************
|
|
||||||
MODULE = Irssi::Irc PACKAGE = Irssi::Irc::Server
|
|
||||||
#*******************************
|
|
||||||
|
|
||||||
void
|
|
||||||
channel_set_singlemode(server, channel, nicks, mode)
|
|
||||||
Irssi::Irc::Server server
|
|
||||||
char *channel
|
|
||||||
char *nicks
|
|
||||||
char *mode
|
|
||||||
|
|
||||||
void
|
|
||||||
channel_set_mode(server, channel, mode)
|
|
||||||
Irssi::Irc::Server server
|
|
||||||
char *channel
|
|
||||||
char *mode
|
|
||||||
|
|
||||||
#*******************************
|
#*******************************
|
||||||
MODULE = Irssi::Irc PACKAGE = Irssi::Irc::Channel PREFIX = channel_
|
MODULE = Irssi::Irc PACKAGE = Irssi::Irc::Channel PREFIX = channel_
|
||||||
#*******************************
|
#*******************************
|
||||||
|
|
||||||
void
|
char *
|
||||||
parse_channel_modes(channel, setby, modestr)
|
ban_get_mask(channel, nick)
|
||||||
Irssi::Irc::Channel channel
|
Irssi::Irc::Channel channel
|
||||||
char *setby
|
char *nick
|
||||||
char *modestr
|
|
||||||
|
|
||||||
Irssi::Irc::Ban
|
Irssi::Irc::Ban
|
||||||
banlist_add(channel, ban, nick, time)
|
banlist_add(channel, ban, nick, time)
|
||||||
|
@ -9,6 +9,7 @@ Irssi::Irc::Ban T_PlainObj
|
|||||||
Irssi::Irc::Dcc T_PlainObj
|
Irssi::Irc::Dcc T_PlainObj
|
||||||
Irssi::Irc::Netsplit T_PlainObj
|
Irssi::Irc::Netsplit T_PlainObj
|
||||||
Irssi::Irc::Netsplitserver T_PlainObj
|
Irssi::Irc::Netsplitserver T_PlainObj
|
||||||
|
Irssi::Irc::Netsplitchannel T_PlainObj
|
||||||
Irssi::Irc::Autoignore T_PlainObj
|
Irssi::Irc::Autoignore T_PlainObj
|
||||||
Irssi::Irc::Notifylist T_PlainObj
|
Irssi::Irc::Notifylist T_PlainObj
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user