a
    }hi                     @   sh  d dl Z d dlZd dlZd dlZd dlZd dlZd dlmZ d dlm	Z	m
Z
 d dlmZ d dlmZ d dlmZmZmZmZ d dlmZ d dlmZmZmZ d d	lmZmZmZmZ d d
lm Z  d dl!m"Z"m#Z# d dl$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z, d dl-m.Z. d dl/m0Z0 d dl1m2Z2 d dl3m4Z4 d dl5m6Z6 dd Z7dddZ8dd Z9dd Z:edddZ;dS )    N)close_old_connections)MinQ)timezone)AddNewAccountConsole)ConsoleFifaAccountFifaAccountInformationNewConsoleAccount)console_need_force_sleep)CONSOLE_NAMEBASE_DIRCONSOLE_NAME_LIST)9ARZBAZI_REPORT_TOPIC_ADD_REMOVE_ACCOUNT_THREAD_MESSAGE_ID+ARZBAZI_REPORT_TOPIC_LOGS_THREAD_MESSAGE_IDFIFA_REPORT_TOKENARZBAZI_REPORT_GROUP_ID)login_to_account)	SBCWorkerSBCFileWorkLog)	new_printThreadWithReturnValuefocus_on_pscheck_bot_version#get_current_connections_to_databasetelegram_send_photoset_sbc_statusset_console_status)logout_login)	SBCSolver)SquadBattleRunner)PublicMoves)"telegram_send_message_fifa_accountc               
   C   s  t d tjjtd } tjjtd }|s4d S t d| tjjtddtddB dtt	
 t	jd	d
 d }ttd }||krt d| d d S tjjddddtd }t|d| |dkrt|d tjjddddtdjddd | r|rzhttdd}t  |  td | r@td q(| }|dkrXW dS |dkrhW dS W nP ty } z6t d| td t  t|dt  W Y d }~n
d }~0 0 d S )Nzworking bots on pc ...)fifa_account__console__nameconsole__namezsbc file , logs in Tis_done	has_errorconsole_web_pc   hours)running_platformr#   end_time__gt   
more than z= account completed in last hour, dont work file now. step oneFr'   r)   	must_doner.   fifa_account__console__name__inz"sbc file , need run console web : r   zclose old console workersconsoleworker stopped middle of workr)   error_description)targetraise_on_exception
   d   need update botneed force sleepz"exception in run start_sbc_bots ,    z exception in run start_sbc_bots )printr   objectsfilterr   lastr   firstr   r   	localtime	timedeltacountlenr   r   updater   pc_sbc_managerr   starttimesleepis_alivejoin	Exception	traceback
format_exc)Zlast_account_workerconsole_first_accountcompleted_1hourmax_work_countneed_run_console_web_pcthread_1resulterror rZ   >C:\Users\Administrator\Downloads\futplus_django\sbc\pc_bots.pystart_pc_bots   s^    










r\   c                 C   s~  t dt  td td t dkr0dS tddr>dS t	j
jtdd	tdd
B dtt tjdd d }ttd }||krt d| d d S tj
jtd }ttd | }|dkrd}t|d|  |dkrt|d|  t  d S t	j
jddddt tjddd t tjdd tddjtdddd | }|slt	j
 }n6t }|D ]}|t|d |d d O }qvt	j
