2023-04-28 12:24:14 +00:00
|
|
|
|
from tgbot.api import send_message, send_photo, get_userphotos
|
2023-04-29 20:37:28 +00:00
|
|
|
|
from tgbot.utils.mention import mention, userdata_extract
|
2023-04-28 12:24:14 +00:00
|
|
|
|
from tgbot.storage import storage
|
2023-04-23 16:54:58 +00:00
|
|
|
|
|
|
|
|
|
def show_request_msg(msg):
|
2023-04-28 12:24:14 +00:00
|
|
|
|
chat_id = str(msg['chat']['id'])
|
|
|
|
|
from_id = str(msg['from']['id'])
|
|
|
|
|
lang = msg['from'].get('language_code', 'ru')
|
2023-04-23 16:54:58 +00:00
|
|
|
|
reply_markup = {
|
|
|
|
|
"inline_keyboard": [
|
|
|
|
|
[
|
|
|
|
|
{
|
2023-04-29 20:37:28 +00:00
|
|
|
|
"text": '❤️',
|
2023-04-28 12:24:14 +00:00
|
|
|
|
"callback_data": 'vouch' + from_id
|
2023-04-23 16:54:58 +00:00
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
]
|
|
|
|
|
}
|
2023-04-28 12:24:14 +00:00
|
|
|
|
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:
|
2023-04-29 20:37:28 +00:00
|
|
|
|
print('show button with photo')
|
2023-04-28 12:24:14 +00:00
|
|
|
|
file_id = r['result']['photos'][0][0]['file_id']
|
2023-04-29 20:37:28 +00:00
|
|
|
|
_uid, identity, username = userdata_extract(msg['from'])
|
2023-04-28 12:24:14 +00:00
|
|
|
|
r = send_photo(
|
|
|
|
|
chat_id,
|
|
|
|
|
file_id,
|
2023-04-29 20:37:28 +00:00
|
|
|
|
caption=newcomer_message + f'{identity}{username}',
|
2023-04-28 12:24:14 +00:00
|
|
|
|
reply_to=msg.get('message_id', ''),
|
|
|
|
|
reply_markup=reply_markup
|
|
|
|
|
)
|
|
|
|
|
else:
|
2023-04-29 20:37:28 +00:00
|
|
|
|
print('show button without photo')
|
2023-09-06 10:11:40 +00:00
|
|
|
|
r = send_message(
|
2023-04-28 12:24:14 +00:00
|
|
|
|
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)
|