{"id":23382083,"url":"https://github.com/discodian/discodian","last_synced_at":"2025-04-10T23:52:29.936Z","repository":{"id":56969414,"uuid":"110743808","full_name":"discodian/discodian","owner":"discodian","description":"TEMPORARILY ON HOLD","archived":false,"fork":false,"pushed_at":"2017-12-31T14:05:20.000Z","size":56,"stargazers_count":11,"open_issues_count":9,"forks_count":2,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-10T23:52:23.761Z","etag":null,"topics":["discodian","discord","discord-bot","discord-bot-framework","discord-php"],"latest_commit_sha":null,"homepage":"http://discodian.com","language":"PHP","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/discodian.png","metadata":{"files":{"readme":"readme.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}},"created_at":"2017-11-14T20:56:53.000Z","updated_at":"2023-01-14T01:38:57.000Z","dependencies_parsed_at":"2022-08-21T06:40:28.232Z","dependency_job_id":null,"html_url":"https://github.com/discodian/discodian","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/discodian%2Fdiscodian","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/discodian%2Fdiscodian/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/discodian%2Fdiscodian/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/discodian%2Fdiscodian/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/discodian","download_url":"https://codeload.github.com/discodian/discodian/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248317705,"owners_count":21083528,"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":["discodian","discord","discord-bot","discord-bot-framework","discord-php"],"created_at":"2024-12-21T21:14:29.912Z","updated_at":"2025-04-10T23:52:29.918Z","avatar_url":"https://github.com/discodian.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\n[![Packagist](https://img.shields.io/packagist/v/discodian/discodian.svg)](https://packagist.org/packages/discodian/discodian)\n[![Packagist](https://img.shields.io/packagist/v/discodian/core.svg)](https://packagist.org/packages/discodian/core)\n[![Packagist](https://img.shields.io/packagist/dt/discodian/discodian.svg)](https://packagist.org/packages/discodian/discodian)\n[![Join our Discord server](https://discordapp.com/api/guilds/380697983102222345/embed.png)](https://discord.gg/erybZg6)\n\n# Discodian\n\n*Discodian (Discord Custodian), the extensible php toolkit to create your own Discord bot.*\n\n\u003e Please note [sharding is not yet supported](https://github.com/discodian/discodian/issues/2).\n\n## Requirements\n\n- PHP 7.1 or up.\n- Some knowledge about [composer](http://getcomposer.org).\n\n## Installation\n\n```bash\ncomposer create-project discodian/discodian\n```\n\n## Configuration\n\nMake sure to get a bot token from the [developer portal](https://discordapp.com/developers/applications/me).\n\n- New App.\n- Under section \"Bot\" click \"Create a Bot User\".\n- Under section \"Bot\" click \"click to reveal\" next to Token. This is the bot token.\n- Feel free to configure the bot to your liking.\n\nCopy `.env.example` to `.env` if it doesn't exist yet and add any necessary configuration settings.\n\n## Run\n\nFire up the bot using the following command:\n\n```bash\nphp discodian\n```\n\nPossibly you'd like to have your bot run in production permanently. The easiest way to do so is using\n[supervisor](http://supervisord.org/index.html). Here's an example config you can use (assuming your bot is installed in `/home/bot`:\n\n```conf\n[program:your-bot]\nprocess_name=%(program_name)s\ncommand=php /home/bot/discodian\nautostart=true\nautorestart=true\nuser=bot\nnumprocs=1\nredirect_stderr=true\nstdout_logfile=/home/bot/bot.log\n```\n\n## Extensions\n\nCreate a composer-based package and make sure you use type \"discodian-extension\" in the composer.json\ndefinition. Here's an excerpt to give an indication;\n\n```json\n{\n    \"name\": \"github-username/discodian-amazing-extension\",\n    \"description\": \"Kick ass awesome extension for Discodian\",\n    \"type\": \"discodian-extension\"\n}\n```\n\nIn the root path of your package create a file `bootstrap.php`, you can use this file to hook into\nthe Discodian ecosystem.\n\n```php\n\u003c?php\n\nuse Illuminate\\Contracts\\Events\\Dispatcher;\n\nreturn function (Dispatcher $events) {\n    $events-\u003elisten(x, function () {\n        \n    });\n};\n```\n\n### Developing the extension\n\nI recommend creating a `workbench` directory inside the project. For each extension you write\nyou can create a folder, eg `amazing-extension` which houses your extension composer.json file\nand the bootstrap.php file. \n\nUse [Studio](https://github.com/franzliedke/studio) while in the project directory to load\nthe extension. This generates a studio.json file. You can now install your extension from\nthe project directory using `composer require github-username/discodian-amazing-extension`. This\nwill generate a symlink from the vendor folder to your workbench.\n\n## Contributing\n\nWe adhere to the PSR standards. If you're interested in working on a Pull Request\nmake sure to open one early on, simply prefix it with \"WIP\" to indicate a \"Work\nin Progress\" version. This allows early guidance towards the best result and less\nwasted time on your and our behalf.\n\nIn case your contribution is merged into a package of Discodian, you grant Discodian\nfull permission to use your contribution without any need for attribution.\n\n## Credits\n\nPart of this library was copied from and inspired by the Team Reflex source copyrighted \nby David Cole. Although the license claim has been dropped for some files, attribution\nis provided via this readme. Thank you for the hard work, it is very much appreciated!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiscodian%2Fdiscodian","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdiscodian%2Fdiscodian","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiscodian%2Fdiscodian/lists"}