From 0fcae044c75b3ccd8b26e065144f5da9ac1ee818 Mon Sep 17 00:00:00 2001 From: Egor Deev Date: Mon, 30 Jun 2025 19:53:09 +0300 Subject: [PATCH] README.md --- README.md | 137 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 135 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index a3cf565..6a90200 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,135 @@ -# Y.Calendarkin -Я.Календаркин / Y.Calendarkin - (https://t.me/calendarkin_ybot) - этот телеграм бот не коммерческий проект, для упрощенного получения уведомлений о событиях в Яндекс.Календаре. Не многим этот бот будет полезен, но людям, чья работа подразумевает его использование, он станет лишь удобным инструментом. +# 🗓️ Y.Calendarkin + +Telegram-бот для упрощенного получения уведомлений о событиях из Яндекс.Календаря. + +[![Python](https://img.shields.io/badge/Python-3.8+-blue.svg)](https://python.org) +[![Aiogram](https://img.shields.io/badge/Aiogram-3.x-green.svg)](https://docs.aiogram.dev/) +[![License](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) + +## 📖 Описание + +Y.Calendarkin — некоммерческий проект, предназначенный для автоматизации уведомлений о календарных событиях из Яндекс.Календаря через Telegram. Бот позволяет настроить гибкую систему напоминаний и получать актуальную информацию о предстоящих событиях. + +## ✨ Основные возможности + +- 📅 **Импорт календаря** — поддержка ICal ссылок из Яндекс.Календаря +- ⏰ **Гибкие уведомления** — настройка времени напоминаний (до 60 минут) +- 🌅 **Ежедневные отчеты** — утренние сводки событий на день +- 🎯 **Моментальные уведомления** — оповещения в момент начала события +- 🌍 **Поддержка часовых поясов** — автоматическое определение из календаря +- 📋 **Просмотр событий** — список мероприятий на текущий день + +## 🛠️ Технологический стек + +- **Backend**: Python 3.8+ +- **Bot Framework**: Aiogram 3.x +- **Database**: SQLite +- **Calendar Processing**: icalendar, dateutil +- **HTTP Client**: wget +- **Timezone Support**: pytz + +## 🚀 Установка и запуск + +### Предварительные требования + +```bash +pip install -r requirements.txt +``` + +### Настройка + +1. Создайте нового бота через [@BotFather](https://t.me/BotFather) +2. Получите токен и добавьте его в `config.py`: + +```python +TOKEN = "your_bot_token_here" +``` + +3. Создайте структуру каталогов: + +```bash +mkdir -p data/icals db +``` + +### Запуск + +```bash +cd code +python bot.py +``` + +## 📝 Использование + +### Начало работы + +1. Запустите бота командой `/start` +2. Отправьте ICal ссылку вашего Яндекс.Календаря +3. Настройте уведомления по своему усмотрению + +### Основные команды + +| Команда | Описание | +|---------|----------| +| `/help` | Справочная информация | +| `/list` | События на сегодня | +| `/notif` | Включить/выключить уведомления | +| `/daily` | Ежедневные утренние сводки | +| `/moment` | Уведомления в момент события | +| `/get_alarm` | Информация о текущих настройках | +| `/edit_alarm` | Изменение времени уведомлений | +| `/stop_alarm` | Отключение второго уведомления | + +### Получение ICal ссылки + +1. Откройте Яндекс.Календарь +2. Перейдите в настройки календаря +3. Найдите раздел "Экспорт" +4. Скопируйте ссылку в формате ICal +5. Отправьте ссылку боту + +## 🏗️ Архитектура проекта + +``` +y.calendarkin/ +├── code/ +│ ├── bot.py # Основная логика бота +│ ├── config.py # Конфигурация +│ ├── script.py # Обработка календарных файлов +│ └── sql.py # Работа с базой данных +├── data/ +│ ├── icals/ # Загруженные календари +│ └── photo_edit_alarm.jpg +├── db/ # База данных SQLite +└── requirements.txt +``` + +## 📊 База данных + +Проект использует две основные таблицы: + +- **user** — информация о пользователях и их календарях +- **alarm** — настройки уведомлений для каждого пользователя + +## 🔧 Настройка уведомлений + +- **Первое уведомление**: за 15 минут до события (по умолчанию) +- **Второе уведомление**: за 5 минут до события (по умолчанию) +- **Диапазон настройки**: от 1 до 59 минут +- **Ежедневные сводки**: в 8:00 по часовому поясу пользователя + +## 📄 Лицензия + +Этот проект является некоммерческим и распространяется под лицензией MIT. + +## 👨‍💻 Автор + +**Деев Егор Викторович** - Backend Developer +- GitHub: [@EDeev](https://github.com/EDeev) +- Email: egor@deev.space +- Telegram: [@Egor_Deev](https://t.me/Egor_Deev) + +--- + +
+

Создано с ❤️ от вашего дорогого - deev.space ©

+