File: //lib/python3/dist-packages/twisted/words/im/__pycache__/basesupport.cpython-310.pyc
o
�b � @ s� d Z ddlmZ ddlmZ ddlmZmZ ddlm Z ddl
mZ ddlm
Z
ddlmZmZ G d d
� d
�ZG dd� d�ZG d
d� d�ZG dd� de j�ZdS )zyInstance Messenger base classes for protocol support.
You will find these useful if you're adding a new protocol to IM.
� )�Type)�error)�Protocol�connectionDone)�styles)�Failure��prefixedMethods)�OFFLINE�OfflineErrorc @ sP e Zd Zdd� Zdd� Zdd� Zdd� Zd d
� Zdefdd
�Z defdd�Z
dS )�
AbstractGroupc C s || _ || _d S �N)�name�account)�selfr r � r �>/usr/lib/python3/dist-packages/twisted/words/im/basesupport.py�__init__ s
zAbstractGroup.__init__c C �
t | d�S )z�finds group commands
these commands are methods on me that start with imgroup_; they are
called with no arguments
�imgroup_r �r r r r �getGroupCommands �
zAbstractGroup.getGroupCommandsc C r )a( finds group commands
these commands are methods on me that start with imgroup_; they are
called with a user present within this room as an argument
you may want to override this in your group in order to filter for
appropriate commands on the given user
� imtarget_r )r �targetr r r �getTargetCommands# s
zAbstractGroup.getTargetCommandsc C � | j jst�| j j�| j� d S r
)r �clientr � joinGroupr r r r r �join. � zAbstractGroup.joinc C r r
)r r r �
leaveGroupr r r r r �leave3 r zAbstractGroup.leave�returnc C s d| j � d| j�d�S )N�<� �>)� __class__r r r r r �__repr__8 s zAbstractGroup.__repr__c C � | j � d| jj� �S �N�@�r r �accountNamer r r r �__str__; � zAbstractGroup.__str__N)�__name__�
__module__�__qualname__r r r r r"