Телеграм-бот не запускается

import os
import logging
import requests
from queue import Queue
from telegram import Update
from telegram.ext import ExtBot, CommandHandler, CallbackContext



# Настраиваем журнал
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')

BOT_TOKEN = os.getenv('BOT_TOKEN')
EPIC_API_KEY = os.getenv('EPIC_API_KEY')


def get_fortnite_stats(username):
    url = f'https://api.fortniteapi.io/stats?username={username}&platform=pc'
    headers = {
        'Authorization': f'{EPIC_API_KEY}'
    }
    try:
        response = requests.get(url, headers=headers)
        data = response.json()
    except requests.exceptions.RequestException as e:
        logging.error(f'Ошибка при отправке запроса к API Fortnite: {e}')
        return None

    if 'data' not in data:
        logging.error('Не удалось получить статистику игрока.')
        return None

    return data

def start(update: Update, context: CallbackContext) -> None:
    update.message.reply_text('Привет! Введите ваш ник в Fortnite')

def get_fortnite_stats_command(update: Update, context: CallbackContext) -> None:
    username = context.args[0]
    stats = get_fortnite_stats(username)

    if stats is None:
        update.message.reply_text('Игрок с данным ником не найден')
    else:
        player_stats = stats['data']['stats']
        wins = player_stats['placetop1']
        kills = player_stats['kills']
        level = player_stats['level']

        update.message.reply_text(f'Статистика игрока {username} в Fortnite:\n'
                                  f'Побед: {wins}\n'
                                  f'Убийств: {kills}\n'
                                  f'Уровень: {level}')

def main() -> None:
    # Создаем очередь сообщений
    update_queue = Queue()

    # Создаем бота
    bot = ExtBot(BOT_TOKEN, update_queue=update_queue)

    # Добавляем обработчики к атрибуту dispatcher бота
    bot.dispatcher.add_handler(CommandHandler('start', start))
    bot.dispatcher.add_handler(CommandHandler('stats', get_fortnite_stats_command))

    # Запускаем опрос бота с аргументом drop_pending_updates=True
    bot.start_polling(drop_pending_updates=True)

    # Добавляем бесконечный цикл, который предотвращает выход программы при нажатии Ctrl+C
    while True:
        bot.idle()

if __name__ == '__main__':
    main()

Ответы (0 шт):