|}td!}	g }
|r|	d"k rt|d#tt| ttdkr*|r*|jd$dd%}tj
jtd&j|d&D ]}t |d'dd( td q
t!j
j"|j#d)d*tt|t d+}|D ]v}t|d,|j$j% d-t  d.|	  t&t'd/|j(id0}|
)| |*  td1 t|d2|j$j% d-t   qRt  |
D ]}|+  qt  t |_,d3|_-|j.d4d5gd6 t/| d d7S |	d"krFt|d8|	  t  td9 d S t	j
jddddtt tjddd d:j0dd;d< d S )=Nzpc_sbc_manager started , z7TASKKILL /F /IM chrome.exe /FI "USERNAME eq %username%"   r=   r*   )r.   r>   Tr&   r(   r+   r,   )r.   r4   r/   r0   r1   z; account completed in last hour, dont work file now. step 2r$      zwant to run multiple accounts r   z%too many account worked in 1hour ago F   )r-   minutesr?   )r`   )r'   r)   r3   r.   last_run_time__ltstatus_change_time__ltr4   fifa_account_idlast_run_time)min_last_run_timere   )rc   rd   logs_pgbounceri@  zrun console_web_pc workers for r#   )flat)Zname__inWaiting for sbcr5   statusupdate_timesbcrK   )r5   	work_typework_statuswork_accounts_count
start_timezrun sbc worker in console for z , start time : z , current connections uncompleted_worker_id)r9   kwargsr;   zthread run for endend_timern   update_fields)loop_counterztoo many opened connections x   )r'   r)   r3   r.   r4   rb   r6   r7   )1r@   r   rE   ossystemrL   rM   r   r   r   rA   rB   r   r   rF   rG   rH   r   r   rD   r   r   valuesannotater   order_bynoner   listvalues_listr   excluder   r   creater5   fifa_account	user_namer   active_sbc_botidappendrK   rO   rt   rn   saverJ   rI   )rw   rT   rU   rS   Zmax_multiple_accountsZ	min_timesZsbc_workersZfilter_qrowcurrent_connections_countthread_listZsbc_workers_console_namesconsole_objsbc_file_work_log
sbc_workerZthread_itemZrunning_threadrZ   rZ   r[   rJ   W   s    








"


rJ   c            
      C   s  t d tjjddddtd} |  }t d| |r| D ]p}tjj|jd }d|_t	
 |_d|_|  |j}t|dt	
  d	|_d
|_t	
 |_|jg dd t|j|j|j|j|j|j}|j }|st|d  d S t|j|jd d d d d |j|jd	}|dd
u rz|d}||d |j}	|	d	 |_d |	|_!|jddgd d
|_"|jdgd |#  q:t|dt$%  d
|_&|d|_'|jddgd q:d S )Nz working on get_backup_code on pcFZconsole_web_backup_coder2   zneed backup code for r   1zstart console back up code r   Tneed_captchaactiverd   ru   zbot stop , no app code found)proxy_ip
proxy_port
proxy_user
proxy_passapp_authcookiesstatus_booldriver,backup_codes_strbackup_coder'   zcant login 1 , error : rY   r)   r8   )(r@   r   rA   rB   r   rG   r   rD   task_idr   rE   rd   r3   r   r   r   r   r   r   r   passwordplatformmanual_loyalaccount_backup_coderC   r   usernameapp_codeselenium_cookiesgetget_new_backup_codesr   rO   r   r'   quitrQ   rR   r)   r8   )
rV   Zneed_backup_countitemuncompleted_workerr   sbc_solver_itemZbackup_code_objlogin_selenium_resultr   Zbackup_codesrZ   rZ   r[   start_get_backup_code   s\    









r   c              
   C   s0  t jj| d }d|_t |_d|_|	  |j
}t|dt d|  d|_d|_t |_|j	g dd	 t|j|j|j|j|j|j}zt|d  t|||}|d
du r&|jdkr&|ddkrt  |  d|_|j	dgd	 |  d|_t|d|_|j	ddgd	 W dS W n< tyd } z"t  t|dt  W Y d }~n
d }~0 0 zt|d|j  W n*   t|dt  t  tdY n0 zt!jj"|d\}}t#dj$% }t|d|d|j& |j&r"|j&|kr"d| d| d|j& }	t||	 |j'd d|	t(d ||_&|j	dgd	 W n   t|d t  Y n0 zl|j)sh|j*rp|+  t |_,|j	d!gd	 |- }
|
d"v rt||
dd# t |_.|j	d$gd	 W n   t|d%t  Y n0 |  d|_t |_|j	dd&gd	 t/t0d'kr&t1|j2d(dd) t  d S )*Nr   r   Fzstart active_sbc_bot z worker id : r   Tr   ru   r   r*   reasonzea servers unavailabler   r)   r8   zcan`t login , leave it for nowzerror on sbc active bot : zmain_dic["persona"] = zexception error 111 : rY   )r   zhttps://checkip.amazonaws.com/zrequested ip : z last ip : z"last ip is not equal to requested z , request ip : z , last ip : {   )message_thread_idlast_ip_addresszexception error 124 : rp   )zall sbc completedz	no creditz	must donezits donezmax request 24 hourrk   rt   zexception error 112 : rd   r+   rh   ri   )3r   rA   rB   rD   r   r   rE   rd   r3   r   r   r   r   r   r    r   r   r   r   r   r   r   r   r.   r   refresh_from_dbr)   strr8   rP   rQ   rR   
persona_idr	   get_or_createrequeststextstripr   send_messager   is_running_console_trade_onerun_console_invest_trade_oneinvest_move_items_to_clubrp   sbc_solver_corert   rH   r   r   r5   )rq   r   r   r   login_resulteZaccount_informationcreatedZrequested_ipZtext_messageZsolve_resultrZ   rZ   r[   r   $  s    



&





r   )console_objectc                 C   s  t jj| d }|s$td| d S tjjd|d }|sRtjjdd|d\}}td |d d d }|j	  t
d z|  W n ty } ztdt|v rt|d	|d
dt  t|td| d|j dttd t|d t
d td n|W Y d }~n
d }~0 0 |   | jrtdD ]~}| }|dkrH qn^td z|  t
d W n   Y n0 t|d |j  t
d |j   t
d q*|j!j"dd}td| t|d| |#  t$|tj%&t'dd| j( dt)d d| _| j*dgd  | j+rt, j-dd! t.jjt/d"d#| t01 t0j2dd$ d%}	t3|	}
|	4 d&krt|d'|	 |j!j"ddd( t.jjt/d"d#| t01 t0j2dd$ d%j5d d# t|d) t, }|
|_6|j-dd! d| _+| j*d*gd  | j7rtdD ]~}| }|dkr qtn^td z|  t
d W n   Y n0 t|d |j  t
d |j   t
d q|j!8  d| _7| j*d+gd  | j9rtd, t|d- |j:  t
d. |j;  t
d/ t|d0dd1 nqqd S )2N)r5   z6add one account for this console in system , log in : console_manage_accounts)r.   r   T)r'   r.   r   r_   zscreen grab failedzscreen grap error 2 , z restart pc , z full trace : zscreen grap error
 account z
 console : z
 restarting...)chat_idr   zscreen grap error , restartingr;   zshutdown /r /t 1r]   ps4_mainzgo to home first 2zgo to home firstF)delete_keyszbot result : zremove accounts bot result : zscreen_shot_tmp.jpgzconsole z accounts removed)captionr   remove_accountsru   )
