{"id":16287492,"url":"https://github.com/alordash/botsmartscheduler","last_synced_at":"2025-03-20T03:30:25.942Z","repository":{"id":37804796,"uuid":"280228258","full_name":"alordash/BotSmartScheduler","owner":"alordash","description":"Enhance your planning capabilities with this smart bot!","archived":false,"fork":false,"pushed_at":"2023-10-03T00:50:36.000Z","size":2752,"stargazers_count":53,"open_issues_count":13,"forks_count":24,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-17T13:54:43.071Z","etag":null,"topics":["bot","english-language","human-speech-data","planning","russian-language","scheduler","telegram"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alordash.png","metadata":{"files":{"readme":"README-EN.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2020-07-16T18:26:18.000Z","updated_at":"2024-03-15T02:48:43.000Z","dependencies_parsed_at":"2023-10-20T16:49:11.592Z","dependency_job_id":null,"html_url":"https://github.com/alordash/BotSmartScheduler","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alordash%2FBotSmartScheduler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alordash%2FBotSmartScheduler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alordash%2FBotSmartScheduler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alordash%2FBotSmartScheduler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alordash","download_url":"https://codeload.github.com/alordash/BotSmartScheduler/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244543687,"owners_count":20469541,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bot","english-language","human-speech-data","planning","russian-language","scheduler","telegram"],"created_at":"2024-10-10T19:45:17.069Z","updated_at":"2025-03-20T03:30:25.475Z","avatar_url":"https://github.com/alordash.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# [t.me/SmartScheduler_bot](https://t.me/SmartScheduler_bot)\n\n- [Описание на русском](README.md)\n\n## Bot understands English and Russian languages\n\nIf you need fast and handy tool to schedule your plans, Smart Scheduler Bot is the right choice.\n\n![Usage example](UsageExample-EN.png)\n\n## How to use\n\n[Smart Scheduler Bot works in Telegram.](https://t.me/SmartScheduler_bot)\nJust type task with required expiration time and Smart Scheduler will automatically find scheduling date and what task to schedule in your message.\nSmart Scheduler will send you notification when particular task's time expires.\n\n\n## Features\n\nYou do not need to follow specified date format, Smart Scheduler understands most of human date formats (e.g. «in 5 minutes, «at 5 minutes to 10 pm», «after tomorrow in half past 1»).  \nAlso it's not necessary to write perfectly. Bot can understand what you meant to say even **in words with mistakes** (e.g. «in twinty minuts» -\u003e *«in 20 minutes»*).  \nYou can make multiple reminders in one message by dividing each with dot, comma or word \"**and**\".  \n  \nSmart Scheduler can store tasks with *minute precision*.  \nSmart Scheduler can generate schedules from **voice messages**.  \nSmart Scheduler supports recurring reminders (e.g. «every 5 minutes») and also supports time limits for them (e.g. «every 5 minutes until 20 hours»).  \nSmart Scheduler supports pictures, videos and files 💾 in reminders.  \nSmart Scheduler stores tasks **separately** for every chat and can work in conversations.  \n\nSmart Scheduler can be integrated to your [Trello](https://trello.com/) board!  \nMore details: [Guide to working with Trello](https://t.me/SmartScheduler_Info/25).  \n\n### Supported commands:\n\n- 🗓 **/list** - Shows active tasks for current chat.\n\n- 🗑 **/del** _1, 2, ...N_ - Deletes tasks by id.\n\n- 🗑 **/del** _1-10, A-B_ - Deletes all tasks within range.\n\n- #️⃣ **_/N_** - Deletes N-th task.\n\n- 🌐 **_/tz_** - Configures time zone.\n\nand /start with /help of course.\n\n\n## Installation\n\nThis bot requires PostgreSQL data base.  \n\n### Environment variables\n\nMake sure you set following environment variables before starting the bot:  \n1. **ENABLE_LOGS**: \"true\" or \"false\", enables or disables logging.  \n2. **ENABLE_SCHEDULES_CHEKING**: \"true\" or \"false\", enables or disables checking and sending notifications.  \n3. **TZ**: only \"GMT\".  \n4. **DATABASE_URL** (optional): URL of your PostgreSQL data base.  \n5. **SMART_SCHEDULER_DB_URL** (optional): URL of your PostgreSQL data base.  \n6. **IS_HEROKU**: \"true\" or \"false\". If **true**, then use **DATABASE_URL** for data base URL, else **SMART_SCHEDULER_DB_URL**.  \n7. **SMART_SCHEDULER_TLGRM_API_TOKEN**: telegram bot token.  \n\nFor debugging (optional):  \n\n8. **SMART_SCHEDULER_ADMIN**: telegram-id of bot administrator user.  \n9. **SMART_SCHEDULER_DEBUG_MODE**: \"true\" or \"false\". If enabled, then bot will check only those reminders, which were created by **SMART_SCHEDULER_ADMIN**.  \n\nFor time zone definition via geolocation (optional):  \n\n10. **SMART_SCHEDULER_GOOGLE_API_KEY**: api-key for Google services.  \n  \nFor voice messages processing (optional):  \n\n11. **YC_API_KEY**: Yandex api key.  \n12. **YC_FOLDER_ID**: Yandex catalog id.  \n\nFor integration with [Trello](https://trello.com/) (optional):  \n\n13. **TRELLO_TOKEN**: Trello api token.  \n\n### On local server\n\n```\n$ git clone https://github.com/alordash/BotSmartScheduler\n$ cd BotSmartScheduler\n$ npm install\n$ node ./BotCode/index.js\n```\n\n### Deploying on heroku\n\n1. Create [github](https://github.com/join) account.  \n2. Add [this](https://github.com/alordash/BotSmartScheduler) repository to yourself.  \n3. Create [heroku](https://signup.heroku.com/) account.  \n4. Create new [heroku application](https://dashboard.heroku.com/new-app).  \n5. Open created application.  \n6. Follow [this link](https://elements.heroku.com/addons/heroku-postgresql).  \n7. Press **Install Heroku Postgres**.  \n8. In the appeared line type your application name and press **Provision add-on**.  \n9. Go to the tab **Settings** of your application.  \n10. Press **Reveal Config Vars**.  \n11. Fill all necessary enviromental variables.  \n12. Go to the tab **Deploy**.  \n13. In the field **Deployment method** choose **GitHub**.  \n14. Connect your github account to heroku by pressing **Connect to GitHub**.  \n15. In appeared window choose *your* respository, press **connect**.  \n16. Press **Deploy Branch**.  \n17. Once loaded, go to the tab **Resources**.  \n18. Disable **web**, enable **worker**.  \nYour bot is ready to work.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falordash%2Fbotsmartscheduler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falordash%2Fbotsmartscheduler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falordash%2Fbotsmartscheduler/lists"}