2023-04-23 16:54:58 +00:00
|
|
|
|
from tgbot.api import send_message, delete_message, get_chat_administrators
|
|
|
|
|
from tgbot.storage import Profile
|
|
|
|
|
from tgbot.handlers.send_button import show_request_msg
|
2023-04-24 06:14:35 +00:00
|
|
|
|
from tgbot.storage import storage
|
2023-04-23 16:54:58 +00:00
|
|
|
|
|
|
|
|
|
def handle_default(msg):
|
|
|
|
|
print(f'default handler for all messages')
|
|
|
|
|
chat_id = str(msg['chat']['id'])
|
|
|
|
|
from_id = str(msg['from']['id'])
|
|
|
|
|
sender = Profile.get(from_id, msg)
|
|
|
|
|
|
|
|
|
|
if msg['text'].startswith('/my'):
|
|
|
|
|
# команда в групповом чате
|
|
|
|
|
print(f'remove some messages in group chat')
|
|
|
|
|
|
|
|
|
|
# удалить сообщение с командой /my
|
|
|
|
|
r = delete_message(chat_id, msg['message_id'])
|
|
|
|
|
print(r)
|
|
|
|
|
|
|
|
|
|
# показать новое сообщение с кнопкой
|
2023-04-28 12:24:14 +00:00
|
|
|
|
show_request_msg(msg)
|
2023-04-23 16:54:58 +00:00
|
|
|
|
else:
|
|
|
|
|
# любое другое сообщение
|
|
|
|
|
if len(sender['parents']) == 0:
|
|
|
|
|
# владелец чата автоматически ручается
|
|
|
|
|
print(f'setting owner as parent for {from_id}')
|
|
|
|
|
r = get_chat_administrators(chat_id)
|
|
|
|
|
print(r)
|
2023-04-24 06:14:35 +00:00
|
|
|
|
owner_id = ''
|
|
|
|
|
for admin in r['result']:
|
|
|
|
|
if admin['status'] == 'creator':
|
|
|
|
|
owner_id = admin['user']['id']
|
|
|
|
|
break
|
2023-04-28 12:24:14 +00:00
|
|
|
|
if owner_id:
|
2023-05-01 16:31:17 +00:00
|
|
|
|
sender['parents'].append(str(owner_id))
|
2023-04-28 12:24:14 +00:00
|
|
|
|
# обновляем профиль владельца
|
|
|
|
|
owner = Profile.get(owner_id)
|
2023-05-01 16:31:17 +00:00
|
|
|
|
owner['children'].append(str(from_id))
|
2023-04-28 12:24:14 +00:00
|
|
|
|
Profile.save(owner)
|
2023-04-23 16:54:58 +00:00
|
|
|
|
|
|
|
|
|
# сохранить профиль отправителя
|
|
|
|
|
Profile.save(sender)
|