2023-09-06 10:20:50 +00:00
|
|
|
from storage import scan, Profile
|
2023-09-11 15:52:35 +00:00
|
|
|
from bot.api import approve_chat_join_request, kick_member
|
|
|
|
from bot.handlers.callback_vouch import update_button
|
|
|
|
from bot.utils.mention import userdata_extract
|
2023-04-28 12:24:14 +00:00
|
|
|
|
|
|
|
# устанавливает соответствие данных
|
|
|
|
def handle_startup():
|
|
|
|
btn_ids, btns = scan(match='btn-*', count=100)
|
|
|
|
for btnid in btn_ids:
|
|
|
|
# для каждой ранее созданной кнопки
|
2023-04-29 20:37:28 +00:00
|
|
|
btnid_str = btnid.decode("utf-8").replace("btn-", "")
|
|
|
|
parts = btnid_str.split('-')
|
|
|
|
print(parts)
|
|
|
|
_, chat_id, member_id = parts
|
|
|
|
chat_id = "-" + chat_id
|
|
|
|
newcomer = Profile.get(member_id)
|
|
|
|
if len(newcomer.get('parents', [])) > 0:
|
|
|
|
# принять заявку если её нажимали
|
|
|
|
r = approve_chat_join_request(chat_id, member_id)
|
|
|
|
print(r)
|
2023-05-04 08:42:52 +00:00
|
|
|
update_button(chat_id, member_id)
|
2023-04-29 20:37:28 +00:00
|
|
|
elif len(newcomer.get('parents', [])) == 0:
|
|
|
|
r = kick_member(chat_id, member_id)
|
|
|
|
print(r)
|
|
|
|
if r['ok']:
|
|
|
|
_, identity, username = userdata_extract(newcomer['result']['user'])
|
|
|
|
body = ('Участник %s%s был удалён' if lang == 'ru' else 'Member %s%s was deleted') % (identity, username)
|
|
|
|
r = send_message(chat_id, body)
|
|
|
|
print(r)
|