I'm sure you're not a shit mother.
I remember someone on here saying a similar thing years ago and someone gave some advice I've never forgotten.....and in fact, I told my sister it today when she was stressing!
when they are being really tricky and you find yourself shouting at them constantly, take a deep breath and imagine that you are their nanny, employed to take care of them.
I know it sounds a bit daft but trust me, it really does work. We all get complacent about how we discipline our kids but it works magic on my two, and others I've told about it, when I'm really het up with them being naughty for hours on end.
Pretending that you are being paid to look after them actually makes you stand back for a bit and see things how others would see the situation and you kind of get a clearer picture of why they're behaving like it and then you seem moer able to cope with fixing it, whether it be time out, taking a toy away they were fighting over or simply going and making a cuppa and sticking them in front of the tele for half an hour.
Sometimes, to give yourself a break, let them skip a bath and give them a quick strip wash or a wipe around the bottom with baby wipes. It's not every day - but it'll give you a bit of extra 'me time' Then, instead of pulling your hair out, you can chill out with them in their bedroom for a bit. Or go down and watch tv for half an hour whilst letting them play for a bit longer - they'll think you're being supermum and giving them a bit of a treat whilst you get to relax and not miss east enders or whatever.
Try it and see
.