Skip to content

alordash/BotSmartScheduler

Repository files navigation

Бот понимает русскую и англоязычную речь

Если вам нужно быстро и с удобством планировать свои задачи, бот Smart Scheduler станет незаменимым инструментом в этом деле.

Пример использования

Как использовать

Бот Smart Scheduler работает в Telegram.
Просто напишите задачу и требуемое время, а Smart Scheduler автоматически найдет дату и задачу в сообщении.
По истечению времени запланированной задачи бот Smart Scheduler пришлет вам уведомление.

Особенности

Данный бот распознает большинство форм представления даты человеком (например «через X минут», «в без пятнадцати десять», «послезавтра пол первого»), поэтому вам не нужно следовать определенному формату времени.
Также не обязательно писать слова «абсолютно» точно. Бот способен понять что вы имели ввиду даже в словах с ошибками (например «чрез читыре нидели» -> «через 4 недели»).
Вы можете создавать сразу несколько напоминаний в одном сообщении, разделяя каждое с помощью точки, запятой или союза "и".

Smart Scheduler способен записывать время с точностью до минуты.
Smart Scheduler может формировать напоминания из голосовых сообщений.
Smart Scheduler поддерживает повторяющиеся напоминания («каждые 5 минут»), а также поддерживает ограничение для них («каждые 5 минут до 20 часов»).
Smart Scheduler поддерживает картинки, видео или файлы 💾 в напоминаниях.
Smart Scheduler хранит для каждого чата задачи раздельно и может функционировать в беседах.

Smart Scheduler может быть интегрирован в Вашу Trello доску!
Подробнее: Руководство по работе с Trello

Поддерживаемые комманды:

  • 🗓 /list - Показывает активные задачи для данного чата.

  • 🗑 /del 1, 2, ...N - Удаляет задачи по id.

  • 🗑 /del 1-10, A-B - Удаляет задачи в введенном диапазоне.

  • #️⃣ /N - Удаляет N-ную задачу.

  • 🌐 /tz - Настройка часового пояса.

и, конечно же, /start и /help.

Установка

Для работы бота требуется база данных PostgreSQL.

Переменные среды

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

  1. ENABLE_LOGS: "true" или "false", включает или отключает логирование.
  2. ENABLE_SCHEDULES_CHEKING: "true" или "false", включает или отключает проверку и отправление уведомлений.
  3. TZ: только "GMT".
  4. DATABASE_URL (опционально): URL базы данных PostgreSQL.
  5. SMART_SCHEDULER_DB_URL (опционально): URL базы данных PostreSQL.
  6. IS_HEROKU: "true" или "false". Если true, то для базы данных используется DATABASE_URL, иначе SMART_SCHEDULER_DB_URL.
  7. SMART_SCHEDULER_TLGRM_API_TOKEN: токен бота в телеграмме.

Для дебага (опционально):

  1. SMART_SCHEDULER_ADMIN": telegram-id пользователя-администратора бота
  2. SMART_SCHEDULER_DEBUG_MODE: "true" или "false". При включении бот проверяет только те напоминания, которые были созданные пользователем SMART_SCHEDULER_ADMIN.

Для определения часового пояса по геолокации (опционально):

  1. SMART_SCHEDULER_GOOGLE_API_KEY: api-ключ для сервисов Google.

Для обработки голосовых сообщений (опционально):

  1. YC_API_KEY: Yandex api key.
  2. YC_FOLDER_ID: Yandex catalog id.

Для интеграции с Trello (опционально):

  1. TRELLO_TOKEN: Trello api token.

На локальном сервере

$ git clone https://github.com/alordash/BotSmartScheduler
$ cd BotSmartScheduler
$ npm install
$ node ./BotCode/index.js

Используя heroku

  1. Создайте аккаунт github.
  2. Добавьте этот репозиторий к себе.
  3. Создайте аккаунт heroku.
  4. Создайте новое heroku приложение.
  5. Откройте новое приложение.
  6. Перейдите по этой ссылке.
  7. Нажмите Install Heroku Postgres.
  8. В появившейся строке введите название своего приложения и нажмите Provision add-on.
  9. Перейдите во вкладку Settings своего приложения.
  10. Нажмите Reveal Config Vars.
  11. Заполните все необходимые переменные среды.
  12. Перейдите во вкладку Deploy.
  13. В поле Deployment method выберите GitHub.
  14. Подключите свой github аккаунт к хероку нажав Connect to GitHub.
  15. В появившемся окне выберите ваш репозиторий, нажмите connect.
  16. Нажмите Deploy Branch.
  17. После окончания загрузки перейдите во вкладку Resources.
  18. Отключите web, включите worker.
    Ваш бот готов к работе.

Releases

No releases published

Packages

No packages published