Greasy Fork is available in English.

Freebitcoin Auto Roll

Freebitcoin Auto Roll for Premium User

// ==UserScript==
// @name            Freebitcoin Auto Roll
// @description     Freebitcoin Auto Roll for Premium User
// @version         1.2.2
// @author          Leann NoobersTube
// @match           https://freebitco.in/*
// @namespace       https://greasyfork.org/en/users/1249104
// @homepage        https://bit.ly/NoobersTube
// @homepageURL     https://freebitco.in/?r=4233839
// @copyright       NoobersTube - 2024
// @require         http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js
// @license         GPL-3.0
// ==/UserScript==

/*
// Changelog
All notable changes to this script will be written here.

## [1.2.2] - 2024-01-23
### Added
- Added a check for reward.points between 45000 and 55000 to redeem different products
- Added Free WOF and FP Bonus to redeem RPProduct on certain point condition
- Used setInterval to run the checkRewardPoints function every second
- Moved the checkRewardPoints and runCheckRewardPoints functions outside the reward object
### Fixed
- Rewrote the logic of redeeming points
- Changed the RedeemRPProduct function
- Changed the @description for UserScript
- Removed the unnecessary console.log statements
- Removed the unnecessary long description inside the script
- Fixed spelling

## [1.2.1] - 2024-01-19
### Added
- Changelog information
- Fix the description
- Decrease the amount of RP neede to claim bonus
### Fixed
- Bonus claim is working now
- Nothing so far. Please let me know if there's a bug or error while using this script

## [1.0.0] - 2024-01-11
- Initial release of the script
*/

(function() {
    'use strict';
var body = $('body');
var points = {};
var count_min = 1;
var reward = {};
    reward.select = function() {
        reward.points = parseInt($('.user_reward_points').text().replace(',',""));
        reward.bonustime = {};
        if ($("#bonus_container_free_points").length != 0) {
            reward.bonustime.text = $('#bonus_span_free_points').text();
            reward.bonustime.hour = parseInt(reward.bonustime.text.split(":")[0]);
            reward.bonustime.min = parseInt(reward.bonustime.text.split(":")[1]);
            reward.bonustime.sec = parseInt(reward.bonustime.text.split(":")[2]);
            reward.bonustime.current = reward.bonustime.hour * 3600 + reward.bonustime.min * 60 + reward.bonustime.sec;
        } else
            reward.bonustime.current = 0;
        console.log(reward.bonustime.current);
        if (reward.bonustime.current !== 0) {
            console.log(reward.bonustime.current);
        } else {
            if (reward.points < 45000) {
                console.log("waiting for points to reach 50000");
            }
            else if (reward.points >= 50000 && reward.points < 51000) {
                    console.log("redeeming fun_token_2");
                    RedeemRPProduct('fun_token_2');
                }
            else if (reward.points >= 51000 && reward.points < 52000) {
                    console.log("redeeming fun_token_3");
                    RedeemRPProduct('fun_token_3');
                }
            else if (reward.points >= 52000 && reward.points < 53000) {
                    console.log("redeeming fun_token_4");
                    RedeemRPProduct('fun_token_4');
                }
            else if (reward.points >= 53000 && reward.points < 54000) {
                    console.log("redeeming fun_token_5");
                    RedeemRPProduct('fun_token_5');
                }
            else if (reward.points >= 54000 && reward.points < 55000) {
                    console.log("redeeming fp_bonus_1000");
                    RedeemRPProduct('fp_bonus_1000');
                }
            else {
                console.log("redeeming free_wof_5");
                RedeemRPProduct('free_wof_5');
            }
            if ($('#bonus_span_fp_bonus').length === 0)
                if (reward.points >= 55000)
                    RedeemRPProduct('fp_bonus_1000');
        }
    };
    body.prepend(
        $('<div/>').attr('style',"position:fixed;top:45px;left:0;z-index:999;width:350px;background-color:black;color: white; text-align: left;")
            .append(
                $('<div/>').attr('id','autofaucet')
                    .append($('<p/>').attr('style','text-decoration:underline;').text("Freebitcoin Auto Roll"))
                    .append($('<p/>').text("Freebitcoin Auto Roll for Premium User"))
                    .append($('<p/>').text("18VTbqN14ZFprCakpUgvC1VjLtZUTqSXsi"))
                    .append($('<p/>').text("(Click to copy and donate some satoshi for me!)"))
                    .append($('<p/>')
                    )
            ).click(function(){
            var $temp = $('<input>').val("18VTbqN14ZFprCakpUgvC1VjLtZUTqSXsi");
            body.append($temp);
            $temp.select();
            document.execCommand("copy");
            $temp.remove();
        })
    ).prepend($('<style/>')
        .text("#autofaucet p { margin: 0; margin-left: 2px;  text-align: left; }")
)
    setTimeout(reward.select,1000);
    setInterval(reward.select,60000);
$(document).ready(function(){
    console.log("Status: Page loaded.");
    setTimeout(function(){
        $('#free_play_form_button').click();
        console.log("Status: Button ROLL clicked.");
    }, random(2000,4000));
    setInterval(function(){
        console.log("Status: Elapsed time " + count_min + " minutes");
        count_min = count_min + 1;
    }, 60000);
    setTimeout(function(){
        $('.close-reveal-modal')[0].click();
        console.log("Status: Button CLOSE POPUP clicked.");
    }, random(12000,18000));
    setInterval(function(){
        $('#free_play_form_button').click();
        console.log("Status: Button ROLL clicked again.");
    }, random(3605000,3615000));
});
function random(min,max){
   return min + (max - min) * Math.random();
}
})();