Лучший способ определить, когда функция вызывается из консоли

Я хотел бы знать, как лучше всего определить, когда метод или функция вызывается напрямую через консоль. Насколько я сейчас понимаю, невозможно непосредственно обнаружить его при идентичных вызовах функций, но используя.call() а также.apply() методы функции я могу передать дополнительные данные черезthis объект.

Учитывая следующую структуру кода:

(function(){
    var Player = {money: 0};
    window.giveMoney = function(amount){
        if (this.legit !== true)
            throw new Error("Don't try to cheat!");

        Player.money += amount;
    }
})();

Я мог бы вызвать функцию, используя

window.giveMoney.call({legit: true}, 300);

в моем реальном коде я расскажу о прямом вызове из консоли и о моем собственном коде, но это, очевидно, не является ошибкой, поскольку тот же самый код также может быть выполнен из консоли для достижения желаемого эффекта.

Я хотел бы иметь возможность вызывать функцию из обоих мест, а затем указывать места вызова отдельно. Если нет способа сделать это, каков лучший способ попытаться предотвратить выполнение в любом случае? Лучше всего просто не раскрывать какие-либо методы и хранить все внутри одной закрытой анонимной функции?

Ответы на вопрос(3)

Ваш ответ на вопрос