Walmart generic benadryl is cheap and should work fine but you really need to address why you can't sleep too. If it's apnea, Cpap as soon as possible for overall health and life span bud. If it's light/noise, blackout curtains plus turn shit off/tell any roomies to be fuckin quiet so you can sleep. Caffeine related, just cut caffeine out earlier in the day although I personally can chug coffee and energy drinks and immediately go to sleep (nightly coffee relaxes me to bed even) so idk if caffeine is even a real problem for most people.
As to the friend wanting to lose weight, tell her to fuckin get some willpower and stop eating. Women have it easy enough as-is; Make the bitch put at least the bare minimum effort into her body by choosing not to eat like a god damn ham planet.