Dividend token with doge coin reward system

i have a token that reward eth to token holders but i want to use another coin( doge/cardano) for reward. i am not able to do it. any help would be great.

here is the code

    function swapTokensForEth(uint256 tokenAmount) private {
    // generate the uniswap pair path of token -> weth
    address[] memory path = new address[](2);
    path[0] = address(this);
    path[1] = uniswapV2Router.WETH();

    _approve(address(this), address(uniswapV2Router), tokenAmount);

    // make the swap
    uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
        tokenAmount,
        0, // accept any amount of ETH
        path,
        address(this),
        block.timestamp
    );
}

function swapAndSendDividends(uint256 tokens) private {
    swapTokensForEth(tokens);
    uint256 dividends = address(this).balance;

    (bool success,) = address(dividendTracker).call{value: dividends}("");
    if (success) {
        emit SentDividends(tokens, dividends);
    }
}

}

full code in git hub: https://github.com/coderbang1/eth-distri-token/blob/main/code

Where is this deployed? BSC? Ethereum? or Cardano? The function WETH() is supposed to return the wapped native token of the chain this contract is deployed on. This is true for BSC and Ethereum, and you may want to double check for doge or Cardano and see if they have wrapped token contracts on the chain to which this is to be deployed.

It is deployed on bsc

Then, the task is to find the ERC20 wrapped token contract for doge or Cardano. Then you would want to create a new trading pair and inject new liquidity for such pair(s).