| Server IP : 157.230.181.24 / Your IP : 216.73.217.11 Web Server : Apache/2.4.58 (Ubuntu) System : Linux conductive 6.8.0-117-generic #117-Ubuntu SMP PREEMPT_DYNAMIC Tue May 5 19:26:24 UTC 2026 x86_64 User : ( 1000) PHP Version : 8.3.31 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /opt/aim-bots/__pycache__/ |
Upload File : |
�
U�Zj� � �� � d Z ddlmZ ddlZh d�Z ej
dej � Z ej
dej � Zdd�Z dd�Z
dd �Zdd
�Zddd�Z
ddd�Z d dd
�Zy)z?Check whether a bot reply actually fits the current AIM thread.� )�annotationsN>C �a�i�r�u�an�as�at�be�do�he�if�im�in�is�it�me�my�of�oh�on�or�so�to�up�ur�we�all�and�are�but�can�did�for�get�got�had�has�its�lol�man�not�out�she�the�was�you�cant�dont�haha�have�just�like�rofl�that�then�they�this�well�what�will�with�yeah�your�about�going�hahah�wouldzf^(y\??|why\??|wut\??|what\??|huh\??|how\??|who\??|when\??|where\??|really\??|wait\??|and\??|so\??)\.?$a ^(yeah|yep|yup|yea|ya|y|lol|lmao|rofl|rotfl|haha|hahah|hahaha|idk|dunno|umm+|oh+|hm+|mhm|k|ok+|okay|same|true|word|for sure|nice|niiice|maybe|not sure|no idea|i guess|prob|probably|i dunno|no clue|sorta|kinda|ig|ight|aight|sup|yo|hey|help|owned|smooth|wtf|umm|uh+)\.?!*$c � � t j dd| � } | j d� d } t j dd| j � � S )Nz^\[[^\]]+\]\s*� �
���z\s+� )�re�sub�split�strip)�lines �/opt/aim-bots/coherence.py�_cleanrR sA � �
�6�6�#�R��.�D��:�:�d��B��D�
�6�6�&�#�t�z�z�|�,�,� c � � t j d| j � � }|D �ch c]
}|t vs�|�� c}S c c}w )Nz
[a-z0-9']{3,})rL �findall�lower�STOP)�text�words�ws rQ �tokensr[ $ s3 � ��J�J�'�����6�E��.�!���
�A�.�.��.s �
>�>c �@ � t | � }|syt |j � � dk rt j |� ryt |� dk rd|v ryt t
j d|t j � � xr t |j � � dk S )NF� T� �?z,^(why|what|how|who|when|where|really|wait)\b)rR �lenrN �FOLLOWUP_RE�match�boolrL �I)�message�ms rQ �is_followuprg ) s � ��w��A���
�1�7�7�9�~���{�0�0��3��
�1�v��{�s�a�x������H�!�R�T�T�R�S�k�X[�\]�\c�\c�\e�Xf�jk�Xk�krS c � � | syt | � D ]3 }|j d� dk( s�t |j dd� � c S y)NrH �role� assistant�content)�reversedr% rR )�history�msgs rQ �last_assistant_linero 4 sG � ����� � 2���7�7�6�?�k�)��#�'�'�)�R�0�1�1�2� rS c � � | sy| D �cg c] }|j d� dk( s�|�� }}|r|r|d d }|rt |d d � S dS c c}w )NrH ri �userrJ rk )r% rR )rm �skip_currentrf �userss rQ �last_user_linert = sZ � ����;�1�1�5�5��=�F�#:�Q�;�E�;����c�r�
��+0�6�%��)�I�&�'�8�b�8��
<s
�A�Ac �� � | syt | � | d }g }|D ]1 }t |j dd� � }|s�!|j |� �3 dj |� j � S )NrH rk rK )�listrR r% �append�joinrV )rm �limit�msgs�chunksrn rX s rQ �recent_context_textr| F sl � �����=�%���!�D�
�F�� ���c�g�g�i��,�-����M�M�$�� � �8�8�F��!�!�#�#rS c �
� t | � }|j � }|sy|rt |� ng }t j |j d� d j � � ryt
|� }|j � }t |� }t |� r�t |� }|syt |� } || z }
|
ryt j d|� }|D ] }|j � |v s� y t j d|� r%t j d|j � � ryt j d|� rt |j � � d k ryt |j � � d
k\ ryt |j � � dk S t |j � � dk\ rJ|rHt |d
z |z � }
||
z ryt j d|� }|D ] }|j � |vs� y y# t $ r Y yw xY w)zHReturn False when an archive/LLM line is a non-sequitur for this thread.F�|r Tz\b[A-Z][a-z]{2,}\bz\b(she|her|he|him|they|them)\bz>\b(amy|txt|text|message|mom|dad|joy|work|show|church|school)\bzW\b(wants|wanted|said|asked|bout|about|cause|cuz|bc|because|think|maybe|something|idk)\b�
� r] r^ rK z"\b[A-Z][a-z]+(?:\s+[A-Z][a-z]+)+\b)rR rO rv �GENERIC_ACK_RErb rN r| rV r[ rg ro rL rU �searchr` � Exception)�user_message�replyrm rq �hist�ctx�reply_lower�
reply_toks�prev� prev_toks�overlap�names�name�ctx_toks�proper�phrases rQ �reply_coherentr� R s� � �/��l�#�����
���� '�t�G�}�R��������C� 0�� 3� 9� 9� ;�<��!�$�'���k�k�m���E�]�
��t��&�t�,�D����t��I� �9�,�G����J�J�4�d�;�E��
���:�:�<�;�.��
� �y�y�:�K�H��9�9�^�`d�`j�`j�`l�m���y�y�s� vA� B��u�{�{�}�%��+���5�;�;�=�!�Q�&���u�{�{�}�%��*�*��u�{�{�}���"�z��c�C�i�$�.�/�H��H�$���Z�Z� E�u�M�F� �
!���<�<�>��,� �
!� ��� ���s_ �G6 �AG6 �%>G6 �$G6 �7-G6 �%G6 �';G6 �#2G6 �G6 �3G6 �4G6 �-G6 �2G6 �4G6 �6 H�H)rP �str�returnr� )rX r� r� zset[str])re r� r� rc )rm �list[dict] | Noner� r� )T)rm r� rr rc r� r� )� )ry �intr� r� )N)r� r� r� r� r� rc )�__doc__�
__future__r rL rW �compilerd ra r� rR r[ rg ro rt r| r� � rS rQ �<module>r� s� �� E� "� ��� �b�j�j�+��D�D��� ����E� �D�D���-�/�
l��9� $�
�5��5��5�
� 5rS