core.channel#
- class immp.core.channel.Channel(plug, source)#
Bases:
object
Container class that holds a (
Plug
,str
) pair representing a room inside the plug’s network.- plug#
Related plug instance where the channel resides.
- Type:
.Plug
- async is_private()#
Equivalent to
Plug.channel_is_private()
.- Returns:
True
if the channel is private;None
if the service doesn’t have a notion of private channels.- Return type:
- async title()#
Equivalent to
Plug.channel_title()
.- Returns:
Display name for the channel.
- Return type:
- async link()#
Equivalent to
Plug.channel_link()
.- Returns:
Internal deep link to this channel.
- Return type:
- async rename(title)#
Equivalent to
Plug.channel_rename()
.- Parameters:
title (str) – New display name for the channel.
- async members()#
Equivalent to
Plug.channel_members()
.- Returns:
Members present in the channel.
- Return type:
.User list
- async admins()#
Equivalent to
Plug.channel_admins()
.- Returns:
Members with admin privileges present in the channel.
- Return type:
.User list
- async invite_multi(users)#
Equivalent to
Plug.channel_invite_multi()
.- Parameters:
users (.User list) – New users to invite.
- async invite(user)#
Equivalent to
Plug.channel_invite()
.- Parameters:
user (.User) – New user to invite.
- async remove_multi(users)#
Equivalent to
Plug.channel_remove_multi()
.- Parameters:
users (.User list) – Existing users to kick.
- async remove(user)#
Equivalent to
Plug.channel_remove()
.- Parameters:
user (.User) – Existing user to kick.
- async link_create(shared=True)#
Equivalent to
Plug.channel_link_create()
.- Parameters:
shared (bool) –
True
(default) for a common, unlimited-use, non-expiring link (subject to any limitations from the underlying network);False
for a private, single-use link.
- async link_revoke(link=None)#
Equivalent to
Plug.channel_link_revoke()
.- Parameters:
link (str) – Existing invite link to revoke.
- async history(before=None)#
Equivalent to
Plug.channel_history()
.- Parameters:
before (.Receipt) – Starting point message, or
None
to fetch the most recent.- Returns:
Messages from the channel, oldest first.
- Return type:
.Receipt list
- async send(msg)#
Push a message to the related plug on this channel. Equivalent to
Plug.send()
.- Parameters:
msg (.Message) – Original message received from another channel or plug.
- class immp.core.channel.Group(name, config, host)#
Bases:
Configurable
Container of multiple channels.
Groups cannot be iterated, as they may hold any possible channel from a
Plug
, but you can test for membership of a givenChannel
usinghas()
.A group is defined by a base list of channels, and/or lists of channel types from plugs. The latter may target private or shared (non-private) channels, named for host-defined channels, or anywhere as long as it belongs to the given plug.
- class MergedProperty(key=None)#
Bases:
ConfigProperty