Telegram Bot как узнать chat_id зная username?
Побуду немного археологом

Написал бота, который по username возвращает id канала, чата, группы. Решает практически все вопросы такого рода, и аналогов пока не видел

Боту @username_to_id_bot пишем юзернейм человека, группы или канала, и в ответ приходит вся информация, например
User found
@...
Title: ...
Id: ...

PS ответ выше, который про ботов, говорит, как только свой id получить, этот же бот закрывает гораздо большую задачу
в любом сообщении боту будет присутствовать chat_id , то есть если кто то ответит боту в чате, то придёт ид чата, искать тут : message.chat.id