В Bot API невомзожно получить id пользователя по его имени. Возможно только через получение события, с этим пользователем связанное (например, пользователь написал сообщение, пользователь вступил в группу где есть бот, итд). В полученной информации будет и id пользователя, и его username (только если он у пользователя есть).
Это можно обойти использованием клиентского API (библиотеки telethon, pyrogram). Но этот API выполняет запросы от реального пользователя Telegram, поэтому если злоупотреблять запросами, можно получить бан не бота, а прям своего живого аккаунта.
От себя рекомендую этой фигнёй не страдать, у Bot API есть свои понятные сценарии работы, и в рамках них id пользователя можно получить вполне легально именно тогда, когда это имеет смысл в рамках функциональности бота.