I'm with the others - "Don't yell at her, it's not necessary." If you feel the need and trust them (you say you've been friends for 20 years) you can say "Let me handle it - but if I'm not in the room, just clap to get her attention and then say 'no' and that should do it. Don't worry, she's a good kitty."
I had a relative try to discipline my service dog once. He was on leash at a family gathering (at my parents' house, semi-outdoors - garage with doors open) and wandered a bit away from me to check out someone sitting nearby. Everyone was holding food, but the point of interest at the moment was not the food, but the person - he was sniffing their shoes if I recall. Someone else behind us suddenly reached down and grabbed the leash and gave a hard jerk toward me, which made him let out a short yelp as he was forcibly dragged back. Everyone in earshot turned to us, and I whipped around to look at my uncle. "Don't DO that," I snapped, then reached down to check on my dog, who was now crowding against my leg in confusion and fear. The uncle in question spent the rest of the day sulking in a corner because everyone kept giving him the evil eye. Was what I said rude? Yes, but so was what HE did! Another time I was at a friend's house, and her boyfriend used his arm to scrape her cat off the back of a chair without warning. The friend didn't see, but I did. I asked her later if the cat was allowed on the chairs and she said yes. I told her what I saw, and she was initially just a bit... "OK" about it. A couple weeks later she told me that my 'tattling' had made her tune in more and pay attention to how he treated her cat, and she did dump him shortly thereafter.