While I agree with what's been said by others here in response to your post, there is something that caught my attention. You mentioned that she has a 'shady' tendency to say and do things that are mean and selfish, and treat you bad. Has that been going on throughout your relationship with her? Or is this a new thing? Because if it's been ongoing then it may actually warrant looking into. Yes, you don't want to be putting all your needs onto all your friends - for example, I love my family but I NEVER go to them for emotional support, same as I have certain friends that I do not turn to for validation. But you also want to make sure you are not being mistreated or taken advantage of. Even though the relationship has lasted 20 years, if it's done so because of your silence or because you keep going back for whatever reason, and you've kept questioning why you've done so, then maybe you should consider ending the friendship.
Just my two cents.