В register_next_step_handler передается сообщение, а не chat_id.
bot.register_next_step_handler(call.message.chat.id, caclulate_usd)
меняйте на
bot.register_next_step_handler(call.message, caclulate_usd)
И еще:
В функции
caclulate_usd у вас откуда-то берется обращение к переменной
call, которая не определена внутри этой функции, так что там тоже будет косяк. Поэтому если хотите использовать
call в этой функции, передавайте его тоже через
register_next_step_handler
.......
bot.register_next_step_handler(call.message, caclulate_usd, call)
.......
def caclulate_usd(message, call):
num_usd = message.text
bot.send_message(call.message.chat.id, 'Ваше запрос \"' + message.text +
'\" получен. Можете вернуться в главное меню ⤵', reply_markup=keyboard)