o
    j                     @   s   d Z ddlmZ ddlZddlmZ dededefdd	Zd
edededB fddZ	edddedefddZ
edddedefddZdS )uA   通过 OneBot HTTP 接口解析 QQ 昵称（群名片优先）。    )	lru_cacheN)configdatauser_idreturnc                 C   s<   |  dpd }|r|S |  dpd }|r|S t|S )Ncard nickname)getstripstr)r   r   r   nick r   :/home/dore/onebot/Bot_Ero/checkin_gallery/onebot_client.py_member_display_name
   s   r   actionparamsc           	   
   C   s   t jd}ddi}t jrdt j |d< | d|  |f|| |dffD ]C\}}z3tj|||dd}|  | }t|t	r[|
d	d
kr[|
d}t|t	rV|W   S i W   S W q% tjtfyh   Y q%w d S )N/zContent-Typezapplication/jsonzBearer Authorization)r   r      )jsonheaderstimeoutstatusokr   )r   ONEBOT_HTTP_URLrstripONEBOT_TOKENrequestspostraise_for_statusr   
isinstancedictr
   RequestException
ValueError)	r   r   baser   urlbodyrespr   payloadr   r   r   _call_onebot   s&   
r*   i   )maxsizec                 C   sv   t | }zt|}W n ty   | Y S w tjr*tdtj|dd}|r*t||S td|dd}|r9t||S |S )Nget_group_member_infoF)group_idr   no_cacheget_stranger_info)r   r.   )r   intr$   r   GROUP_IDr*   r   )r   uidqqinfor   r   r   resolve_display_name*   s"   

r5   c                 C   sJ   zt | }W n
 ty   Y dS w tdd|i}|sdS t|dp#dS )Nr   get_qq_avatarr   r&   )r0   r$   r*   r   r
   )r   r3   r   r   r   r   resolve_avatar_urlA   s   r7   )__doc__	functoolsr   r   checkin_galleryr   r"   r   r   r*   r5   r7   r   r   r   r   <module>   s    
