o
    wMi                     @  sn   d Z ddlmZ ddlmZ ddlmZ ddlmZ ddddZ	dddZ
G dd deZG dd deZdS )u0   超级用户：本群话题划分调试输出。    )annotations)Plugin)text)register_pluginH   sstrmax_lenintreturnc                 C  s@   | pd dd dd }t||kr|S |d |d  d S )N  
   u   …)replacestriplen)r   r	   t r   6/home/dore/onebot/Bot_Ero/plugins/group_topic_debug.py	_one_line
   s   r   group_idc                 C  s  | | }|j| dd}d|  dt| dg}|s!|d ne|D ]b}|d }|d }|d	 }t|d
 d}	||kr>dnd}
tt|dpHdd}t|dpSd }|r^d| nd}|rgd| nd}|d| d| d| |
 d|	 d|d  | |  q#|ddg |s|d n6|D ]3}|d }|d u rdnt	|d}t|d d}|d |d  d!|d"  d#|d$  d%| d&| 
 qd'
|}d(}t||kr|d |d)  d* }|S )+N#   )limitu   【话题统计】群 u   Topic 总数: u   ---------- 各 Topic ----------u:   （尚无 topic 数据，多发几条群消息后再试）topic_idmessage_countassigned_rowsanchor_preview@   u    ⚠表内条数≠归属行r   topic_summaryx   summary_updated_atu   
  摘要: u   
  摘要时间: #u    | 质心计数=u    | 归属消息行=u   
  预览: u   
  更新: 
updated_atu(   ---------- 最近划分记录 ----------u   （无归属消息记录）
similarityu   新建z.3fcontent_preview0   Tz mid=
message_idz uid=user_idz sim=z
  r   i     uH   
…(已截断，topic 过多时请缩小查询范围后续再加分页)) list_group_chat_topics_for_debuglist_recent_topic_assignmentsr   appendr   r   getr   extendfloatjoin)r   dbtopicsrecentlinesr   tidmcarapmismatchsummsum_tssum_linesum_ts_linersimsim_sprevbody	max_charsr   r   r   _format_topics_report   sX   
,
rF   c                   @  (   e Zd ZdZdZdddZdd
dZdS )GroupTopicDebugPlugingroup_topic_debugu9   超级用户：本群话题划分统计（调试用）。message_typer   r   boolc                 C  s,   |dkrdS |   r| jjsdS | ddS )NmessageFu   /话题统计z/topic_topics)
super_user	bot_eventis_groupon_full_match_anyselfrJ   r   r   r   matchE   s
   zGroupTopicDebugPlugin.matchNonec                 C  s8   | j j}|d u r
d S tt|| j}| jt| d S )N)rN   r   rF   r
   	dbmanagerapisend_forward_msgr   )rR   gidreportr   r   r   handleL   s
   zGroupTopicDebugPlugin.handleNrJ   r   r   rK   r   rT   __name__
__module____qualname__namedescriptionrS   rZ   r   r   r   r   rH   A   
    
rH   c                   @  rG   )GroupTopicClearPlugingroup_topic_clearuE   超级用户：清空本群或全库话题划分数据（测试）。rJ   r   r   rK   c                 C  s<   |dks|   s
dS | ddrdS t| jjo| ddS )NrL   F   /话题清空全部/topic_clear_allTu   /话题清空z/topic_clear)rM   rP   rK   rN   rO   rQ   r   r   r   rS   Y   s
   zGroupTopicClearPlugin.matchrT   c              
   C  s   |  ddr| j \}}| jtd| d| d d S | jj}|d u r(d S | jt	|\}}| jtd| d| d| d d S )Nrf   rg   u+   【话题】已清空全库：归属记录 u    条，topic u    个。u   【话题】已清空本群 u   ：归属记录 )
rP   rU   clear_all_group_chat_topicsrV   send_msgr   rN   r   !clear_group_chat_topics_for_groupr
   )rR   mr   rX   r   r   r   rZ   `   s   zGroupTopicClearPlugin.handleNr[   r\   r]   r   r   r   r   rd   U   rc   rd   N)r   )r   r   r	   r
   r   r   )r   r
   r   r   )__doc__
__future__r   	core.baser   core.cqr   
core.utilsr   r   rF   rH   rd   r   r   r   r   <module>   s    
0