@Revs1

Как сделать проверку ссылки в телеграм боте?

Здравствуйте!

Пишу телеграм бота и хочу сделать проверку на текст введенный от пользователя, чтобы в этом тексте присутствовала ссылка "instagram.com/" , если же ссылки в тексте нет, то выдавало ошибку, не понимаю как реализовать.
  • Вопрос задан
  • 49 просмотров
Решения вопроса 1
jerwright
@jerwright
while True: coding()
@bot.message_handler(content_types = ['text'])
def testing(message):
    needed_item = "instagram.com/"
    if needed_item not in message.text.lower():
        return bot.reply_to(message, f"В вашем тексте нет {needed_item}", disable_web_page_preview=True)
    #ниже действия, если бы ссылка была в тексте сообщения
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@Vindicar
Если вы не знаете, как искать наличие подстроки в строке (либо через оператор in, либо через метод index()), или как пользоваться регулярными выражениями, то вам рано браться за ботов. Начните с упражнений попроще, потом вернётесь к теме.

Вот кроме шуток. Это основы стандартной библиотеки языка. Прежде чем бросаться что-то разрабатывать - их надо знать, хотя бы на уровне возможностей, т.е. "я не помню, как называется метод для перевода строки в нижний регистр, но я точно знаю, что он есть, пойду поищу".
Ответ написан
Комментировать
@pozner88
Можно воспользоваться методом count. Возможно есть другие пути решения, но этот мне первым пришел в голову.
Используя метод count можно просто сделать условие в котором проверяется есть ли ключевые слова необходимые вам. Для примера с instagram.com/ можно сделать нечто подобное
link=message.text
if link.count("instagram.com/") == 1:
    #дальнейшие действия если ссылка есть
else:
    #если нет ссылки

Как по мне самый простой способ, по идеи должен работать
Ответ написан
Ваш ответ на вопрос

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

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