Как написать телеграм бота на питоне?
Без лишних слов. Сразу приступим к делу.

Для написания телеграм бота на Python, вам необходимо выполнить следующие шаги:
1. Создайте нового бота в Telegram, написав в Telegram боте @BotFather команду /newbot и следуя инструкциям. При создании бота вам нужно будет придумать ему имя - для примера я создам бота с именем python-telegram-bot. У вас имя будет другое. В конце создания бота - вы получите токен - сохраните его на вашем устройстве.
2. Установите библиотеку python-telegram-bot, используя команду pip install python-telegram-bot в консоли вашего компьютера.
Чтобы открыть командную строку на Windows, в поиске найдите прогрумму CMD и запустите ее.

3. Запустите редактор Visual Studio Code (либо любой другой) и создайте файл main.py
4. Импортируйте необходимые библиотеки в файл main.py:
1from telegram import Update
2from telegram.ext import ApplicationBuilder, CommandHandler, ContextTypes
5. Создайте переменную token и поместите в нее строку токена полученного от @BotFather
1token = "ваш токен"
6. Создайте функцию для обработки команды hello - данная функция будет отвечать пользователю строкой Hello с именем пользователя
1async def hello(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
2 await update.message.reply_text(f'Hello {update.effective_user.first_name}')
7. Следующей командой создаем инстанс бота с использованием токена
1app = ApplicationBuilder().token(token).build()
8. Добавляем обработчик команды /hello в вашем боте - для этого мы и готовили функцию hello выше.
1app.add_handler(CommandHandler("hello", hello))
9. Наконец запускаем бота
1app.run_polling()
Пока программа запущена - найдите вашего бота в telegram - и отправьте вашему боту команду /hello

Поздравляю! Вы написали своего первого бота. Попробуйте написать другие фунциии и зарегистрировать новые команды.
Итоговый код - должен выглядеть примерно так:
1from telegram import Update
2from telegram.ext import ApplicationBuilder, CommandHandler, ContextTypes
3
4token = "ваш токен"
5
6# Функция отвечает пользователю Hello с указанием имени пользователя
7async def hello(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
8 await update.message.reply_text(f'Hello {update.effective_user.first_name}')
9
10
11app = ApplicationBuilder().token(token).build()
12
13app.add_handler(CommandHandler("hello", hello))
14
15app.run_polling()
16