U
    {go                     @   s   d dl Z d dlZd dlZd dlZd dlmZ d dlmZ d dlm	Z	 d dl
mZmZ d dlmZ d dlmZ d dlmZ d dlZeeZd	Zd
e d ZeddeejfddZG dd dZedddd ZdS )    N)User)UserSocialProfile)Thread)get_ttl_hashCACHE_SETTINGS)	lru_cache)shared_task)settingsz.5485321748:AAFDKGI1dmeibyY_gaH9LcsYFchJUwlIyAQzhttps://api.telegram.org/botz/getUpdates
   )maxsizec                 C   s   ~t jj| d S )N)user_id)r   objectsfilterfirst)useridZTTLHash r   @/home/worker/MarketYantra/Yantra/yantra/social/views/telegram.pygetUserSocialProfile   s    r   c                   @   s0   e Zd ZdddZdddZdd Zdd	 Zd
S )Telegramr   c                 C   s:   t |ttj}|r|j| _nd| _|| _tt| _	d S Nr   )
r   r   r   REFRESH_CACHE_DAILY
telegramIdr   telepotBotTELEGRAM_TOKENbot)selfr   profiler   r   r   __init__#   s    
zTelegram.__init__c              
   C   s`   z*|dkr| j }| j|| t| W n0 tk
rZ } ztt| W 5 d }~X Y nX d S r   )r   r   sendMessageloggerdebug	Exceptioninfostr)r   messageZ
receiverider   r   r   r   /   s    zTelegram.sendMessagec                 C   s    t |}|r| | ||j d S N)r   r   r   )r   r   r%   r   r   r   r   sendMessageByUser:   s    zTelegram.sendMessageByUserc           	      C   s   t t}t|j}|ddkr|dD ]}|d d }|dd  dkr.|dd	  }|d d
 d }tj	j
|d }|r.tj	j
|d }|r||_|  q.t||d}|  q.d S )NokTresultr%   text:r   register   fromid)username)user__username)userr   )requestsget
UPDATE_URLjsonloadsr+   splitstripr   r   r   r   r   r   save)	r   responseZjsonDatadatar%   r1   Z
receiverIdZchkUserr   r   r   r   registerTelegramUser@   s&    

zTelegram.registerTelegramUserN)r   )r   )__name__
__module____qualname__r   r   r(   r>   r   r   r   r   r   !   s   

r   T)bindc              
   C   sZ   z$t t}||| t| W n0 tk
rT } ztt| W 5 d }~X Y nX d S r'   )r   r   r   r   loggingr#   r"   r$   )r   Z
recieverIdr%   r   r&   r   r   r   send_telegram_messageX   s    
rD   )r   r4   r7   datetimedjango.contrib.auth.modelsr   social.modelsr   	threadingr   Zutils.cachesettingsr   r   	functoolsr   celeryr   django.confr	   rC   	getLoggerr?   r    r   r6   r   r   r   rD   r   r   r   r   <module>   s&   
7