Ошибка, которую вы видите (ModuleNotFoundError: No module named 'telegram'), указывает на то, что библиотека python-telegram-bot, необходимая для работы с Telegram API, не установлена в вашей среде Python.
from telegram import Update
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters, CallbackContext, ConversationHandler
# Состояния для ConversationHandler
ASK_AGE = 1
def start(update: Update, context: CallbackContext) -> int:
update.message.reply_text("Привет! Сколько тебе лет?")
return ASK_AGE
def ask_age(update: Update, context: CallbackContext) -> int:
try:
age = int(update.message.text)
if age < 18:
update.message.reply_text("Ты еще молод, но у тебя все впереди!")
elif 18 <= age <= 60:
update.message.reply_text("Отличный возраст для достижения целей!")
else:
update.message.reply_text("Умудренный опытом! Делись мудростью с другими!")
except ValueError:
update.message.reply_text("Пожалуйста, введи число.")
return ASK_AGE
return ConversationHandler.END
def cancel(update: Update, context: CallbackContext) -> int:
update.message.reply_text("Диалог завершен. Увидимся!")
return ConversationHandler.END
def main():
# Замените 'YOUR_TOKEN_HERE' на ваш токен от BotFather
updater = Updater("YOUR_TOKEN_HERE")
dispatcher = updater.dispatcher
# ConversationHandler для обработки состояний
conv_handler = ConversationHandler(
entry_points=[CommandHandler('start', start)],
states={
ASK_AGE: [MessageHandler(Filters.text & ~Filters.command, ask_age)],
},
fallbacks=[CommandHandler('cancel', cancel)],
)
dispatcher.add_handler(conv_handler)
# Запуск бота
updater.start_polling()
updater.idle()
if __name__ == '__main__':
main()
from telegram import Update
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters, CallbackContext, ConversationHandler
# Состояния для ConversationHandler
ASK_AGE = 1
def start(update: Update, context: CallbackContext) -> int:
update.message.reply_text("Привет! Сколько тебе лет?")
return ASK_AGE
def ask_age(update: Update, context: CallbackContext) -> int:
try:
age = int(update.message.text)
if age < 18:
update.message.reply_text("Ты еще молод, но у тебя все впереди!")
elif 18 <= age <= 60:
update.message.reply_text("Отличный возраст для достижения целей!")
else:
update.message.reply_text("Умудренный опытом! Делись мудростью с другими!")
except ValueError:
update.message.reply_text("Пожалуйста, введи число.")
return ASK_AGE
return ConversationHandler.END
def cancel(update: Update, context: CallbackContext) -> int:
update.message.reply_text("Диалог завершен. Увидимся!")
return ConversationHandler.END
def main():
# Замените 'YOUR_TOKEN_HERE' на ваш токен от BotFather
updater = Updater("YOUR_TOKEN_HERE")
dispatcher = updater.dispatcher
# ConversationHandler для обработки состояний
conv_handler = ConversationHandler(
entry_points=[CommandHandler('start', start)],
states={
ASK_AGE: [MessageHandler(Filters.text & ~Filters.command, ask_age)],
},
fallbacks=[CommandHandler('cancel', cancel)],
)
dispatcher.add_handler(conv_handler)
# Запуск бота
updater.start_polling()
updater.idle()
if name == 'main':
main()
Есть 10 ошибок
и пишит это: Traceback (most recent call last):
File "C:\Users\капибара\PycharmProjects\PythonProject\Бот телеграмм.py", line 1, in
from telegram import Update
ModuleNotFoundError: No module named 'telegram'
Процесс завершился c кодом выхода 1
Я обновил и всё сделал, но до сих пор ничего не работает
В чём проблема? Что делать