
    Ch                     B    d dl Z d dlmZ d Zd	dZd	dZd	dZd Zd Zy)
    N)tqdmc                    | j                  |      }| j                  r-dj                  |      }| j                  j	                  |       n"dj                  |      }| j                  |       |r| j                  |      sy| j                  d      s| j                  d   rC| j                  j                  d       | j                  r| j                  j                  d       y| j                  d       | j                  j                  |      }|dk(  r%| j                  j                  d	       | j                  s7| j                  r*| j                  j                  d
       d| j                  d<   y| j                   d   ra| j                  rU| j                  j                  d       | j                  j                  d
       d| j                   d<   d| j                  d<   y| j                  j	                  d| j"                  z         d| j                   d<   t%        j&                  | j"                         y|r| j                  r-dj                  |      }| j                  j	                  |       n#dj                  |      }| j                  |d       | j(                  dxx   dz  cc<   | j*                  j-                  |       || j.                  vr| j.                  j-                  |       | j                  r9| j                   d   r*| j                  j	                  d       d| j                   d<   yy| j                  j	                  d       y)NzGoing to follow `user_id` {}.z$ ===> Going to follow `user_id`: {}.FfollowszYOUR `FOLLOW` ACTION IS BLOCKEDz<blocked_actions_protection ACTIVE. Skipping `follow` action.followfeedback_requiredz&`Follow` action has been BLOCKED...!!!zRActivating blocked actions                         protection for `Follow` action.TzCThis is the second blocked                         `Follow` action.zI`Follow` action is going to sleep                         for %s seconds.zFollowed `user_id` {}.z"===> FOLLOWED <==== `user_id`: {}.green   z&`Follow` action is no longer sleeping.Out of follows for today.)convert_to_user_idlog_follow_unfollowformatloggerinfoconsole_print
check_userreached_limitblocked_actionswarningblocked_actions_protectiondelayapir   errorblocked_actions_sleepsleeping_actionsblocked_actions_sleep_delaytimesleeptotalfollowed_fileappend	following)selfuser_idr   msg_rs        b/var/www/html/Telegram-Engagement-Pod-/env/lib/python3.12/site-packages/instabot/bot/bot_follow.pyr   r      s   %%g.G-44W=4;;GD3$//'2i(	*KK AB..##U 

8XX__W%$$KKFG--22KK''9 7;D((3* ' ((38W8WKK''* KK''9 8=D)))46:D((3  KK$$)::;
 8<D)))4JJt??@''.55g>  %:AA'J""30JJy!Q&!%%g.dnn,%%g.))d.C.CI.N  !IJ38%%i0  	45    c                 \   g }| j                  d      r| j                  j                  d       y dj                  t	        |            }| j                  j                  |       | j
                  }| j                  }| j                  }| j                  |d       t        t        |      |j                  z
  |j                  z
  |j                  z
        }|r|d | n|}dj                  |j                  t	        |            }| j                  |d       t        |d      D ]N  }| j                  d      r| j                  j                  d        n| j                  |      rE| j                  j                  j                   dk(  r$| j                  d	d
       |j#                  |       | j                  j                  j                   dk(  r|j#                  |       | j                  j                  j                   dvsd}	d}
t%        |	      D ],  }t'        j(                  d       | j                  |      }
|
s, n |
r&| j+                          |j-                  |      }|||d  z  } n | j                  j                  dj                  | j.                  d                |S )Nr   r
   zGoing to follow {} users.r   zJAfter filtering followed, unfollowed and `{}`, {} user_ids left to follow.zProcessed usersdesci  z'404 error user {user_id} doesn't exist.red   )i  i     F<   z&DONE: Now following {} users in total.)r   r   r   r   lenskipped_filer   unfollowed_filer   listsetfnamer   r   r   last_responsestatus_coder    ranger   r   error_delayindexr   )r"   user_idsnfollowsbroken_itemsr$   skippedfollowed
unfollowedr#   
try_number
error_pass_is                r&   follow_usersrD   K   sD   L)$45
%
,
,S]
;CKKSG!!H%%JsG$ CMGKK/(,,>OPH&.x	"HHWfW]]CM*  	sG$'899i(KK89{{7#xx%%11S8""#LeT##G,''33s:##G,''33:E 
"
z*AJJrN!%W!5J!	 +
 "$$& w/A HQRL0L5 :8 	KK077

98MN r'   c                    | j                   j                  dj                  |             | j                  d      r| j                   j                  d       y |s| j                   j                  d       y | j	                  ||      }t        t        |      t        | j                        z
        }|s+| j                   j                  dj                  |             y | j                  |d |        y )NzFollow followers of: {}r   r
   User not found.z){} not found / closed / has no followers.)	r   r   r   r   get_user_followersr2   r3   	blacklistrD   )r"   r#   r;   	followerss       r&   follow_followersrJ      s    KK.55g>?)$45*+'':IS^c$..&99:IDKKGTU)IX./r'   c                    | j                   j                  dj                  |             | j                  d      r| j                   j                  d       y |s| j                   j                  d       y | j	                  |      }|s+| j                   j                  dj                  |             y | j                  |d |        y )NzFollow following of: {}r   r
   rF   z){} not found / closed / has no following.)r   r   r   r   get_user_followingrD   )r"   r#   r;   
followingss       r&   follow_followingrN      s    KK.55g>?)$45*+((1JDKKGTU*Yh/0r'   c                    | j                         }|rt        |d      D ]u  }|d   }|d   }| j                  j                  |       | j                  j                  j
                  dk7  sL| j                  j                  dj                  |             w | j                  j                  dj                  t        |                   yy )	NzApproving usersr)   pkusernamer,   Could not approve {}zDONE: {} people approved.T)get_pending_follow_requestsr   r   approve_pending_friendshipr5   r6   r   r   r   r   r/   r"   pendingur#   rQ   s        r&   approve_pending_follow_requestsrX      s    ..0Gg$56AgG}HHH//8xx%%11S8!!"8"?"?"IJ 7 	4;;CLIJ r'   c                    | j                         }|rt        |d      D ]u  }|d   }|d   }| j                  j                  |       | j                  j                  j
                  dk7  sL| j                  j                  dj                  |             w | j                  j                  dj                  t        |                   yy )	NzRejecting usersr)   rP   rQ   r,   rR   zDONE: {} people rejected.T)rS   r   r   reject_pending_friendshipr5   r6   r   r   r   r   r/   rU   s        r&   reject_pending_follow_requestsr[      s    ..0Gg$56AgG}HHH..w7xx%%11S8!!"8"?"?"IJ 7 	4;;CLIJ r'   )N)r   r   r   rD   rJ   rN   rX   r[    r'   r&   <module>r]      s,     CL2j0 1

r'   