keep_aliveexists)
add_status)days)r5   create_time__gter   zneed remove some accounts , )r   delete_failed_onlyz!some items removed , so try againadd_accountscheck_accountszDpressing left and right to keep console alive after remove accounts.zostop after add-remove accounts active , so pressing left and right to keep console alive after remove accounts.r+   2   zstop after add accountsr   )<r   rA   rB   rC   r@   r   r   r!   console_login_utilsr   rL   rM   just_find_stateOSErrorr   r   rQ   rR   r"   r   r5   r   r   r   ry   rz   r   r   rangexboxs_go_to_appps4_buttonspscrossconsole_accounts_utilsdelete_accountsget_screen_shotr   pathrO   r   namer   r   r   r   corer
   r   r   rE   rF   r   rG   rI   Zexists_accountsr   check_accounts_funcstop_after_add_remove_accountsrightleft)r   r   r   r   public_movesscreen_grap_erroriiiZcurrent_statrX   exists_itemsZlist_exists_itemsZnew_add_console_botrZ   rZ   r[   start_add_and_remove_accountsx  s    

























r   )r   )<ry   random	threadingrL   rQ   r   	django.dbr   django.db.modelsr   r   django.utilsr   Z#accounts.add_new_account_to_consoler   accounts.modelsr   r   r	   r
   accounts.publicr   futplus.settingsr   r   r   rl   r   r   r   r   sbc.login_to_ea_with_seleniumr   
sbc.modelsr   r   sbc.public_methodsr   r   r   r   r   r   r   r   accounts.web_login_utilsr   sbc.sbc_solverr   squad_battle.squad_battle_botr    utils.public_movesr!   utils.realy_public_methodsr"   r\   rJ   r   r   r   rZ   rZ   rZ   r[   <module>   s4   (:
fgT