Application options for returning users [Done]
This commit is contained in:
parent
1c0c8fa8c4
commit
22a2224af1
@ -125,7 +125,8 @@
|
|||||||
"rules_additional": "➕ Додаткові",
|
"rules_additional": "➕ Додаткові",
|
||||||
"rules_next": "Далі ➡️",
|
"rules_next": "Далі ➡️",
|
||||||
"rules_prev": "⬅️ Назад",
|
"rules_prev": "⬅️ Назад",
|
||||||
"applying_stop": "🛑 Перервати заповнення"
|
"applying_stop": "🛑 Перервати заповнення",
|
||||||
|
"done": "✅ Готово"
|
||||||
},
|
},
|
||||||
"callback": {
|
"callback": {
|
||||||
"sub_accepted": "✅ Анкету {0} схвалено",
|
"sub_accepted": "✅ Анкету {0} схвалено",
|
||||||
|
28
main.py
28
main.py
@ -254,10 +254,10 @@ async def cmd_reapply(app, msg):
|
|||||||
else:
|
else:
|
||||||
await msg.reply_text(locale("reapply_left_chat", "message"), reply_markup=InlineKeyboardMarkup([
|
await msg.reply_text(locale("reapply_left_chat", "message"), reply_markup=InlineKeyboardMarkup([
|
||||||
[
|
[
|
||||||
InlineKeyboardButton(locale("reapply_old_one", "button"), f"reapply_old_{msg.from_user.id}")
|
InlineKeyboardButton(locale("reapply_old_one", "button"), f"reapply_old_{msg.id}")
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
InlineKeyboardButton(locale("reapply_new_one", "button"), f"reapply_new_{msg.from_user.id}")
|
InlineKeyboardButton(locale("reapply_new_one", "button"), f"reapply_new_{msg.id}")
|
||||||
]
|
]
|
||||||
]))
|
]))
|
||||||
else:
|
else:
|
||||||
@ -594,12 +594,29 @@ async def callback_query_reapply_refuse(app, clb):
|
|||||||
# Use old application when user reapplies after leaving the chat
|
# Use old application when user reapplies after leaving the chat
|
||||||
@app.on_callback_query(filters.regex("reapply_old_[\s\S]*")) # type: ignore
|
@app.on_callback_query(filters.regex("reapply_old_[\s\S]*")) # type: ignore
|
||||||
async def callback_query_reapply_old(app, clb):
|
async def callback_query_reapply_old(app, clb):
|
||||||
pass
|
fullclb = clb.data.split("_")
|
||||||
|
message = await app.get_messages(clb.from_user.id, int(fullclb[2]))
|
||||||
|
configSet(["approved"], False, file=str(clb.from_user.id))
|
||||||
|
configSet(["refused"], False, file=str(clb.from_user.id))
|
||||||
|
await confirm_yes(app, message)
|
||||||
|
await clb.message.edit(clb.message.text, reply_markup=InlineKeyboardMarkup([[InlineKeyboardButton(locale("done", "button"), "nothing")]]))
|
||||||
|
|
||||||
# Start a new application when user reapplies after leaving the chat
|
# Start a new application when user reapplies after leaving the chat
|
||||||
@app.on_callback_query(filters.regex("reapply_new_[\s\S]*")) # type: ignore
|
@app.on_callback_query(filters.regex("reapply_new_[\s\S]*")) # type: ignore
|
||||||
async def callback_query_reapply_new(app, clb):
|
async def callback_query_reapply_new(app, clb):
|
||||||
pass
|
|
||||||
|
fullclb = clb.data.split("_")
|
||||||
|
|
||||||
|
jsonSave(jsonLoad(f"{configGet('data', 'locations')}{sep}user_default.json"), f"{configGet('data', 'locations')}{sep}users{sep}{clb.from_user.id}.json")
|
||||||
|
configSet(["telegram_id"], str(clb.from_user.username), file=str(clb.from_user.id))
|
||||||
|
configSet(["telegram_name"], f"{clb.from_user.first_name} {clb.from_user.last_name}", file=str(clb.from_user.id))
|
||||||
|
configSet(["telegram_phone"], str(clb.from_user.phone_number), file=str(clb.from_user.id))
|
||||||
|
configSet(["telegram_locale"], str(clb.from_user.language_code), file=str(clb.from_user.id))
|
||||||
|
await clb.answer(locale("reapply_stopped", "callback"))
|
||||||
|
message = await app.get_messages(clb.from_user.id, int(fullclb[2]))
|
||||||
|
await welcome_pass(app, message, once_again=True)
|
||||||
|
logWrite(f"User {clb.from_user.id} restarted the application after leaving the chat earlier")
|
||||||
|
await clb.message.edit(clb.message.text, reply_markup=InlineKeyboardMarkup([[InlineKeyboardButton(locale("done", "button"), "nothing")]]))
|
||||||
|
|
||||||
# Abort application fill in progress and restart it
|
# Abort application fill in progress and restart it
|
||||||
@app.on_callback_query(filters.regex("reapply_stop_[\s\S]*")) # type: ignore
|
@app.on_callback_query(filters.regex("reapply_stop_[\s\S]*")) # type: ignore
|
||||||
@ -607,8 +624,6 @@ async def callback_query_reapply_stop(app, clb):
|
|||||||
|
|
||||||
fullclb = clb.data.split("_")
|
fullclb = clb.data.split("_")
|
||||||
|
|
||||||
user_stage = configGet("stage", file=str(clb.from_user.id))
|
|
||||||
|
|
||||||
jsonSave(jsonLoad(f"{configGet('data', 'locations')}{sep}user_default.json"), f"{configGet('data', 'locations')}{sep}users{sep}{clb.from_user.id}.json")
|
jsonSave(jsonLoad(f"{configGet('data', 'locations')}{sep}user_default.json"), f"{configGet('data', 'locations')}{sep}users{sep}{clb.from_user.id}.json")
|
||||||
configSet(["telegram_id"], str(clb.from_user.username), file=str(clb.from_user.id))
|
configSet(["telegram_id"], str(clb.from_user.username), file=str(clb.from_user.id))
|
||||||
configSet(["telegram_name"], f"{clb.from_user.first_name} {clb.from_user.last_name}", file=str(clb.from_user.id))
|
configSet(["telegram_name"], f"{clb.from_user.first_name} {clb.from_user.last_name}", file=str(clb.from_user.id))
|
||||||
@ -618,6 +633,7 @@ async def callback_query_reapply_stop(app, clb):
|
|||||||
message = await app.get_messages(clb.from_user.id, int(fullclb[2]))
|
message = await app.get_messages(clb.from_user.id, int(fullclb[2]))
|
||||||
await welcome_pass(app, message, once_again=True)
|
await welcome_pass(app, message, once_again=True)
|
||||||
logWrite(f"User {clb.from_user.id} restarted the application due to typo in it")
|
logWrite(f"User {clb.from_user.id} restarted the application due to typo in it")
|
||||||
|
await clb.message.edit(clb.message.text, reply_markup=None)
|
||||||
# ==============================================================================================================================
|
# ==============================================================================================================================
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user