o
    gyojz                     @   sz   d dl Z d dlmZ d dlmZ d dlmZ d dlmZ d dl	m
Z ddlmZ e jd	d
d ZeG dd deZdS )    N)Plugin)text)logger)register_plugin)character_store   )	characterBOTERO_WEB_URLzhttp://127.0.0.1:8765z/profile/trpgc                   @   sr   e Zd ZdZdZdefddZdefddZdd	 Z	d
efddZ
dd Zdd ZdefddZdefddZdS )TrpgCharPlugin	trpg_charuR   DND 5E 角色卡：查看/列表/切换/删除（创建与编辑请到网页端）returnc                 C   s<   | j jD ]}|ddkr|di dd   S qdS )Ntyper   data )	bot_eventmessagegetstrip)selfseg r   7/home/dore/onebot/Bot_Ero/plugins/trpg_char/__init__.py_first_text   s
   zTrpgCharPlugin._first_textc                 C   s   |dkrdS |   dS )Nr   F   /角色)r   
startswith)r   message_typer   r   r   match   s   zTrpgCharPlugin.matchc                 C   sH   z|   }|dr| | W d S W d S  ty#   td Y d S w )Nr   u   TrpgChar 处理异常)r   r   _route_command	Exceptionr   	exception)r   msgr   r   r   handle   s   
zTrpgCharPlugin.handler    c                 C   s   |  }t|dkr|d nd}|dv r | jtdt  d S |dkr/| |dd   d S |dkr>| |dd   d S |dkrH|   d S | 	  d S )	Nr   r   )u   创建u   编辑u   放弃u4   角色卡的创建与编辑已迁移到网页端：
u   切换   u   删除u   列表)
splitlenapisend_msgr   WEB_TRPG_URL_handle_switch_handle_delete_handle_list_handle_view)r   r    partssubr   r   r   r   &   s   
zTrpgCharPlugin._route_commandc                 C   sT   | j j}|d u r
d S t|}|s| jtdt  d S | jtt	| d S )N1   你还没有角色卡，请到网页端创建：
)
r   user_idstoreget_currentr%   r&   r   r'   
char_logicformat_sheet)r   r/   	char_datar   r   r   r+   6   s   
zTrpgCharPlugin._handle_viewc                 C   s   | j j}|d u r
d S t|}|s| jtdt  d S t|}|r(|d nd }dg}|D ],}|d |kr9dnd}|	d|d  d|d  d	|d
  d|d  d|d  |  q/| jtd
| d S )Nr.   idu   你的角色卡：u    ◀ 当前r   # 	char_namez Lv.levelrace
class_name
)r   r/   r0   
list_charsr%   r&   r   r'   r1   appendjoin)r   r/   charscurrent
current_idlinescmarkr   r   r   r*   @   s   

BzTrpgCharPlugin._handle_listargsc                 C   s   | j j}|d u r
d S |r|d d s| jtd d S t|d d}zt	|| W n t
yB   | jtd Y d S w t||}|sMd S | jtd|d   d S )Nr   r6   u    格式：/角色 切换 <编号>   角色不存在u   已将当前角色切换为 r8   )r   r/   lstripisdigitr%   r&   r   intr0   set_current
ValueErrorget_charr   rF   r/   char_idcharr   r   r   r(   P   s"   zTrpgCharPlugin._handle_switchc                 C   s   | j j}|d u r
d S |r|d d s| jtd d S t|d d}t	||}|s:| jtd d S t
|| | jtd|d   d S )Nr   r6   u    格式：/角色 删除 <编号>rG   u   已删除角色 r8   )r   r/   rH   rI   r%   r&   r   rJ   r0   rM   delete_charrN   r   r   r   r)   b   s   zTrpgCharPlugin._handle_deleteN)__name__
__module____qualname__namedescriptionstrr   boolr   r!   r   r+   r*   listr(   r)   r   r   r   r   r
      s    
r
   )os	core.baser   core.cqr   core.loggerr   
core.utilsr   corer   r0   r   r   r2   environr   r'   r
   r   r   r   r   <module>   s    