Задать вопрос
@35000sobak

Как правильно выполнить срез в ссылке?

ref_id = int(message.text[7:]) #получаем id
Вот таким способом получаю id из ссылки вида:
https://t.me/test_bot?start=139513584
и на выходе получаю ошибку:
ValueError: invalid literal for int() with base 10: ''

Почему так?
  • Вопрос задан
  • 91 просмотр
Подписаться 1 Простой 2 комментария
Решения вопроса 1
@SirotaKazansky
System Analyst
У Вас значение message.text[7:] равно "/t.me/test_bot?start=139513584" - как Вам Python из этого тип int соберёт?
Вам что на выходе получить нужно?

Если Вам число на конце нужно, причем оно всегда такой длины, то нужно использовать отрицательные значения в срезе
text="https://t.me/test_bot?start=139513584"
ref_id = int(text[-9:])

Если Вам вытащить то что после start равно, вдруг там другая длина или вообще буквы можете попробовать split
text="https://t.me/test_bot?start=139513584"
text.split("?start=")
print (text.split("?start=")[1])
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
SpectrumData Екатеринбург
от 150 000 до 250 000 ₽
AST Москва
До 350 000 ₽
Wanted. Москва
До 250 000 ₽
14 янв. 2025, в 03:39
20000 руб./за проект
14 янв. 2025, в 03:33
3500 руб./за проект
14 янв. 2025, в 00:52
100 руб./за проект