@@ -12,150 +12,157 @@ from classes.holo_user import HoloUser
from modules . utils import all_locales , configGet , locale , logWrite
from modules . handlers . welcome import welcome_pass
from modules . database import col_tmp
from modules import custom_filters
# Confirmation =================================================================================================================
confirmation_1 = [ ]
for pattern in all_locales ( " confirm " , " keyboard " ) :
confirmation_1 . append ( pattern [ 0 ] [ 0 ] )
@app.on_message ( ~ filters . scheduled & filters . private & filters . command ( confirmation_1 , prefixes = [ " " ] ) )
async def confirm_yes ( app : Client , msg : Message , kind : Literal [ " application " , " sponsorship " ] = " unknown " ) :
@app.on_message ( ( custom_filters . enabled_applications | custom_filters . enabled_sponsorships ) & ~ filters . scheduled & filters . private & filters . command ( confirmation_1 , prefixes = [ " " ] ) )
async def confirm_yes ( app : Client , msg : Message , kind : Literal [ " application " , " sponsorship " , " unknown " ] = " unknown " ) :
holo_user = HoloUser ( msg . from_user )
if ( kind == " application " ) or ( ( holo_user . application_state ( ) [ 0 ] == " fill " ) and ( holo_user . application_state ( ) [ 1 ] is True ) ) :
if configGet ( " enabled " , " features " , " applications " ) is True :
tmp_application = col_tmp . find_one ( { " user " : holo_user . id , " type " : " application " } )
if ( kind == " application " ) or ( ( holo_user . application_state ( ) [ 0 ] == " fill " ) and ( holo_user . application_state ( ) [ 1 ] is True ) ) :
if tmp_application is None :
logWrite ( f " Application of { holo_user . id } is nowhere to be found. " )
return
tmp_application = col_tmp . find_one ( { " user " : holo_user . id , " type " : " application " } )
if tmp_application [ " sent " ] is Tru e:
return
if tmp_application is Non e:
logWrite ( f " Application of { holo_user . id } is nowhere to be found. " )
return
await msg . reply_text ( locale ( " application_sent " , " message " ) , reply_markup = ReplyKeyboardRemove ( ) )
if tmp_application [ " sent " ] is True :
return
application_content = [ ]
i = 1
await msg . reply_text ( locale ( " application_sent " , " message " ) , reply_markup = ReplyKeyboardRemove ( ) )
for question in tmp_application [ ' application ' ] :
application_content = [ ]
i = 1
if i == 2 :
age = relativedelta ( datetime . now ( ) , tmp_application [ ' application ' ] [ ' 2 ' ] )
application_content . append ( f " { locale ( f ' question { i } ' , ' message ' , ' question_titles ' ) } { tmp_application [ ' application ' ] [ ' 2 ' ] . strftime ( ' %d . % m. % Y ' ) } ( { age . years } р .) " )
elif i == 3 :
if tmp_application [ ' application ' ] [ ' 3 ' ] [ ' countryCode ' ] == " UA " :
application_content . append ( f " { locale ( f ' question { i } ' , ' message ' , ' question_titles ' ) } { tmp_application [ ' application ' ] [ ' 3 ' ] [ ' name ' ] } " )
for question in tmp_application [ ' application ' ] :
if i == 2 :
age = relativedelta ( datetime . now ( ) , tmp_application [ ' application ' ] [ ' 2 ' ] )
application_content . append ( f " { locale ( f ' question { i } ' , ' message ' , ' question_titles ' ) } { tmp_application [ ' application ' ] [ ' 2 ' ] . strftime ( ' %d . % m. % Y ' ) } ( { age . years } р .) " )
elif i == 3 :
if tmp_application [ ' application ' ] [ ' 3 ' ] [ ' countryCode ' ] == " UA " :
application_content . append ( f " { locale ( f ' question { i } ' , ' message ' , ' question_titles ' ) } { tmp_application [ ' application ' ] [ ' 3 ' ] [ ' name ' ] } " )
else :
application_content . append ( f " { locale ( f ' question { i } ' , ' message ' , ' question_titles ' ) } { tmp_application [ ' application ' ] [ ' 3 ' ] [ ' name ' ] } ( { tmp_application [ ' application ' ] [ ' 3 ' ] [ ' adminName1 ' ] } , { tmp_application [ ' application ' ] [ ' 3 ' ] [ ' countryName ' ] } ) " )
else :
application_content . append ( f " { locale ( f ' question { i } ' , ' message ' , ' question_titles ' ) } { tmp_application [ ' application ' ] [ ' 3 ' ] [ ' name ' ] } ( { tmp_application [ ' application ' ] [ ' 3 ' ] [ ' adminName1 ' ] } , { tmp_application [ ' application ' ] [ ' 3 ' ] [ ' countryName ' ] } ) ")
application_content . append ( f " { locale ( f ' question { i } ' , ' message ' , ' question_titles ' ) } { tmp_application [ ' application ' ] [ question ] } " )
i + = 1
if tmp_application [ " reapply " ] :
await app . send_message ( chat_id = configGet ( " admin_group " ) , text = ( locale ( " reapply_got " , " message " ) ) . format ( str ( holo_user . id ) , msg . from_user . first_name , msg . from_user . username , " \n " . join ( application_content ) ) , parse_mode = ParseMode . MARKDOWN , reply_markup = InlineKeyboardMarkup (
[
[
InlineKeyboardButton ( text = str ( locale ( " reapply_yes " , " button " ) ) , callback_data = f " reapply_yes_ { holo_user . id } " )
] ,
[
InlineKeyboardButton ( text = str ( locale ( " reapply_no " , " button " ) ) , callback_data = f " reapply_no_ { holo_user . id } " )
]
]
)
)
else :
application_content . append ( f " { locale ( f ' question { i } ' , ' message' , ' question_titles ' ) } { tmp_application [ ' application ' ] [ question ] } " )
await app . send_message ( chat_id = configGet ( " admin_group " ) , text = ( locale ( " application_got " , " message" ) ) . format ( str ( holo_user . id ) , msg . from_user . first_name , msg . from_user . username , " \n " . join ( application_content ) ) , parse_mode = ParseMode . MARKDOWN , reply_markup = InlineKeyboardMarkup (
[
[
InlineKeyboardButton ( text = str ( locale ( " sub_yes " , " button " ) ) , callback_data = f " sub_yes_ { holo_user . id } " )
] ,
[
InlineKeyboardButton ( text = str ( locale ( " sub_no " , " button " ) ) , callback_data = f " sub_no_ { holo_user . id } " )
] ,
[
InlineKeyboardButton ( text = str ( locale ( " sub_aggressive " , " button " ) ) , callback_data = f " sub_aggressive_ { holo_user . id } " )
] ,
[
InlineKeyboardButton ( text = str ( locale ( " sub_russian " , " button " ) ) , callback_data = f " sub_russian_ { holo_user . id } " )
]
]
)
)
logWrite ( f " User { holo_user . id } sent his application and it will now be reviewed " )
col_tmp . update_one ( { " user " : holo_user . id , " type " : " application " } , { " $set " : { " sent " : True } } )
return
# configSet(["sent"], True, file=str(holo_user.id))
# configSet(["confirmed"], True, file=str(holo_user.id))
if configGet ( " enabled " , " features " , " sponsorships " ) is True :
if ( kind == " sponsorship " ) or ( ( holo_user . sponsorship_state ( ) [ 0 ] == " fill " ) and ( holo_user . sponsorship_state ( ) [ 1 ] is True ) ) :
tmp_sponsorship = col_tmp . find_one ( { " user " : holo_user . id , " type " : " sponsorship " } )
if tmp_sponsorship is None :
logWrite ( f " Sponsorship of { holo_user . id } is nowhere to be found. " )
return
if tmp_sponsorship [ " sent " ] is True :
return
await msg . reply_text ( locale ( " sponsorship_sent " , " message " ) , reply_markup = ReplyKeyboardRemove ( ) )
sponsorship_content = [ ]
for question in tmp_sponsorship [ ' sponsorship ' ] :
if question == " expires " :
sponsorship_content . append ( f " { locale ( f ' question_ { question } ' , ' message ' , ' sponsor_titles ' ) } { tmp_sponsorship [ ' sponsorship ' ] [ question ] . strftime ( ' %d . % m. % Y ' ) } " )
elif question == " proof " :
filename = uuid1 ( )
with open ( f " tmp { sep } { filename } .jpg " , " wb " ) as f :
f . write ( tmp_sponsorship [ ' sponsorship ' ] [ ' proof ' ] )
else :
sponsorship_content . append ( f " { locale ( f ' question_ { question } ' , ' message ' , ' sponsor_titles ' ) } { tmp_sponsorship [ ' sponsorship ' ] [ question ] } " )
i + = 1
if tmp_application [ " reapply " ] :
await app . send_message ( chat_id = configGet ( " admin_group " ) , text = ( locale ( " reapply_got " , " message " ) ) . format ( str ( holo_user . id ) , msg . from_user . first_name , msg . from_user . username , " \n " . join ( application_content ) ) , parse_mode = ParseMode . MARKDOWN , reply_markup = InlineKeyboardMarkup (
await app . send_photo ( chat_id = configGet ( " admin_group " ) , photo = f " tmp { sep } { filename } .jpg " , caption = ( locale ( " sponsor_got " , " message " ) ) . format ( str ( holo_user . id ) , msg . from_user . first_name , msg . from_user . username , " \n " . join ( sponsorship_content ) ) , parse_mode = ParseMode . MARKDOWN , reply_markup = InlineKeyboardMarkup (
[
[
InlineKeyboardButton ( text = str ( locale ( " reapply _yes" , " button " ) ) , callback_data = f " reapply _yes_{ holo_user . id } " )
InlineKeyboardButton ( text = str ( locale ( " sponsor _yes" , " button " ) ) , callback_data = f " sponsor _yes_{ holo_user . id } " )
] ,
[
InlineKeyboardButton ( text = str ( locale ( " reapply _no" , " button " ) ) , callback_data = f " reapply _no_{ holo_user . id } " )
]
]
)
)
else :
await app . send_message ( chat_id = configGet ( " admin_group " ) , text = ( locale ( " application_got " , " message " ) ) . format ( str ( holo_user . id ) , msg . from_user . first_name , msg . from_user . username , " \n " . join ( application_content ) ) , parse_mode = ParseMode . MARKDOWN , reply_markup = InlineKeyboardMarkup (
[
[
InlineKeyboardButton ( text = str ( locale ( " sub_yes " , " button " ) ) , callback_data = f " sub_yes_ { holo_user . id } " )
] ,
[
InlineKeyboardButton ( text = str ( locale ( " sub_no " , " button " ) ) , callback_data = f " sub_no_ { holo_user . id } " )
] ,
[
InlineKeyboardButton ( text = str ( locale ( " sub_aggressive " , " button " ) ) , callback_data = f " sub_aggressive_ { holo_user . id } " )
] ,
[
InlineKeyboardButton ( text = str ( locale ( " sub_russian " , " button " ) ) , callback_data = f " sub_russian_ { holo_user . id } " )
InlineKeyboardButton ( text = str ( locale ( " sponsor _no" , " button " ) ) , callback_data = f " sponsor _no_{ holo_user . id } " )
]
]
)
)
logWrit e( f " User { holo_user . id } sent his application and it will now be reviewed " )
remov e ( f " tmp { sep } { filename } .jpg " )
col_tmp . update_on e( { " u ser" : holo_user . id , " type " : " application " } , { " $set " : { " sent " : True } } )
logWrit e ( f " U ser { holo_user . id } sent his sponsorship application and it will now be reviewed " )
return
col_tmp . update_one ( { " user " : holo_user . id , " type " : " sponsorship " } , { " $set " : { " sent " : True } } )
# configSet(["sent"], True, file=str(holo_user.id))
# configSet(["confirmed"], True, file=str(holo_user.id))
if ( kind == " sponsorship " ) or ( ( holo_user . sponsorship_state ( ) [ 0 ] == " fill " ) and ( holo_user . sponsorship_state ( ) [ 1 ] is True ) ) :
tmp_sponsorship = col_tmp . find_one ( { " user " : holo_user . id , " type " : " sponsorship " } )
if tmp_sponsorship is None :
logWrite ( f " Sponsorship of { holo_user . id } is nowhere to be found. " )
return
if tmp_sponsorship [ " sent " ] is True :
return
await msg . reply_text ( locale ( " sponsorship_sent " , " message " ) , reply_markup = ReplyKeyboardRemove ( ) )
sponsorship_content = [ ]
for question in tmp_sponsorship [ ' sponsorship ' ] :
if question == " expires " :
sponsorship_content . append ( f " { locale ( f ' question_ { question } ' , ' message ' , ' sponsor_titles ' ) } { tmp_sponsorship [ ' sponsorship ' ] [ question ] . strftime ( ' %d . % m. % Y ' ) } " )
elif question == " proof " :
filename = uuid1 ( )
with open ( f " tmp { sep } { filename } .jpg " , " wb " ) as f :
f . write ( tmp_sponsorship [ ' sponsorship ' ] [ ' proof ' ] )
else :
sponsorship_content . append ( f " { locale ( f ' question_ { question } ' , ' message ' , ' sponsor_titles ' ) } { tmp_sponsorship [ ' sponsorship ' ] [ question ] } " )
await app . send_photo ( chat_id = configGet ( " admin_group " ) , photo = f " tmp { sep } { filename } .jpg " , caption = ( locale ( " sponsor_got " , " message " ) ) . format ( str ( holo_user . id ) , msg . from_user . first_name , msg . from_user . username , " \n " . join ( sponsorship_content ) ) , parse_mode = ParseMode . MARKDOWN , reply_markup = InlineKeyboardMarkup (
[
[
InlineKeyboardButton ( text = str ( locale ( " sponsor_yes " , " button " ) ) , callback_data = f " sponsor_yes_ { holo_user . id } " )
] ,
[
InlineKeyboardButton ( text = str ( locale ( " sponsor_no " , " button " ) ) , callback_data = f " sponsor_no_ { holo_user . id } " )
]
]
)
)
remove ( f " tmp { sep } { filename } .jpg " )
logWrite ( f " User { holo_user . id } sent his sponsorship application and it will now be reviewed " )
col_tmp . update_one ( { " user " : holo_user . id , " type " : " sponsorship " } , { " $set " : { " sent " : True } } )
return
confirmation_2 = [ ]
for pattern in all_locales ( " confirm " , " keyboard " ) :
confirmation_2 . append ( pattern [ 1 ] [ 0 ] )
@app.on_message ( ~ filters . scheduled & filters . private & filters . command ( confirmation_2 , prefixes = [ " " ] ) )
async def confirm_no ( app : Client , msg : Message , kind : Literal [ " application " , " sponsorship " ] = " unknown " ) :
@app.on_message ( ( custom_filters . enabled_applications | custom_filters . enabled_sponsorships ) & ~ filters . scheduled & filters . private & filters . command ( confirmation_2 , prefixes = [ " " ] ) )
async def confirm_no ( app : Client , msg : Message , kind : Literal [ " application " , " sponsorship " , " unknown " ] = " unknown " ) :
holo_user = HoloUser ( msg . from_user )
if ( kind == " application " ) or ( ( holo_user . application_state ( ) [ 0 ] == " fill " ) and ( holo_user . application_state ( ) [ 1 ] is True ) ) :
holo_user . application_re star t ( )
await welcome_pass ( app , msg , once_again = True )
logWrite ( f " User { msg . from_user . id } restarted the application due to typo in it " )
return
if configGet ( " enabled " , " features " , " applications " ) is True :
if ( kind == " application " ) or ( ( holo_user . application_state ( ) [ 0 ] == " fill " ) and ( holo_user . application_state ( ) [ 1 ] is True ) ) :
holo_user . application_restart ( )
await welcome_pass ( app , msg , once_again = True )
logWrite ( f " User { msg . from_user . id } restarted the application due to typo in it " )
return
if ( kind == " sponsorship " ) or ( ( holo_user . sponsorship_state ( ) [ 0 ] == " fill " ) and ( holo_user . sponsorship_state ( ) [ 1 ] is True ) ) :
holo_user . sponsorship_re star t ( )
await app . send_message ( holo_user . id , locale ( f " sponsor1 " , " message " , locale = holo_user . locale ) , reply_markup = ForceReply ( placeholder = str ( locale ( f " sponsor1 " , " force_reply " , locale = holo_user . locale ) ) ) )
logWrite ( f " User { msg . from _user. id } restarted the sponsorship application due to typo in it " )
return
if configGet ( " enabled " , " features " , " sponsorships " ) is True :
if ( kind == " sponsorship " ) or ( ( holo_user . sponsorship_state ( ) [ 0 ] == " fill " ) and ( holo_user . sponsorship_state ( ) [ 1 ] is True ) ) :
holo_user . sponsorship_restart ( )
await app . send_message ( holo_user . id , locale ( f " sponsor1 " , " message " , locale = holo _user. locale ) , reply_markup = ForceReply ( placeholder = str ( locale ( f " sponsor1 " , " force_reply " , locale = holo_user . locale ) ) ) )
logWrite ( f " User { msg . from_user . id } restarted the sponsorship application due to typo in it " )
return
# ==============================================================================================================================