I was looking for a keychain that looked like the starbucks tumbler. I found one that looked ok, but the through hole for mounting to a keychain was just all wrong.
So I created this model from scratch in Blender. Its a cylinder that is shrunk at one end, then given a knurled effect as seen in this youtube video.
After that, I added a horizontal cylinder that has a round cut for the face. I tried printing the straw and cup as one model, but it is very fragile and kept breaking off. So i separated the the straw and left a hole in the cup. After they are printed, just a drop or two of crazy glue to the hole in the cup and insert the straw.
You can also print the cup and straw completely separately to get a different color for each. I included 3 stl files (cup and straw, cup only and straw only).
The keychain is just a pack of 50 I got from a random Amazon seller. It uses an 8mm jump ring to attach the cup to the chain part of the keychain. A jump ring is an open ring that you bend back together with 2 small pliers.
And as milano stated below, you absolutely want to print this model upside-down. Its the biggest benefit to having the straw print separately.
I made the hole in the probably a little too big. As Flashesbuck stated in the comments, you can print the straw by itself a few times (adjusting the xy scaling) to dial in the tube diameter that is appropriate for your printer's tolerances and your slicer settings.
The author marked this model as their own original creation.