Skip to content

Kagashini/BenchmarkCalculatorBot

Repository files navigation

For english readme: README-EN.md

Benchmark Calculator Bot

Телеграм-бот для обработки и анализа данных бенчмарков из различных источников.

Обзор

Этот бот предназначен для приема файлов бенчмарков от пользователей, автоматического определения их формата, парсинга данных и генерации подробных отчетов в форматах XLSX и CSV. Поддерживаются различные форматы бенчмарков, включая CapFrameX, MSI Afterburner и пользовательские форматы.

Возможности

  • Автоматическое определение формата файлов
  • Поддержка нескольких форматов бенчмарков:
    • Файлы бенчмарков CapFrameX (с автоматическим объединением нескольких файлов)
    • MSI Afterburner + RivaTuner Statistics Server
    • Пользовательский формат (CSV, TSV, JSON)
  • Детальный статистический анализ
  • Генерация отчетов в форматах XLSX и CSV
  • Поддержка как стандартного API Telegram, так и пользовательских/локальных серверов API
  • Режимы Webhook и polling

Начало работы

Предварительные требования

  • Python 3.10+
  • Токен Telegram бота (получить у @BotFather)

Установка

  1. Клонируйте репозиторий:
bash git clone <repository-url>   
cd BenchmarkCalculatorBot
  1. Установите зависимости:
bash   
pip install -r requirements.txt
  1. Создайте файл .env на основе .env.example и настройте токен бота:
env   
BOT_TOKEN=your_actual_bot_token_here   
CUSTOM_API_SERVER=your_host:your_port   

Конфигурация

Бот может быть настроен с помощью переменных окружения в файле .env:

  • [BOT_TOKEN] - Токен вашего Telegram бота
  • [RUN_MODE] - Режим работы: "polling" или "webhook" (по умолчанию: "polling")
  • [CUSTOM_API_SERVER] - URL пользовательского сервера API Telegram (необязательно)

Использование

  1. Запустите бот:
bash   
python main.py   
  1. В Telegram найдите своего бота и отправьте ему файл бенчмарка.

  2. Бот автоматически определит формат, обработает данные и вернет подробные отчеты.

Поддерживаемые форматы файлов

  1. CapFrameX: JSON-файлы от инструмента бенчмаркинга CapFrameX

    • Несколько файлов автоматически объединяются в один отчет
    • Детальный анализ времени кадров
  2. MSI Afterburner: Текстовые файлы от MSI Afterburner + RivaTuner Statistics Server

    • Извлечение данных о частоте кадров
    • Статистический анализ
  3. Пользовательский формат: Универсальный парсер для различных форматов CSV, TSV и JSON

    • Гибкая обработка данных

Структура проекта

BenchmarkCalculatorBot/   
├── config/ # Файлы конфигурации   
├── handlers/ # Обработчики сообщений Telegram   
├── parsers/ # Парсеры файлов бенчмарков   
├── services/ # Сервисы обработки   
├── utils/ # Вспомогательные функции   
├── main.py # Точка входа в приложение   
├── webhook_server.py # Реализация сервера вебхуков   
└── ssl_generator.py # Генератор SSL-сертификатов для вебхука   

Лицензия

Этот проект лицензирован по лицензии MIT - подробности смотрите в файле LICENSE.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages