o
    î	cj[  ã                   @   s„   d dl Z d dlmZ d dlmZmZ d dlmZ d dlm	Z	m
Z
mZ d dlmZ d dlmZmZ d dlmZ eG d	d
„ d
eƒƒZdS )é    N)ÚPlugin)ÚtextÚat)Úlogger)Úadd_user_pointÚget_monday_to_mondayÚon_quest_trigger)Údatetime)Úevaluate_and_unlock_titlesÚget_title_def)Úregister_pluginc                   @   s$   e Zd ZdZdZdd„ Zdd„ ZdS )ÚCheckinPluginÚcheckinu0   è®°å½•ç”¨æˆ·æœ¬å‘¨æ‰“å¡å›¾ç‰‡å¹¶ç»“ç®—å¥–åŠ±ã€‚c                 C   s
   |   d¡S )Nu   /æ‰“å¡)Úon_begin_with)ÚselfÚmessage_type© r   ú,/home/dore/onebot/Bot_Ero/plugins/checkin.pyÚmatch   s   
zCheckinPlugin.matchc                 C   sT  | j jd krd S g }| j jD ]}|d dkr| |d d ¡ qt|ƒdkr0| j tdƒ¡ d S |D ]}t 	d 
| j |¡¡¡ q2tƒ \}}| j | j j||¡}d}t|ƒdkrZd	}| j j}| j | j j||¡ d}	| j | j j¡rzt ¡ d
k rzd}	t| j| j jt ¡ ƒ}
|
rÀdg}|
D ]#}t|ƒp—ddddœ}| d|› d|d › d|d › d|d › ¡ qŒ| j t| j jƒtd |¡ƒ¡ | j | j j||¡}| j | j j¡}d 
t|ƒ¡}|rà|d7 }n	|d 
t|ƒ¡7 }d}g }| d¡d }t ¡ }|jdd}|jdkr|j|jd ddd}n
|j|jd dd }| j | j j| d!¡| d!¡¡}|| j }|rL||krL| j !| j jd"|d¡rL|d7 }| d#¡ |	rX||	7 }| d$¡ |dkrot"| j| j j|ƒ |dd |¡ 7 }t#| j| j jd%ƒ}|r‹d&d'„ |D ƒ}|d(d) |¡ 7 }|d* dkr›|d+ 
|d* ¡7 }| j t| j jƒt|ƒ¡ d S ),NÚtypeÚimageÚdataÚfiler   u$   æ²¡æœ‰å›¾ç‰‡æ˜¯æ²¡åŠžæ³•æ‰“å¡çš„å–µz{}FTgš™™™™™¹?é   u   è§£é”æ–°ç§°å·ï¼šu   æœªçŸ¥ç§°å·Úunknownu   æ— )ÚnameÚrarityÚdescriptionú[u   ] ã€Œr   u   ã€ (r   z) - r   Ú
u.   
ðŸŒŸæ‰“å¡æˆåŠŸå–µðŸŒŸ
æ”¶å½•äº†{}å¼ å›¾ç‰‡
u   å®Œæˆæœ¬å‘¨é¦–æ¬¡æ‰“å¡å–µ~u#   è¿™å‘¨å·²ç»æäº¤äº†{}å¼ å›¾äº†å–µÚ )Údayé   )ÚyearÚmonthr!   )r$   r!   z%Y-%m-%d 00:00:00Úfull_month_weekly_checku   å½“æœˆå…¨å‹¤å¥–åŠ± +1u   æ‰“å¡å¢žå¼ºï¼šæ¦‚çŽ‡å¥–åŠ± +1r   c                 S   s"   g | ]}|d  › d|d › ‘qS )r   z +Úrewardr   )Ú.0Úqr   r   r   Ú
<listcomp>f   s   " z(CheckinPlugin.handle.<locals>.<listcomp>u   
ðŸŽ¯ z | Úcurrent_weeklyu0   
å·²ç»è¿žç»­æ‰“å¡äº†{}å‘¨äº†ï¼ŒçœŸåŽ‰å®³å–µï¼)$Ú	bot_eventÚuser_idÚmessageÚappendÚlenÚapiÚsend_msgr   r   ÚdebugÚformatÚ	get_imager   Ú	dbmanagerÚ search_target_user_checkin_rangeÚ
message_idÚinsert_checkinÚpop_shop_checkin_luck_attemptÚrandomr
   r	   Únowr   r   ÚjoinÚget_user_streaksÚsplitÚreplacer$   r#   Úget_distinct_checkin_day_countÚstrftimeÚdaysÚclaim_attendance_rewardr   r   )r   Úimg_listÚmessage_unitÚimg_nameÚ
start_dateÚend_dateÚbefore_checkin_listÚis_firstÚmsg_idÚcheckin_luck_bonusÚunlockedÚlinesÚtidr   Úcheckin_listÚ
streak_resÚdisplay_strÚbonus_totalÚbonus_linesÚ
week_startÚnow_dtÚmonth_startÚnext_month_startÚmonth_full_daysÚ
month_daysÚ	completedÚnamesr   r   r   Úhandle   s†   €
0 
ý
ÿ


zCheckinPlugin.handleN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r]   r   r   r   r   r      s
    r   )r:   Ú	core.baser   Úcore.cqr   r   Úcore.loggerr   Ú
core.utilsr   r   r   r	   Úplugins.titler
   r   r   r   r   r   r   r   Ú<module>   s    