Making a token contract for class

Hello, i been doing a research to do a contract token for class, yet in the project we must add some functions to it. Like class can buy all the token, but not sell for a timer like 5 mins or so, and release. So all class buys in, and cannot sell until all class is in, so we can watch and explore how much price impact does move and work on graphics candles.

I struggle to find a timer function or a pause function that only disables sells.
Any help with this?. Where i can guide myself to make it?.
Thanks.

This is what i found and manage to deploy so far.
This is a template I found around here, and manage to do successfully a testnet deploy, but cannot find the functions or dont know how to add properly.


import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol";


contract Token is ERC20 {

    constructor () public ERC20("bobustk", "btok") {
        _mint(msg.sender, 1000000 * (10 ** uint256(decimals())));
    }
}

Maybe you can have a look at these contracts: