�
Ϫ�f% � �� � d Z ddlmZ ddlmZ ddlmZmZ ddlm Z ddl
mZ ddlm
Z
ddlmZmZ G d � d
� Z G d� d� Z G d
� d� Z G d� de j( � Zy)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 �B � e Zd Zd� Zd� Zd� Zd� Zd� Zdefd�Z defd�Z
y )
�
AbstractGroupc � � || _ || _ y �N)�name�account)�selfr r s �>/usr/lib/python3/dist-packages/twisted/words/im/basesupport.py�__init__zAbstractGroup.__init__ s � ��� ���� 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 s r �getGroupCommandszAbstractGroup.getGroupCommands s � � �t�Z�0�0r c � � t | d� S )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 �targets r �getTargetCommandszAbstractGroup.getTargetCommands# s � � �t�[�1�1r c � � | j j st �| j j j | j � y r )r �clientr � joinGroupr r s r �joinzAbstractGroup.join. s1 � ��|�|�"�"��������%�%�d�i�i�0r c � � | j j st �| j j j | j � y r )r r r �
leaveGroupr r s r �leavezAbstractGroup.leave3 s1 � ��|�|�"�"��������&�&�t�y�y�1r �returnc �< |