Improved logging
This commit is contained in:
parent
b1ca1fb0be
commit
bf2fda9d94
21
main.py
21
main.py
@ -31,6 +31,7 @@ async def cmd_start(app, msg):
|
||||
configSet("telegram_phone", str(msg.from_user.phone_number), file=str(msg.from_user.id))
|
||||
configSet("telegram_locale", str(msg.from_user.language_code), file=str(msg.from_user.id))
|
||||
|
||||
logWrite(f"User {msg.from_user.id} started bot interaction")
|
||||
await msg.reply_text(locale("start", "message"), reply_markup=ReplyKeyboardMarkup(locale("welcome", "keyboard"), resize_keyboard=True)) # type: ignore
|
||||
# ==============================================================================================================================
|
||||
|
||||
@ -53,12 +54,14 @@ async def welcome_pass(app, msg, once_again: bool = True):
|
||||
if not once_again:
|
||||
await msg.reply_text(locale("privacy_notice", "message"))
|
||||
|
||||
logWrite(f"User {msg.from_user.id} confirmed starting the application")
|
||||
await msg.reply_text(locale("question1", "message"), reply_markup=ForceReply(placeholder=locale("question1", "force_reply"))) # type: ignore
|
||||
configSet("stage", 1, file=str(msg.from_user.id))
|
||||
|
||||
@app.on_message(~ filters.scheduled & filters.private & (filters.regex(locale("welcome", "keyboard")[1][0])))
|
||||
async def welcome_reject(app, msg):
|
||||
|
||||
logWrite(f"User {msg.from_user.id} refused to start the application")
|
||||
await msg.reply_text(locale("goodbye", "message"), reply_markup=ReplyKeyboardMarkup(locale("return", "keyboard"), resize_keyboard=True)) # type: ignore
|
||||
# ==============================================================================================================================
|
||||
|
||||
@ -113,6 +116,8 @@ async def confirm_yes(app, msg):
|
||||
)
|
||||
)
|
||||
|
||||
logWrite(f"User {msg.from_user.id} sent his application and it will now be reviewed")
|
||||
|
||||
configSet("sent", True, file=str(msg.from_user.id))
|
||||
configSet("confirmed", True, file=str(msg.from_user.id))
|
||||
|
||||
@ -128,6 +133,7 @@ async def confirm_no(app, msg):
|
||||
configSet("telegram_phone", str(msg.from_user.phone_number), file=str(msg.from_user.id))
|
||||
configSet("telegram_locale", str(msg.from_user.language_code), file=str(msg.from_user.id))
|
||||
await welcome_pass(app, msg, once_again=True)
|
||||
logWrite(f"User {msg.from_user.id} restarted the application due to typo in it")
|
||||
# ==============================================================================================================================
|
||||
|
||||
|
||||
@ -138,6 +144,7 @@ async def callback_query_accept(app, clb):
|
||||
fullclb = clb.data.split("_")
|
||||
|
||||
await app.send_message(configGet("admin_group"), locale("approved_by", "message").format(clb.from_user.first_name, fullclb[2]), disable_notification=True) # type: ignore
|
||||
logWrite(f"User {fullclb[2]} got approved by {clb.from_user.id}")
|
||||
|
||||
link = await app.create_chat_invite_link(configGet("destination_group"), name=f"Invite for {fullclb[2]}", member_limit=1, expire_date=datetime.now()+timedelta(days=1))
|
||||
|
||||
@ -150,6 +157,8 @@ async def callback_query_accept(app, clb):
|
||||
configSet("approved", True, file=fullclb[2])
|
||||
configSet("link", link.invite_link, file=fullclb[2])
|
||||
|
||||
logWrite(f"User {fullclb[2]} got an invite link {link.invite_link}")
|
||||
|
||||
application = jsonLoad(f"{configGet('data', 'locations')}{sep}applications.json")
|
||||
application[fullclb[2]]["approved"] = True
|
||||
application[fullclb[2]]["approved_by"] = clb.from_user.id
|
||||
@ -168,6 +177,7 @@ async def callback_query_refuse_aggressive(app, clb):
|
||||
|
||||
await app.send_message(configGet("admin_group"), locale("refused_by_agr", "message").format(clb.from_user.first_name, fullclb[3]), disable_notification=True) # type: ignore
|
||||
await app.send_message(int(fullclb[3]), locale("refused", "message"))
|
||||
logWrite(f"User {fullclb[3]} got refused by {clb.from_user.id} due to being aggressive")
|
||||
|
||||
configSet("refused", True, file=fullclb[3])
|
||||
|
||||
@ -190,6 +200,7 @@ async def callback_query_refuse_russian(app, clb):
|
||||
await app.send_message(configGet("admin_group"), locale("refused_by_rus", "message").format(clb.from_user.first_name, fullclb[3]), disable_notification=True) # type: ignore
|
||||
await app.send_message(int(fullclb[3]), locale("refused", "message"))
|
||||
await app.send_message(int(fullclb[3]), locale("refused_russian", "message"))
|
||||
logWrite(f"User {fullclb[3]} got refused by {clb.from_user.id} due to being russian")
|
||||
|
||||
configSet("refused", True, file=fullclb[3])
|
||||
|
||||
@ -211,6 +222,7 @@ async def callback_query_refuse(app, clb):
|
||||
|
||||
await app.send_message(configGet("admin_group"), locale("refused_by", "message").format(clb.from_user.first_name, fullclb[2]), disable_notification=True) # type: ignore
|
||||
await app.send_message(int(fullclb[2]), locale("refused", "message"))
|
||||
logWrite(f"User {fullclb[2]} got refused by {clb.from_user.id}")
|
||||
|
||||
configSet("refused", True, file=fullclb[2])
|
||||
|
||||
@ -249,10 +261,13 @@ async def get_contact(app, msg):
|
||||
application_status = locale("application_status_on_hold", "message")
|
||||
else:
|
||||
application_status = locale("application_status_not_send", "message")
|
||||
logWrite(f"User {msg.from_user.id} requested application of {msg.contact.user_id}")
|
||||
await msg.reply_text(locale("contact", "message").format(str(msg.contact.user_id), "\n".join(application_content), application_status)) # type: ignore
|
||||
except FileNotFoundError:
|
||||
logWrite(f"User {msg.from_user.id} requested application of {msg.contact.user_id} but user does not exists")
|
||||
await msg.reply_text(locale("contact_invalid", "message"))
|
||||
else:
|
||||
logWrite(f"User {msg.from_user.id} requested application of someone but user is not telegram user")
|
||||
await msg.reply_text(locale("contact_not_member", "message"))
|
||||
# ==============================================================================================================================
|
||||
|
||||
@ -265,22 +280,28 @@ async def any_stage(app, msg):
|
||||
|
||||
if user_stage == 1:
|
||||
await msg.reply_text(locale(f"question{user_stage+1}", "message"), reply_markup=ForceReply(placeholder=str(locale(f"question{user_stage+1}", "force_reply"))))
|
||||
logWrite(f"User {msg.from_user.id} completed stage {user_stage} of application")
|
||||
configSet(str(user_stage), str(msg.text), "application", file=str(msg.from_user.id))
|
||||
configSet("stage", user_stage+1, file=str(msg.from_user.id))
|
||||
elif user_stage == 2:
|
||||
try:
|
||||
configSet(str(user_stage), int(msg.text), "application", file=str(msg.from_user.id))
|
||||
if (int(msg.text) in [-1, 0, 128, 256, 512, 1024, 2048]) or (int(msg.text) >= 100):
|
||||
logWrite(f"User {msg.from_user.id} failed stage {user_stage} due to joking")
|
||||
await msg.reply_text(locale("question2_joke", "message"), reply_markup=ForceReply(placeholder=str(locale("question2", "force_reply"))))
|
||||
elif int(msg.text) < configGet("age_allowed"):
|
||||
logWrite(f"User {msg.from_user.id} failed stage {user_stage} due to being underage")
|
||||
await msg.reply_text(locale("question2_underage", "message").format(str(configGet("age_allowed"))), reply_markup=ForceReply(placeholder=str(locale("question2", "force_reply")))) # type: ignore
|
||||
else:
|
||||
logWrite(f"User {msg.from_user.id} completed stage {user_stage} of application")
|
||||
await msg.reply_text(locale(f"question{user_stage+1}", "message"), reply_markup=ForceReply(placeholder=str(locale(f"question{user_stage+1}", "force_reply"))))
|
||||
configSet("stage", user_stage+1, file=str(msg.from_user.id))
|
||||
except ValueError:
|
||||
logWrite(f"User {msg.from_user.id} failed stage {user_stage} due to sending not int")
|
||||
await msg.reply_text(locale(f"question2_invalid", "message"), reply_markup=ForceReply(placeholder=str(locale(f"question{user_stage}", "force_reply"))))
|
||||
else:
|
||||
if user_stage <= 9:
|
||||
logWrite(f"User {msg.from_user.id} completed stage {user_stage} of application")
|
||||
await msg.reply_text(locale(f"question{user_stage+1}", "message"), reply_markup=ForceReply(placeholder=str(locale(f"question{user_stage+1}", "force_reply"))))
|
||||
configSet(str(user_stage), str(msg.text), "application", file=str(msg.from_user.id))
|
||||
configSet("stage", user_stage+1, file=str(msg.from_user.id))
|
||||
|
Reference in New Issue
Block a user