o
    î	cjŽ  ã                   @   sH   d dl mZ d dlmZ d dlmZ d dlmZ eG dd„ deƒƒZdS )é    )ÚPlugin)Útext)Úget_title_def)Úregister_pluginc                   @   s,   e Zd ZdZdZdd„ Zdd„ Zdd„ Zd	S )
ÚLeaderboardPluginÚshow_leaderboardu   å±•ç¤ºç§¯åˆ†æŽ’è¡Œæ¦œã€‚c                 C   sv   | j  |¡d d… }t|ƒdkrdS g }|D ]}t|ƒ}|r*| d¡r*| |d ¡ qt|ƒdkr3dS d d |¡¡S )Né   r   Ú Únameu   ã€Œ{}ã€õ   Â·)Ú	dbmanagerÚget_equipped_titlesÚlenr   ÚgetÚappendÚformatÚjoin)ÚselfÚuser_idÚtitlesÚnamesÚtidÚdata© r   ú0/home/dore/onebot/Bot_Ero/plugins/leaderboard.pyÚ_format_title_prefix   s   €z&LeaderboardPlugin._format_title_prefixc                 C   s   |   d¡p	|   d¡S )Nu   /æŽ’åz/rank)Úon_full_match)r   Úmessage_typer   r   r   Úmatch   s   zLeaderboardPlugin.matchc              	   C   s  | j j}|s| j tdƒ¡ d S | jjdd}t|ƒdkr'| j tdƒ¡ d S g }t|ddD ]K\}\}}t	|ƒ}z| j 
t|ƒ¡}| d¡pO| d	¡pOt	|ƒ}W n ty^   t	|ƒ}Y nw |  |¡}	|	rl|	› |› }| |› d
|› d|› d¡ q/dd |¡ }
| j t|
ƒ¡ d S )Nu$   è¯·åœ¨ç¾¤é‡Œä½¿ç”¨ /æŽ’å æˆ– /ranké
   )Úlimitr   u   å½“å‰è¿˜æ²¡æœ‰ç§¯åˆ†æ•°æ®å–µ~é   )ÚstartÚcardÚnicknamez. z - u   åˆ†u   ç§¯åˆ†æŽ’è¡Œæ¦œ TOP10
Ú
)Ú	bot_eventÚgroup_idÚapiÚsend_msgr   r   Úget_point_leaderboardr   Ú	enumerateÚstrÚget_group_member_infoÚintr   Ú	Exceptionr   r   r   )r   r'   Útop_rowsÚlinesÚindexr   ÚpointsÚmember_nameÚmemberÚtitle_prefixÚcontentr   r   r   Úhandle   s.    ÿ
zLeaderboardPlugin.handleN)Ú__name__Ú
__module__Ú__qualname__r
   Údescriptionr   r   r8   r   r   r   r   r      s    r   N)	Ú	core.baser   Úcore.cqr   Úplugins.titler   Ú
core.utilsr   r   r   r   r   r   Ú<module>   s    