exirc v2.0.0 ExIRC.Channels

Responsible for managing channel state

Link to this section Summary

Functions

Determine if a user is present in a tracked channel

Get the current topic for a tracked channel

Get the type of a tracked channel

Get a list of all users in a tracked channel

Get a list of all currently tracked channels

Initialize a new Channels data store

Add a channel to the data store when joining a channel

Remove a channel from the data store when leaving a channel

Update the topic for a tracked channel when it changes

Update the type of a tracked channel when it changes

Get all channel data as a tuple of the channel name and a proplist of metadata.

Add a user to a tracked channel when they join

Remove a user from a tracked channel when they leave

Update the nick of a user in a tracked channel when they change their nick

Add multiple users to a tracked channel (used primarily in conjunction with the NAMES command)

Link to this section Functions

Link to this function

channel_has_user?(channel_tree, channel_name, nick)

Determine if a user is present in a tracked channel

Link to this function

channel_topic(channel_tree, channel_name)

Get the current topic for a tracked channel

Link to this function

channel_type(channel_tree, channel_name)

Get the type of a tracked channel

Link to this function

channel_users(channel_tree, channel_name)

Get a list of all users in a tracked channel

Link to this function

channels(channel_tree)

Get a list of all currently tracked channels

Initialize a new Channels data store

Link to this function

join(channel_tree, channel_name)

Add a channel to the data store when joining a channel

Link to this function

part(channel_tree, channel_name)

Remove a channel from the data store when leaving a channel

Link to this function

set_topic(channel_tree, channel_name, topic)

Update the topic for a tracked channel when it changes

Link to this function

set_type(channel_tree, channel_name, channel_type)

Update the type of a tracked channel when it changes

Link to this function

to_proplist(channel_tree)

Get all channel data as a tuple of the channel name and a proplist of metadata.

Example Result:

[{"#testchannel", [users: ["userA", "userB"], topic: "Just a test channel.", type: :public] }]
Link to this function

user_join(channel_tree, channel_name, nick)

Add a user to a tracked channel when they join

Link to this function

user_part(channel_tree, channel_name, nick)

Remove a user from a tracked channel when they leave

Link to this function

user_quit(channel_tree, nick)

Link to this function

user_rename(channel_tree, nick, new_nick)

Update the nick of a user in a tracked channel when they change their nick

Link to this function

users_join(channel_tree, channel_name, nicks)

Add multiple users to a tracked channel (used primarily in conjunction with the NAMES command)