Gumballson, норм, а где у вас переменной amount вообще что-то присваивается, кроме как в параметрах функции ей присваивается None?
вы же сравниваете потом с ним в строке
if cursor.execute("SELECT gems from users where id = {}".format(ctx.author.id)).fetchone() < {amount}
то есть если было 2 элемента с одинаковым значением - останется только один