Send tokens to a smart contract

Hi, I am using the Web3 starter package, with create-eth-app, my idea is to create a dapp where the user can acquire a token that I made with Solidity where the user pays with ETH, OUSD, USDT, USDC AND BTC, I am new to the frontEnd, I have no idea how to send a different token from ETH to the smart contract that it returns the created token etc. Could you help me? , grateful.

pd : The idea is to create an ICO. This is for learning purposes as I wish to train as a full dapps.