{"id":13827857,"url":"https://github.com/MeLlamoPablo/schedulebot","last_synced_at":"2025-07-09T05:30:44.132Z","repository":{"id":93078266,"uuid":"73417255","full_name":"MeLlamoPablo/schedulebot","owner":"MeLlamoPablo","description":"A Discord bot that makes scheduling easy","archived":false,"fork":false,"pushed_at":"2017-11-09T03:48:01.000Z","size":17850,"stargazers_count":40,"open_issues_count":11,"forks_count":118,"subscribers_count":9,"default_branch":"dota","last_synced_at":"2024-08-05T09:16:51.597Z","etag":null,"topics":["bot","discord-bot","dota","scheduling"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MeLlamoPablo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2016-11-10T20:10:49.000Z","updated_at":"2024-05-01T00:45:21.000Z","dependencies_parsed_at":"2023-03-08T13:30:25.716Z","dependency_job_id":null,"html_url":"https://github.com/MeLlamoPablo/schedulebot","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MeLlamoPablo%2Fschedulebot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MeLlamoPablo%2Fschedulebot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MeLlamoPablo%2Fschedulebot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MeLlamoPablo%2Fschedulebot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MeLlamoPablo","download_url":"https://codeload.github.com/MeLlamoPablo/schedulebot/tar.gz/refs/heads/dota","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225486452,"owners_count":17481904,"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","discord-bot","dota","scheduling"],"created_at":"2024-08-04T09:02:15.953Z","updated_at":"2024-11-20T07:31:13.680Z","avatar_url":"https://github.com/MeLlamoPablo.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"# [ScheduleBot | Dota Edition](https://mellamopablo.github.io/schedulebot/)\n\u003e A Discord bot that makes scheduling easy\n\n*Note: you're currently viewing the Dota version. This version supports Dota 2 inhouses and its \nconfiguration is a bit trickier because you need a Steam Bot. If you're looking for the standard \nversion, [go here](https://github.com/MeLlamoPablo/schedulebot/tree/master#schedulebot).*\n\nScheduleBot is a bot that manages events, such as a practice game with your team, or a league\ninhouse, or a tournament match.\n\n## Features\n\n* **Dota inhouses**: the Dota version makes it easy to create inhouses, as you can link an event \nto an inhouse. A Dota bot will automatically create a lobby and invite every player who have \nconfirmed their attendance.\n* **Time zone handling**: ScheduleBot manages timezons for you. If there are European and\nAmerican people on your team, if an European creates an event, Americans will be able to convert\nit to their timezone with the `convert` command.\n* **Confirm and reject handling**: ScheduleBot allows users to confirm or deny their attendance\nto an event, so you can see who and how many people are you gonna play with. ScheduleBot can also\n limit how many people can attend an event.\n* **Admin commands**: ScheduleBot allows elevated privilege commands with `schedulebot-admin`.\nAdmins can perform actions such as removing events, or blacklisting an user to prevent them to\nuse the bot.\n* **Linking an event to a role**: ScheduleBot allows events to be linked to a role, so that\nmembers of that role can be notified when they are required to confirm or deny attendance to an\nevent.\n\n## Installation\n\nThere are two ways to run ScheduleBot. You can **deploy it to Heroku** or **install it in your\nmachine locally**.\n\nIf you want to host ScheduleBot locally, you'll need to have your computer on 24/7 (provided you\nneed the bot running 24/7), and you'll need to install a few programs.\n\nIf you want to deploy it to Heroku, you'll need a [Heroku](https://www.heroku.com/home) account. You\ndon't need to spend any money, since their free plan is good enough. However you'll need to verify\nyour account with your credit card to have the bot running 24/7 (unverified accounts get 450 hours\nper month of uptime, which is not enough to cover a full month. Verified accounts get 1000 hours,\nwhich is enough). As long as you don't enable any paid service you won't get charged anything.\n\n### Deploying to Heroku\n\nIn order to deploy the bot to Heroku, simply click on the following button:\n\n[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/MeLlamoPablo/schedulebot/tree/dota)\n\nYou'll be asked to log in or sign up. Then you'll be asked to choose an app name, and a server.\nAfter that, you may press `Deploy`.\n\n![Explanation Image 1](https://raw.githubusercontent.com/MeLlamoPablo/schedulebot/dota/resources/heroku-1.png)\n\nAfter you see the message `Your app was successfully deployed`, you can click `View` to enter the\nSetup page.\n\n![Explanation Image 2](https://raw.githubusercontent.com/MeLlamoPablo/schedulebot/dota/resources/heroku-2.png)\n\nFollow the instructions in that page and you'll have your bot up and running soon.\n\nIf you encountered any problems, you should check the app logs. In order to get there, click `Manage\n App`, and in that panel, go to the right corner, click on `More`, and then `View logs`:\n \n![Explanation Image 2](https://raw.githubusercontent.com/MeLlamoPablo/schedulebot/dota/resources/heroku-3.png)\n\n### Local installation\n\nTo run ScheduleBot locally, you will need:\n\n* [NodeJS](https://nodejs.org/en/download/) 6 or above.\n* [PostgreSQL](https://www.postgresql.org/download/).\n\t* You'll need to create an empty database for ScheduleBot.\n* [git](https://git-scm.com/downloads), so you can easily clone this repo.\n\nStart by cloning this repo, and then install the dependencies. In a command line (if you're on\nWindows and have no idea what that means, open the `Git Bash` program that was installed with git),\ndo:\n\n```sh\n$ git clone https://github.com/MeLlamoPablo/schedulebot.git\n$ cd schedulebot\n$ npm install\n```\n\nNow make sure that postgres is running and launch the setup server by doing:\n\n```sh\n$ npm run setup\n```\n\nEnter your database settings. When asked if you want to connect over SSL, unless you have configured\nyour postgres server to use it, you should say no. Then visit the setup site at\n[http://localhost:3000](http://localhost:3000). Follow the instructions in there.\n\n**Note**: an `.ENV` file containing your database settings will be created at your bot's directory.\nDo not delete it, as it's needed by the bot to work.\n\nOnce you click the `Deploy Bot` button, you can run then your bot with:\n\n```sh\n$ npm run bot\n```\n\n## Usage guide\n\nAfter installing your bot, you might want to check out the\n[usage guide](https://github.com/MeLlamoPablo/schedulebot/blob/dota/usage/usage-guide.md).\n\n## Updating\n\nUpdating your bot is easy. If you're on Heroku, run the `schedulebot-admin config-mode` command and\nenter the Setup site. You'll be prompted to update if there are new versions. That's all you need to\ndo.\n\nIf you're not running on Heroku, you need to manually shut down the bot and launch the setup server\nwith `npm run bot`. Then, you'll be prompted to update on the Setup site as well. Except that will\nonly update your database, so you'll need to manually update your bot. This is easy thanks to git:\n\n```sh\n$ git pull\n```\n\nYou're now ready to run your bot again.\n\n## Changelog\n\nThe change log can be found at the [releases section](https://github.com/MeLlamoPablo/schedulebot/releases).\n\n## License\n\nApache-2.0 © [Pablo Rodríguez](https://github.com/MeLlamoPablo)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMeLlamoPablo%2Fschedulebot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FMeLlamoPablo%2Fschedulebot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMeLlamoPablo%2Fschedulebot/lists"}