Михаил Лебединский, да, только так. Если хочется изящества, то делайте словарь, к примеру {'type': 'book', 'name': 'Властелин Колец'}. Этот словарь преобразовывайте в JSON строку, запихивайте в callback_data, а при нажатии уже переводите обратно эту JSON строку в словарь и по ключу уже изящно обращайтесь к нужным полям. От этого дальше можно и плясать.
Михаил Лебединский, что-то вы тут странное про похожие данные сказали. Какие данные с чем похожие? Callback_data и есть то значение, от которого нужно отталкиваться. Приведите пример, где у вас не получается однозначно идентифицировать кнопку по callback_data. Может что-то и придумаем
Bananya, Во-первых оберните код в соответствующий тег, не издевайтесь над теми, кто читает ваш вопрос.
Во-вторых надо сначала хоть немного информации пособирать в интернетах, прежде чем ботов писать. И судя по вашему коду, при отработке команды start клавиатура и не должна вызываться. Необходимый код закомментирован.
K1NDER, ну вы тогда поправьте, а то все будут заходить и тыкать именно в это. Убедитесь, что везде проставлены либо табы, либо пробелы, а не вперемешку.
Попробуйте просто except, без TypeError. Может у вас не то исключение ожидается.
что значит нужная функция в боте?
Вы можете по ID отправить этому пользователю сообщение, например с какой-нибудь кнопкой, которая и выведет его на "нужную функцию в боте".
Слишком много комментариев. Они нужны когда код делает не самые очевидные вещи. Хотя пока, чтобы не забыть через месяц что за что отвечает - норм.
Зачем тебе переменная symbol?
Просто string += '~'
string_first, string_second, string_third не надо приводить к типу list и со строкой сработает. И зачем там цикл while - вообще неясно, он вроде как не нужен по логике. Оставьте только for.
Nazar Ivakhiv, нет конечно. Это как многоточие. Обозначил начало вашего кода, многоточие - "и т.д."
Свою голову надо включать всегда. Видно же, что это не входит в синтаксис языка.
Nazar Ivakhiv, Я код писал прям тут, без редактора. Накинул для примера. Тут за вас полностью никто не напишет ваш же проект. Для этого есть ресурсы с фрилансерами. Направить, показать примеры - да. Полностью выполнить работу за вас - нет. То, что вам тут дают следует тоже просмотреть, изучить, понять как оно работает.
Но вообще не понятно в чем ошибка. Почему вы считаете, что условие не отрабатывает? Какие исходные данные?