You are quite lucky that you have go-to friends who are honest with you. I single handedly learnt how to stop impulse buying as it was affecting my finances. I ask myself some deep questions and answers them truthfully and by so doing, I get the answer that I need on whether to buy or not to buy.
Also I follow a budget that I would have prepared before my income arrives and I doy best to follow it the way it was planned.