Язык: 🇷🇺 Русский | 🇺🇸 English | 🇨🇳 中文
🌶️ Дикобраз бот для Telegram, способен в точности до сантиметра выдать размер вашего агрегата, краника или валыны, не обижайтесь, если не удалось понтануться большим прибором, это всего лишь шутка.
Современный и технологичный кокомер: вы спрашиваете, а бот выдаёт научно обоснованный размер и даже в шуточной форме сопоставляет ваш размер агрегата с номером региона России. Линейка или микроскоп, больше не понадобиться!
Note
Продукт вдохновленный 1504 эпизодом (№ 213) сериала «Южный парк» (T.M.I.).
Каждый день бот выдаёт уникальный размер от 0 до 61 см. Размер сбрасывается в полночь по МСК, сопровождается сезонными эмодзи и сопоставляется с номером региона России.
- Линейка коков — топ-13 лучших размеров за текущий день
- Ладдер коков — вечный рейтинг по суммарному размеру за всё время
- Гонка коков — сезонное соревнование на 3 месяца с суммированием размеров
- Система сезонов — каждые 3 месяца новый сезон с победителями и призами
- Кок-респект™ — очки за победы в сезонах и выполнение достижений
50+ уникальных достижений: от первого измерения до попадания в редкие числовые комбинации. Каждое достижение приносит респекты и отображается с прогрессом.
- ИРК (Индекс Размера Кока) — персональный рейтинг (аналог T.M.I. из South Park)
- Детальная статистика — средний кок, медиана, рекорды, динамика изменений
- Коэффициент везения, волатильность кока, скорость роста
- Процент доминирования — доля вклада пользователя в общую статистику
Dickobrazz работает через inline queries в Telegram. Просто введите @dickobrazz_bot в любом чате и выберите нужную опцию:
- Размер кока — получить свой размер на сегодня с региональным сопоставлением
- Линейка коков — топ-13 игроков за текущий день (daily рейтинг)
- Ладдер коков — вечный рейтинг по суммарному размеру за всё время
- Гонка коков — рейтинг текущего сезона (3 месяца)
- Динамика кока — подробная персональная статистика и аналитика
- Сезоны коков — история сезонов и победители с навигацией
- Кок-ачивки — достижения и прогресс с пагинацией
- Откройте любой чат в Telegram
- Введите
@dickobrazz_bot - Выберите интересующую опцию из списка
- Отправьте результат в чат или посмотрите приватно
Если репозиторий еще не клонирован:
git clone https://github.com/mairwunnx/dickobrazz.gitТребования:
- Запущенный Docker
- Минимум 1 GB оперативы для контейнера с рабочей средой (VS Code/Cursor/Goland)
- Инструмент поддерживающий дев контейнеры или просто CLI утилита для запуска дев контейнера.
Important
Перед запуском дев контейнера, необходимо установить переменные окружения в файле .devcontainer/devcontainer.env
Переменные окружения:
- Файл:
.devcontainer/devcontainer.env - Минимум нужны:
BOT_CSOT="ваш_internal_csot_token" # По сути любая доверенная строка полученная от бэкэнда.
BOT_SERVER_BASE_URL="https://api.dickobrazz.com" # Базовый URL бэкенда.
BOT_TG_TOKEN="ваш_telegram_bot_token" # Токен бота для Telegram.
BOT_TG_ENV="test" # Среда бота для Telegram (test/production).Или отредактируйте файл конфигурации ./config.yaml.
Как открыть (VS Code/Cursor/Goland):
- Откройте проект в VS Code/Cursor/Goland
- Найдите действие Reopen in Container и запустите его.
Ваш инструмент поддерживающий дев контейнеры, должен автоматически собрать и запустить дев контейнер.
Запуск бота в dev контейнере:
Note
Для запуска бота для разработки в dev контейнере, можно использовать обычный туллинг Go или air который поддерживает "hot reload" при изменении исходников. (весь необходимый тулинг уже собран в контейнере)
| Туллинг | Команда | Описание |
|---|---|---|
| air | air |
Запуск бота с hot reload |
| go | go run program.go |
Обычный запуск бота. |
Переменные окружения:
- Файл:
.devcontainer/devcontainer.env - Минимум нужны:
BOT_CSOT="ваш_internal_csot_token" # По сути любая доверенная строка полученная от бэкэнда.
BOT_SERVER_BASE_URL="https://api.dickobrazz.com" # Базовый URL бэкенда.
BOT_TG_TOKEN="ваш_telegram_bot_token" # Токен бота для Telegram.
BOT_TG_ENV="test" # Среда бота для Telegram (test/production).Запуск:
docker compose up -dИспользуйте готовый образ из GitHub Container Registry:
services:
dickobrazz:
image: ghcr.io/mairwunnx/dickobrazz:latest
env_file: .envImportant
При необходимости изменения конфигурационного файла, необходимо пересобрать имадж с новым конфигом, или просто смаунтить локальный конфиг в контейнер. (первый способ рекомендуется)
- Go 1.26 — основной язык разработки
- Telegram Bot API (tgbotapi/v5) — интеграция с Telegram
- Resty — HTTP клиент для взаимодействия с бэкендом
- uber/fx — dependency injection и управление lifecycle
- Prometheus — метрики и мониторинг
- go-i18n — интернационализация (6 языков)
- Docker + Docker Compose — контейнеризация и оркестрация
- Structured Logging (slog) — JSON логирование с контекстом
dickobrazz-server — 🌶️ Сервер для @dickobrazz_bot, обслуживание пользовательских данных, агрегация персональных данных, создание статистики.
Emperor Xi — 🀄️ Telegram-бот с ИИ, стилизованный под великого императора Xi. Личный помощник великого лидера, готовый отвечать на вопросы простого народа.
🇷🇺 Сделано в России с любовью. ❤️
Dickobrazz — это про честный рандом и здоровую конкуренцию. Никакого обмана, только математика и везение.
🫡 Made by Pavel Erokhin (Павел Ерохин), aka mairwunnx.
