Here we go again with the all-mothers-are-wonderful-and-you-owe-them-your-life-because-they-chose-to-have-you brigade. Newsflash: a lot of mothers (and other blood relations) are a nightmare, not everyone has a happy family and people should be more empathetic towards those who don't if they, themselves, are lucky enough to blessed in that way.
As adult human beings it is only reasonable that we do our best to be good company, even tempered and pleasant to other people if we want to spend more time with them. Sharing the same blood as someone doesn't give you carte blanche to be a gigantic pain in the arse and think they should just suck it up indefinitely.
If you can't be bothered to put effort into relationships so that they are a two-way street then, eventually, people are going to get fed up and not invite you around any more. If you end up lonely and alone because of that, well, that was your choice.
People who exploit a blood relationship and use passive aggressive, emotional blackmail shite to try and guilt other people into giving them what they want should be avoided at all costs. Deeds have consequences, as soon as people learn this and stop thinking that bad behaviour that wouldn't tolerated from friends will be endured because they happen to share dna with someone, the sooner the world will be a much happier place.
OP, you have tolerated more than your fair share of crap. Give her a warning and if she doesn't change then reduce the time you spend with her, it's the only way she'll learn. Why should someone else's happiness be prioritised over yours and that of your children and husband? You have a right to enjoy life too. Life is short and there are no prizes for being a martyr.