channel api¶
-
class
Channel(name, client, network)¶ Arguments: - name (string) – The channel name
- client (object) – Client object.
- network (string) – Network object.
Create a new channel object.
-
Channel.toString()¶ Returns string hostmask: Hostmask of the channel.
-
Channel.getName()¶ Returns string Name: Name of the channel.
-
Channel.getTopic()¶ Returns string Topic: Topic of the channel.
-
Channel.getNames()¶ Returns object names: Nicks in the channel: {'nick': ['~']}
-
Channel.getNetwork()¶ Returns string Network: Network of the channel.
-
Channel.userHasMode(user, mode)¶ Arguments: - user (object) – The user to check the mode of in the channel.
- mode (string) – The mode to check for.
Returns boolean hasMode: trueif specified user has specified mode.
-
Channel.isUserInChannel(user)¶ Arguments: - user (object) – The user to check.
Returns boolean hasMode: trueif specified user is in this channel.
-
Channel.notice(msg)¶ Arguments: - msg (string) – Notice message to send to the user.
-
Channel.say(msg)¶ Arguments: - msg (string) – Message to send to the user.
-
Channel.reply(user, msg)¶ Arguments: - user (object) – User to reply to.
- msg (string) – Message to send to the user.
-
Channel.kick(user, reason)¶ Arguments: - user (object) – User to kick from channel.
- reason (string) – Reason for the kick.
-
Channel.ban(mask)¶ Arguments: - mask (string) – Hostmask to ban.
-
Channel.unban(mask)¶ Arguments: - mask (string) – Hostmask to unban.
events¶
-
invite¶
The invite event, fired when someone gets invited by someone.
Event attributes:
channel- Channel you got invited to.user- User who sent the invite.target- Invited user.
Example:
client.on('invite', function (event) {
console.log(event.target.getNick() + " got invited to "
+ event.channel.getName() + " by " + event.user.getNick());
});
-
topic¶
The topic event, fired when the topic gets changed. (or is originally sent)
Event attributes:
topic- Current topic.user- User who changed the topic.time- Time of topic change.changed-trueif topic was changed in this event.channel- Affected channel.network- Affected network.
Example:
client.on('topic', function (event) {
console.log(event.channel.getName() + ":", event.topic);
});
-
join¶
The join event, fired when someone joins a channel.
Event attributes:
user- User who joined.channel- Channel that was joined.
Example:
client.on('join', function (event) {
console.log(event.user.getNick() + " joined " + event.channel.getName());
});
-
names¶
The names event, fired when getting users in the channel.
Event attributes:
channel- Affected channel.names- List of users in the channel.
Example:
client.on('names', function (event) {
console.log(event.channel.getName() + ":", event.names);
});
-
mode¶
The mode event, fired when a mode gets changed.
Event attributes:
mode- Current mode.channel- Affected channel.by- User who changed the mode.argument- Mode argument.adding- boolean
Example:
client.on('mode', function (event) {
console.log(event.channel.getName() + ":", event.mode);
});
-
kick¶
The kick event, fired when a user gets kicked.
Event attributes:
channel- Affected channel.user- Affected user.by- User who changed the kick.reason- Reason for the kick.
Example:
client.on('kick', function (event) {
console.log(event.channel.getName() + ":", event.user.getNick(), "was kicked.");
});
-
part¶
The part event, fired when a user parts a channel (channels).
Event attributes:
user- Affected user.channels- Affected channels (channelList).message- Part message.
Example:
client.on('part', function (event) {
console.log(event.user.getNick(), "parted channels", event.channels);
});
functions¶
-
getChannelList(network)¶ Param string network: The network to execute the command on. Return array channelList: List of channels.
Get a list of channels.
Example:
var channels = client.getChannelList(event.network); // usage in an event listener
var channels = client.getChannelList("freenode"); // send to specific network
var channels = client.getChannelList(); // get object of networks and channels
-
getChannel(name, network)¶ Param string name: The name of the channel you want to get. Param string network: The network to execute the command on.
Gets a channel by name.
Example:
var channel = client.getChannel("#caffeinery", event.network); // usage in an event listener
var channel = client.getChannel("#caffeinery", "freenode"); // send to specific network
-
isChannel(channel)¶ Param object channel: The channel object you want to check.
Checks if the passed object is a valid channel object.
Example:
var channel = client.getChannel("#caffeinery", event.network); // usage in an event listener
console.log(client.isChannel(channel)); // prints `true`
-
invite(name, channel, network, fn)¶ Param string name: The name of the user you want to invite. Param string/object channel: The channel you want to invite him to. Param string network: The network to execute the command on. Param function fn: The callback function to be called when the call has been finished.
Invites a user to a channel.
Example:
client.invite("omnidan", "#caffeinery", event.network); // usage in an event listener
client.invite("omnidan", "#caffeinery", "freenode"); // send to specific network
-
topic(channel, topic, network, fn)¶ Param string/object channel: The channel you want to set the topic in. Param string topic: The topic you want to set. Param string network: The network to execute the command on. Param function fn: The callback function to be called when the call has been finished.
Sets the topic of a channel.
Example:
client.topic("#caffeinery", "welcome to caffeinery!", event.network); // usage in an event listener
client.topic("#caffeinery", "welcome to caffeinery!", "freenode"); // send to specific network
-
join(channels, keys, network, fn)¶ Param string/object/array channels: The channel(s) you want to join. Param string/array keys: The key(s) for the channel(s) you want to join. Param string network: The network to execute the command on. Param function fn: The callback function to be called when the call has been finished.
Joins channels.
Example:
client.join("#caffeinery", event.network); // usage in an event listener
client.join("#caffeinery", "freenode"); // send to specific network
client.join(["#caffeinery", "#omnidan"], event.network); // join multiple channels
Example (Join password protected channels):
client.join("#caffeinery", event.network); // usage in an event listener
client.join("#caffeinery", "freenode"); // send to specific network
client.join(["#caffeinery", "#omnidan"], event.network); // join multiple channels
-
part(channels, msg, network, fn)¶ Param string/object/array channels: The channels you want to kick from. Param string msg: The part message. Param string network: The network to execute the command on. Param function fn: The callback function to be called when the call has been finished.
Parts channels.
Example:
client.part("#caffeinery", "byeee", event.network); // usage in an event listener
client.part("#caffeinery", "byeee", "freenode"); // send to specific network
client.part(["#caffeinery", "#omnidan"], "byeee", event.network); // part multiple channels
-
kick(channels, nicks, msg, network, fn)¶ Param array/object/string channels: The channel(s) you want to kick from. Param array/string nicks: The nick(s) you want to kick. Param string network: The network to execute the command on. Param function fn: The callback function to be called when the call has been finished.
Kick user from a channel.
Example:
client.kick("#caffeinery", "omnidan", "bye!", event.network); // kick user from specific channel
client.kick(event.channel, "omnidan", "bye!", event.network); // kick user from current channel
client.kick(["#caffeinery", "#omnidan"], "omnidan", "bye!", event.network); // kick user from multiple channels
client.kick("#caffeinery", ["omnidan", "np_coffea"], "bye!", event.network); // kick multiple users from channel
-
names(channels, network, fn)¶ Param string/object/array channels: The channel you want to get the nicknames from. Param string network: The network to execute the command on. Param function fn: The callback function to be called when the call has been finished.
Gets users from a channel.
Example:
client.names("#caffeinery", event.network, function (names) {
console.log(names);
}); // usage in an event listener
client.names("#caffeinery", "freenode, function (names) {
console.log(names);
}); // send to specific network
client.names(["#caffeinery", "#omnidan"], event.network, function (names) {
console.log(names);
}); // get names from multiple channels
-
mode(target, flags, network, fn)¶ Param string target: Target for the mode change, can be a user or channel. Param string flags: Flags of the mode change. Param string network: The network to execute the command on. Param function fn: The callback function to be called when the call has been finished.
Sets modes.
Note
You’ll probably want to use the umode and chanmode functions instead of this function.
Example:
client.mode("omnidan", "+p", event.network); // set mode on specific user
client.mode(client.me, "+p", event.network); // set mode on current client
client.mode("#caffeinery", "+v omnidan", event.network); // voice a user in a specific channel
client.mode(event.channel, "+v omnidan", event.network); // voice a user in the current channel
-
umode(flags, network, fn)¶ Param string flags: Flags of the mode change. Param string network: The network to execute the command on. Param function fn: The callback function to be called when the call has been finished.
Sets modes on the current client.
Example:
client.umode("+p", event.network); // set mode on current client
-
chanmode(channel, mode, target, network, fn)¶ Param string channel: Channel to change modes on. Param string mode: Consists of +/- and a mode character, e.g. +v, -o Param array/object/string target: Target for the mode change, can be (a) user(s) or channel(s). Param string network: The network to execute the command on. Param function fn: The callback function to be called when the call has been finished.
Sets modes on a channel.
Note
There are helper functions that work like client.chanmode, but without having to specify the mode: voice, devoice, op, deop, hop, dehop
Example:
client.chanmode("#caffeinery", "+v", "omnidan", event.network); // voice a user in a specific channel
client.chanmode(event.channel, "+v", "omnidan", event.network); // voice a user in the current channel
client.chanmode(event.channel, "+v", ["omnidan", "np_coffea"], event.network); // voice multiple users in the current channel
// or using helper functions...
client.voice("#caffeinery", "omnidan", event.network); // voice a user in a specific channel
client.voice(event.channel, "omnidan", event.network); // voice a user in the current channel
client.voice(event.channel, ["omnidan", "np_coffea"], event.network); // voice multiple users in the current channel