@Sadons

Можно ли с call.message.text достать только нужную мне информацию?

633dd0b67a131258528259.png
Это сообщение с двумя инлайн кнопками
item_yes = types.InlineKeyboardButton(text='Принять', callback_data='callback.yes')
            item_no = types.InlineKeyboardButton(text='Отказаться', callback_data='callback.no')

Можно ли мне хендлере брать из call.message.text не полностью текст, а извлекать оттуда только ссылку, например:
@bot.callback_query_handler(func=lambda call: call.data.startswith('callback.'))
    def callback_inline(call):
        if call.data == 'callback.yes':
            bot.send_message(message.text.from_user.id,  f"Ссылка в сообщении на которое вы кликнули - \n {call.message.text}")

Сейчас в моём коде он будет просто отправлять это же сообщение вместе с ссылкой, а мне нужно с этого текста брать только ссылку
  • Вопрос задан
  • 129 просмотров
Решения вопроса 1
@Sadons Автор вопроса
Вопрос решил, кому интересно:
import re

link = re.search("(?P<url>https?://[^\s]+)", call.message.text).group("url")

bot.send_message(message.text.from_user.id, f'Ссылка в сообщении на которое вы кликнули - \n {link}')
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы