mirror of
https://github.com/EDeev/y.calendarkin.git
synced 2026-06-15 19:01:00 +03:00
README.md
This commit is contained in:
parent
2b0ec04f31
commit
0fcae044c7
1 changed files with 135 additions and 2 deletions
137
README.md
137
README.md
|
|
@ -1,2 +1,135 @@
|
|||
# Y.Calendarkin
|
||||
Я.Календаркин / Y.Calendarkin - (https://t.me/calendarkin_ybot) - этот телеграм бот не коммерческий проект, для упрощенного получения уведомлений о событиях в Яндекс.Календаре. Не многим этот бот будет полезен, но людям, чья работа подразумевает его использование, он станет лишь удобным инструментом.
|
||||
# 🗓️ Y.Calendarkin
|
||||
|
||||
Telegram-бот для упрощенного получения уведомлений о событиях из Яндекс.Календаря.
|
||||
|
||||
[](https://python.org)
|
||||
[](https://docs.aiogram.dev/)
|
||||
[](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)
|
||||
|
||||
---
|
||||
|
||||
<div align="center">
|
||||
<p><sub>Создано с ❤️ от вашего дорогого - deev.space ©</sub></p>
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue