Skip to content

SimulatorML/AI--Todoist

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Telegram Бот для Todoist

Telegram-бот, который создает задачи в Todoist через API. Создан на Python с использованием async/await для оптимальной производительности.

Возможности

  • Поддержка Async/Await: Построен с AsyncTeleBot для высокой производительности
  • Сообщение в Задачу: Каждое сообщение становится задачей в Todoist
  • Поддержка Нескольких Пользователей: У каждого пользователя свой API токен Todoist
  • Защита от Дублирования: Предотвращает повторные задачи используя ID сообщений Telegram
  • Обработка Ошибок: Понятные сообщения об ошибках когда Todoist недоступен
  • Безопасность: Чувствительные токены хранятся в переменных окружения

Быстрый Старт

1. Настройка

# Установить зависимости
pip install -r requirements.txt

# Установить переменные окружения
export TELEGRAM_BOT_TOKEN="ваш_токен_telegram_бота"

2. Получить API Токены

  1. Токен Telegram Бота: Создайте бота через @BotFather
  2. Токен Todoist: Получите на странице интеграций Todoist

3. Запустить Бота

python -m app.main

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

Команды

  • /start - Приветственное сообщение и инструкции по настройке
  • /help - Показать справочное сообщение

Установка токена

Просто отправьте ваш токен Todoist боту

Создание Задач

Просто отправьте любое текстовое сообщение чтобы создать задачу:

Пользователь: "Купить молоко"
Бот: "✅ Задача создана: Купить молоко (Входящие, P3)"

Пользователь: "Позвонить стоматологу завтра"
Бот: "✅ Задача создана: Позвонить стоматологу завтра (Входящие, P3)"

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

├── app/
│   ├── __init__.py
│   ├── main.py              # Точка входа и обработчики бота
│   ├── todoist_client.py    # Асинхронный клиент Todoist API
│   ├── models.py            # Схемы Pydantic
│   └── database.py          # Хранилище токенов пользователей
├── tests/
│   ├── __init__.py
│   ├── test_models.py       # Тесты моделей
│   └── test_database.py     # Тесты базы данных
├── requirements.txt
└── README.md

Детали Задач

  • Проект: Входящие (по умолчанию)
  • Приоритет: 3 (по умолчанию)
  • Срок выполнения: Нет (по умолчанию)
  • Защита от дублей: Использует ID сообщения Telegram как ID запроса

Переменные Окружения

TELEGRAM_BOT_TOKEN=ваш_токен_telegram_бота_здесь

Запуск Тестов

pytest tests/

Обработка Ошибок

Бот обрабатывает различные сценарии ошибок:

  • Неверные токены Todoist
  • Таймауты API
  • Проблемы с сетью
  • Отсутствующие токены пользователей

Все ошибки логируются и пользователи получают понятные сообщения об ошибках.

Безопасность

  • Чувствительные токены хранятся в переменных окружения
  • Токены пользователей хранятся в памяти (в продакшене следует использовать базу данных)
  • Конфиденциальная информация не логируется

Следующие Шаги

Будущие версии могут включать:

  • NLP анализ для дат, проектов и приоритетов
  • Постоянная база данных для токенов пользователей
  • Редактирование и удаление задач
  • Выбор проекта
  • Распознавание сроков выполнения

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages