This repository has been archived on 2025-07-30. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
welcomecenterbot/tgbot/handlers/handle_join_request.py

27 lines
1.0 KiB
Python
Raw Normal View History

2023-04-23 19:54:58 +03:00
from tgbot.api import approve_chat_join_request, delete_message
from tgbot.handlers.send_button import show_request_msg
2023-04-24 09:14:35 +03:00
from tgbot.storage import Profile, storage
2023-04-23 19:54:58 +03:00
def handle_join_request(msg):
print(f'handle join request {msg}')
chat_id = str(msg['chat']['id'])
from_id = str(msg['from']['id'])
actor = Profile.get(from_id, msg)
if len(actor['parents']) == 0:
# показываем сообщение с кнопкой "поручиться"
2023-04-24 09:14:35 +03:00
btn_msg_id = show_request_msg(msg)
2023-04-23 19:54:58 +03:00
# удаляем предыдущее сообщение с кнопкой в этом чате
2023-04-24 09:14:35 +03:00
prev_msg_id = storage.get(f'btn-{chat_id}-{from_id}')
if prev_msg_id:
r = delete_message(chat_id, prev_msg_id)
2023-04-23 19:54:58 +03:00
print(r)
2023-04-24 09:14:35 +03:00
storage.set(f'btn-{chat_id}-{from_id}', btn_msg_id)
2023-04-23 19:54:58 +03:00
else:
# за пользователя поручились ранее
r = approve_chat_join_request(chat_id, from_id)
print(r)
Profile.save(actor)