o
    [hg	                     @   sh   d dl Z d dlmZmZ d dlmZ d dlmZ G dd de	Z
G dd dZeed	d
efddZdS )    N)signer_signsigner_unsign)utils)core_gettextc                   @      e Zd ZdS )ChatTagErrorN__name__
__module____qualname__ r   r   q/home/ubuntu/experiments/live_experiments/Pythonexperiments/Otree/venv/lib/python3.10/site-packages/otree/chat.pyr          r   c                   @   r   )	UNDEFINEDNr   r   r   r   r   r      r   r   )channelnicknamereturnc             	   C   s   | d }| d }|  dp| d }| d }|tkr|j}t|}td|s/d|}t|d| d	 j|d
|}|| d< |tkrMt	dj|j
d}t|}t|}	t||j}
t||
|j|	|t	dj|dd}t||dS )NplayergroupC	Constantsparticipantz^[a-zA-Z0-9_-]+$z`'channel' can only contain ASCII letters, numbers, underscores, and hyphens. Value given was: {}z{}-{}-{}sessionZname_in_urlr   zParticipant {id_in_group})id_in_groupz{nickname} (Me))r   )r   socket_pathZparticipant_idnickname_signedr   Znickname_i_see_for_myself)r   chat_vars_for_js)getr   idstrrematchformatr   Zget_normalizedr   r   r   channel_utilsZ	chat_pathdict)contextr   r   r   r   r   r   msgZprefixed_channelr   r   r   r   r   r   chat_template_tag   sN   r'   )r    Zotree.commonr   r   Zotree.channelsr   r#   Z
otree.i18nr   	Exceptionr   r   r$   r'   r   r   r   r   <module>   s    