o
    ·ôjj  ã                   @   s‚   d dl m Z mZ d dlZd dlmZ d dlmZmZ d dlm	Z	 dZ
ddd	d
œZdZdede dB fdd„Ze	G dd„ deƒƒZdS )é    )ÚdatetimeÚ	timedeltaN)ÚTimedHeartbeatPlugin)ÚimageÚtext)Úregister_pluginz,https://cqnews.web.sdo.com/api/news/newsListÚffz,8324,8325,8326,8327,5309,5310,5311,5312,5313Ú0)ÚgameCodeÚCategoryCodeÚ	pageIndexz9https://ff.web.sdo.com/web8/index.html#/newstab/newscont/ÚrawÚreturnc              	   C   sF   | pd  ¡ }|s
d S dD ]}z	t ||¡W   S  ty    Y qw d S )NÚ )z%Y/%m/%d %H:%M:%Sz%Y-%m-%d %H:%M:%S)Ústripr   ÚstrptimeÚ
ValueError)r   ÚsÚfmt© r   ú5/home/dore/onebot/Bot_Ero/plugins/ff_news/__init__.pyÚ_parse_publish_date   s   ÿr   c                   @   sT   e Zd ZdZdZdedefdd„Zdd„ Zd	e	fd
d„Z
dd„ Zdd„ Zdd„ ZdS )ÚFfNewsPluginÚff_newsu~   æ‹‰å–æœ€ç»ˆå¹»æƒ³14å›½æœå®˜ç½‘è¿‘æœŸæ–°é—»æ ‡é¢˜ä¸Žé“¾æŽ¥ï¼›æ•´ç‚¹æ£€æµ‹æœ€æ–°ä¸€æ¡å¹¶åœ¨å‘å¸ƒåŽ1å°æ—¶å†…æŽ¨é€ç¾¤èŠã€‚Ú
event_typer   c                 C   st   |dkrdS t  ¡ }|jdkrdS |  |¡sdS |  |¡sdS | d¡}t| ƒj}tj	 
|¡|kr3dS |tj	|< dS )NÚmetaFr   z%Y-%m-%d %H:%MT)r   ÚnowÚminuteÚ_passes_weekday_filterÚ_passes_annual_filterÚstrftimeÚtypeÚ__name__r   Ú_last_run_minuteÚget)Úselfr   r   Úrun_keyÚplugin_namer   r   r   Úshould_run_on_heartbeat#   s   





z$FfNewsPlugin.should_run_on_heartbeatc                 C   s   |   |¡p	|  d¡S )Nu	   /FFæ–°é—»)r(   Úon_command_any)r%   Úmessage_typer   r   r   Úmatch4   s   zFfNewsPlugin.matchÚ	page_sizec                 C   s4   i t ¥dt|ƒi¥}tjt|dd}| ¡  | ¡ S )NÚpageSizeé   )ÚparamsÚtimeout)Ú_NEWS_LIST_BASE_PARAMSÚstrÚrequestsr$   Ú_NEWS_LIST_URLÚraise_for_statusÚjson)r%   r,   r/   Úrr   r   r   Ú_fetch_payload7   s   zFfNewsPlugin._fetch_payloadc           	      C   sþ   z|   d¡}W n ty   | j tdƒ¡ Y d S w t| d¡ƒdkr-| j tdƒ¡ d S | d¡p3g }|s@| j tdƒ¡ d S dg}t|d	ƒD ])\}}| d
¡pRd ¡ pVd}| d¡}t	› |› }| 
|› d|› ¡ | 
|¡ qH| j td |¡ƒ¡ d S )Né   u'   èŽ·å–æ–°é—»å¤±è´¥ï¼Œè¯·ç¨åŽå†è¯•ã€‚ÚCoder	   u-   æ–°é—»æŽ¥å£è¿”å›žå¼‚å¸¸ï¼Œè¯·ç¨åŽå†è¯•ã€‚ÚDatau   æš‚æ— æ–°é—»ã€‚u!   FF14 å®˜æ–¹æ–°é—»ï¼ˆæœ€è¿‘5æ¡ï¼‰é   ÚTitler   õ   (æ— æ ‡é¢˜)ÚIdz. Ú
)r8   Ú	ExceptionÚapiÚsend_msgr   r2   r$   Ú	enumerater   Ú_NEWS_CONT_BASEÚappendÚjoin)	r%   ÚpayloadÚitemsÚlinesÚiÚrowÚtitleÚnidÚlinkr   r   r   Ú_handle_manual=   s*   þ
zFfNewsPlugin._handle_manualc                 C   s8  z|   d¡}W n
 ty   Y d S w t| d¡ƒdkrd S | d¡p#g }|s(d S |d }t| d¡p3dƒ}|d u r;d S t ¡ }||ksL|| tddkrNd S | d	¡pTd ¡ pXd
}| d¡p_d ¡ }| d¡}t	› |› }	d|› d|› d|	›  ¡ }
| d¡p€d ¡ }|r’| j
 t|
ƒt|ƒ¡ d S | j
 t|
ƒ¡ d S )Nr<   r:   r	   r;   r   ÚPublishDater   )Úhoursr=   r>   ÚSummaryr?   u   ã€FF14 å®˜ç½‘å¿«è®¯ã€‘
r@   ÚHomeImagePath)r8   rA   r2   r$   r   r   r   r   r   rE   rB   rC   r   r   )r%   rH   rI   rL   Úpubr   rM   ÚsummaryrN   rO   ÚbodyÚimg_urlr   r   r   Ú_handle_hourlyW   s4   ÿ
zFfNewsPlugin._handle_hourlyc                 C   s$   | j jdkr|  ¡  d S |  ¡  d S )NÚ
meta_event)Ú	bot_eventÚ	post_typerY   rP   )r%   r   r   r   Úhandley   s   zFfNewsPlugin.handleN)r"   Ú
__module__Ú__qualname__ÚnameÚdescriptionr2   Úboolr(   r+   Úintr8   rP   rY   r]   r   r   r   r   r      s    "r   )r   r   r3   Ú	core.baser   Úcore.cqr   r   Ú
core.utilsr   r4   r1   rE   r2   r   r   r   r   r   r   Ú<module>   s    ý