2023-04-23 16:54:58 +00:00
|
|
|
|
from tgbot.api import send_message, delete_message
|
2023-04-28 12:24:14 +00:00
|
|
|
|
from tgbot.handlers.command_my import handle_command_my
|
2023-04-23 16:54:58 +00:00
|
|
|
|
from tgbot.storage import Profile
|
|
|
|
|
|
|
|
|
|
# remove link of callback sender
|
|
|
|
|
# from member vouched before
|
|
|
|
|
def handle_unlink(callback_query):
|
|
|
|
|
print('handle unlink button pressed, private chat only')
|
|
|
|
|
|
|
|
|
|
from_id = str(callback_query['from']['id'])
|
2023-04-28 12:24:14 +00:00
|
|
|
|
linked_id = str(callback_query['data'].replace('unlink', ''))
|
2023-04-23 16:54:58 +00:00
|
|
|
|
|
2023-04-28 12:24:14 +00:00
|
|
|
|
# удаляем связь с потомком
|
2023-04-23 16:54:58 +00:00
|
|
|
|
actor = Profile.get(from_id, callback_query)
|
2023-04-28 12:24:14 +00:00
|
|
|
|
actor['children'].remove(linked_id)
|
|
|
|
|
Profile.save(actor)
|
|
|
|
|
|
|
|
|
|
# удаляем связь с предком
|
|
|
|
|
linked = Profile.get(linked_id)
|
|
|
|
|
linked['parents'].remove(from_id)
|
|
|
|
|
Profile.save(linked)
|
|
|
|
|
|
2023-04-23 16:54:58 +00:00
|
|
|
|
# удаляем старое сообщение с кнопками
|
2023-04-28 12:24:14 +00:00
|
|
|
|
reply_msg_id = callback_query['message']['message_id']
|
2023-04-23 16:54:58 +00:00
|
|
|
|
r = delete_message(from_id, reply_msg_id)
|
|
|
|
|
print(r)
|
2023-04-28 12:24:14 +00:00
|
|
|
|
|
|
|
|
|
# если ещё есть связи - посылаем новое сообщение
|
|
|
|
|
if len(actor['children']) > 0:
|
|
|
|
|
handle_command_my(callback_query)
|
2023-04-23 16:54:58 +00:00
|
|
|
|
|
2023-04-28 12:24:14 +00:00
|
|
|
|
# если больше никто не поручился - мьютим
|
|
|
|
|
if len(linked['parents']) == 0:
|
|
|
|
|
for chat_id in linked['chats']:
|
|
|
|
|
mute_member(chat_id, linked_id)
|