Telegram Reminder Bot Dashboard
Персональный бот-напоминатель (аналог Skeddy). Работает 24/7 на Vercel Serverless без серверов и сторонних ИИ.
Тестирование парсера дат (без ИИ)
Проверьте распознавание фраз на русском языке в реальном времени
Статус системы
Vercel Serverless Architecture
Подробная инструкция: Как развернуть проект в Vercel
1Создание Telegram Бота
1. Откройте Telegram и найдите бота @BotFather.
2. Отправьте команду /newbot и укажите название и username (например: MyReminder_bot).
3. Скопируйте полученный **API Token** (вида 7123456789:AAFg...).
2Создание бесплатной базы данных Upstash Redis
1. Зарегистрируйтесь на сайте upstash.com (можно через GitHub).
2. Нажмите **Create Database** → Название: reminder-db, тип **Redis**, регион **eu-west-1**.
3. В разделе **REST API** скопируйте значения двух переменных: UPSTASH_REDIS_REST_URL и UPSTASH_REDIS_REST_TOKEN.
3Деплой репозитория на Vercel
1. Опубликуйте этот проект на ваш **GitHub**.
2. Зайдите на vercel.com → Нажмите **Add New → Project** → Импортируйте ваш репозиторий.
3. В разделе **Environment Variables** (Переменные окружения) добавьте:
- TELEGRAM_BOT_TOKEN = ваш токен от BotFather
- UPSTASH_REDIS_REST_URL = URL из Upstash
- UPSTASH_REDIS_REST_TOKEN = Token из Upstash
- CRON_SECRET = произвольный пароль для защиты крон-запросов (например:
my_secret_cron_123) - TELEGRAM_ALLOWED_USER_IDS = ваш Telegram ID (необязательно, для защиты от сторонних юзеров)
4. Нажмите **Deploy**. Через 1 минуту Vercel выдаст ссылку вида: https://reminder-bot-xyz.vercel.app.
4Регистрация Webhook в Telegram
Откройте ваш браузер и выполните следующую ссылку (подставив ваши значения):
В ответе браузера должно быть: {"ok":true,"result":true,"description":"Webhook was set"}
5Настройка Cron (Отправка каждые 60 секунд)
Для вызова отправки напоминаний раз в минуту используйте бесплатный сервис cron-job.org:
- Создайте новый Cron Job с адресом:
https://ВАШ_САЙТ.vercel.app/api/cron - Интервал: **Every 1 minute** (Каждую минуту).
- В разделе **Headers** укажите заголовок:
Authorization: Bearer ВАШ_CRON_SECRET.