It could be a personality disorder, or social anxiety, or a combination of both. As the person above said, nobody can diagnose you over the internet; it might be worth seeing your GP or self referring to a mental health team near where you live? That being said, you can't (and shouldn't) try and change your fundamental personality! The fact that people have been horrible to you doesn't mean that you should be the one to change; it's their problem, not yours. Maybe you could look online/ in your local area, and see if there is a community for people with similar personalities/ who face similar issues, so that you can "find your people", so to speak. **** people who don't make an effort, and find people who make you happy/ you enjoy spending time with!