Assalamu Alaikum,
Yes, I agree that one should only swear by Allah (swt).
However, since you made the oath and broke it, I would guess that you would have to pay kaffara.
Allah does not call you to account for what is vain in your oaths, but He calls you to account for the making of deliberate oaths; so its expiation (kaffara) is the feeding of ten poor men out of the middling (food) you feed your families with, or their clothing, or the freeing of a neck; but whosoever cannot find (means) then fasting for three days; this is the expiation of your oaths when you swear; and guard your oaths. Thus does Allah make clear to you His communications, that you may be Fateful. (5:89)
So, you would have to either feed 10 poor people 2 meals each, to the same standard you feed yourself, or give 10 people clothing. If you are completely and totally unable to do that, you fast for 3 days.
With anything, if we make sincere repentance (tawbah) and return to Allah (swt), and strive to do good, inshaAllah Allah (swt) will forgive us. So pay your kaffara, make tawbah, continue to work on your addicition and in the future, swear only by Allah (swt).