AI Task Bot — Telegram-бот, преобразующий текстовые сообщения в обычные задачи и события календаря. Бот через API OpenAI (или совместимый сервис) извлекает из текста структурированные данные и может генерировать .ics-файлы для импорта в любой календарь.
- Автоматическое вычленение событий и задач из письменных обращений;
- Генерация импортируемых
.ics-файлов; - Минималистичные логи на русском языке;
- Поддержка запуска в Docker.
Бота можно добавлять в групповые чаты. Для вызова команд в группе используйте
формат /command@BotName.
- Python 3.11+
- Зависимости из
requirements.txt
- Клонируйте репозиторий и создайте виртуальное окружение:
python -m venv .venv source .venv/bin/activate - Установите зависимости:
pip install -r requirements.txt
- Скопируйте
.env.exampleв.envи заполните переменные:BOT_TOKEN— токен вашего ботаADMINS— идентификаторы админовAI_API_KEY— ключ доступа к AIAI_API_MODEL— модель для обработкиAI_API_URL— адрес сервисаAI_PROXY_URL— прокси при необходимости, напримерsocks5://user:pass@1.1.1.1:1234
- Запустите бота:
python main.py
После запуска в чате можно использовать команды /start, /help и /create.
Для упрощенного развертывания можно воспользоваться Docker:
docker-compose up -dПапка storage монтируется для хранения базы данных.
По умолчанию бот недоступен для всех пользователей, кроме ID, указанных в
переменной ADMINS. Администраторы могут выдавать и отзывать доступ прямо из
админ-меню. Аналогичным образом можно разрешать или запрещать использование бота в групповых чатах. Состояние доступа сохраняется в SQLite базе storage/main.db.
- Файлы
config/system_prompt.txt,config/user_prompt.txtиconfig/schema.jsonпозволяют менять логику бота под свои задачи;
BOT_TOKEN=your-telegram-bot-token
ADMINS=123456789,987654321
AI_API_KEY=your-openai-key
AI_API_MODEL=gpt-3.5-turbo
AI_API_URL=https://api.openai.com/v1
AI_PROXY_URL=ai/— работа с моделью AI;handlers/— телеграм-команды и форматы ответов;ics/— формирование.ics-файлов;storage/— простая база SQLite для хранения запросов.
Проект распространяется по лицензии BSD-3-Clause.