welcomecenterbot/src/handlers/send_button.py
2023-09-06 13:20:50 +03:00

53 lines
1.9 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from api import send_message, send_photo, get_userphotos
from utils.mention import mention, userdata_extract
from storage import storage
def show_request_msg(msg):
chat_id = str(msg['chat']['id'])
from_id = str(msg['from']['id'])
lang = msg['from'].get('language_code', 'ru')
reply_markup = {
"inline_keyboard": [
[
{
"text": '❤️',
"callback_data": 'vouch' + from_id
}
]
]
}
newcomer_message = "Нажмите, чтобы одобрить заявку " if lang == 'ru' \
else "There is a newcomer, press the button if you are connected with "
r = get_userphotos(user_id=from_id)
print(r)
if r['ok'] and r['result']['total_count'] > 0:
print('show button with photo')
file_id = r['result']['photos'][0][0]['file_id']
_uid, identity, username = userdata_extract(msg['from'])
r = send_photo(
chat_id,
file_id,
caption=newcomer_message + f'{identity}{username}',
reply_to=msg.get('message_id', ''),
reply_markup=reply_markup
)
else:
print('show button without photo')
r = send_message(
chat_id,
newcomer_message + mention(msg['from']),
reply_to=msg.get('message_id', ''),
reply_markup=reply_markup
)
print(r)
if 'message_id' in r:
# удаляем предыдущее сообщение с кнопкой в этом чате
prevbtn = storage.get(f'btn-{chat_id}-{from_id}')
if prevbtn:
r = delete_message(chat_id, prevbtn)
print(r)
# создаём новое
newbtn = r['message_id']
print(f'button message id: {newbtn}')
storage.set(f'btn-{chat_id}-{from_id}', newbtn)