If you feel like throwing money at your truck based on what the tow truck driver thought your issue might be, have at it. On the other hand, if you'd like to isolate your trouble before fixing it, here's how you know for damned sure if your starter is bad or not.
1) Put the truck in Park, with the ebrake on.
2) Get some moderately heavy gauge wire and terminate it on the positive battery post.
3) Turn the key to the On position, and doublecheck that you're still in Park with the ebrake on.
3) Strip the other end back and touch it to the starter solenoid post on the starter - this is the connection with the smaller wire. If the starter and solenoid are functional, THIS WILL START THE MOTOR, so for gods sake have it in Park with the ebrake on, and don't have any body parts anywhere near the radiator fan or belts on the front of the motor

.
Anyway, if that cranks the motor, then you know your starter and battery are good and you can look elsewhere for the issue (wiring, relays, electrical shit). If that doesn't do it, check your voltage level on the battery before you pull the starter - a battery can have enough juice to power lights but not enough to turn the engine over. If the test doesn't work and the battery is good, THEN you know you have a bad starter. I suggest taking it into a starter repair shop or rebuilding it yourself over buying a new one, but that's your call.