{"id":28458113,"url":"https://github.com/jolicode/monologue","last_synced_at":"2025-07-02T05:31:46.784Z","repository":{"id":65758642,"uuid":"566754042","full_name":"jolicode/monologue","owner":"jolicode","description":"A bot to manage \"monologue\" rule in a Slack Channel","archived":false,"fork":false,"pushed_at":"2025-06-04T12:04:48.000Z","size":488,"stargazers_count":10,"open_issues_count":1,"forks_count":1,"subscribers_count":12,"default_branch":"main","last_synced_at":"2025-06-07T00:09:38.675Z","etag":null,"topics":["bot","php","slack","symfony"],"latest_commit_sha":null,"homepage":"","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/jolicode.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-11-16T10:54:20.000Z","updated_at":"2024-11-21T20:31:59.000Z","dependencies_parsed_at":"2024-10-25T11:22:07.662Z","dependency_job_id":"0d6e026d-871b-4595-b3d6-e67aac1143a4","html_url":"https://github.com/jolicode/monologue","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jolicode/monologue","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jolicode%2Fmonologue","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jolicode%2Fmonologue/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jolicode%2Fmonologue/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jolicode%2Fmonologue/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jolicode","download_url":"https://codeload.github.com/jolicode/monologue/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jolicode%2Fmonologue/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263081403,"owners_count":23410876,"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","php","slack","symfony"],"created_at":"2025-06-07T00:09:50.105Z","updated_at":"2025-07-02T05:31:46.772Z","avatar_url":"https://github.com/jolicode.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Monologue Bot\n\nAt [JoliCode](https://jolicode.com/) we use [Slack](https://slack.com/) to\ncommunicate. And to bring fun to our daily life, we created a *#monologue* channel\nwhere we can share our thoughts, our feelings, our dreams, our fears, our jokes,\nour memes, our pictures, our videos, our music, our links, our code, our life.\nBut we have a special rule in this channel.\n\n\u003e Only **one person can use this channel per day**. The others cannot: no\n\u003e message, no reaction, no changing the topic, no message deleting, no poll. The\n\u003e pledge is to offer breakfast 🍪🍩🥐.\n\nThis bot is here to help us to respect this rule. It will post a message in the\nchannel as soon as someone breaks the rule!\n\n![Monologue bot](https://jolicode.com/media/original/2022/monologue/monologue-1.jpg)\n![Monologue bot](https://jolicode.com/media/original/2022/monologue/monologue-2.jpg)\n\nIf you want to get more information, you can read the [announce of the release](https://jolicode.com/blog/we-are-open-sourcing-a-silly-slack-bot-guess-what-it-does).\n\n## Installation\n\n### Configure the Slack Application\n\nWe provide a app manifest to help you to create the Slack application. You can\nload the file in `doc/slack.yaml` when adding a new application in your\nworkspace. Don't forget to replace all callback URLs!\n\nOtherwise, you can follow the steps below:\n\n* In \"Basic Infirmation\"\n    * Copy the `Signin secret` to the `.env.local` file, `SLACK_SIGNING_SECRET`\n      key\n* Set permission on bot (in \"OAuth \u0026 Permissions\")\n    * `commands`\n    * `channels:history`\n    * `chat:write`\n* Invite the bot/apps in your channel\n* In \"Interactivity \u0026 Shortcuts\"\n    * Enable interactivity\n    * Add this URL: `https://example.com/action`\n* Slack command\n    * Command: `/monologue` (or whatever you like)\n        * Request URL: `https://example.com/command/list`\n        * Short Description: `List all debts`\n    * Command: `/amnesty` (or whatever you like)\n        * Request URL: `https://example.com/command/amnesty`\n        * Short Description: `Ask for a general amnesty`\n* Event Subscription\n    * Enable events\n    * URL: `https://example.com/message`\n    * Events:\n        * `message.channels`\n        * `reaction_added`\n* In \"Install App\":\n    * install the application\n    * Copy the `Bot User OAuth Token` to the `.env.local` file, `SLACK_TOKEN`\n      key\n* From somewhere (this information is always hard to find)\n    * Copy the channel ID (where you'll invite the bot) to the `.env.local`\n      file, `SLACK_CHANNEL` key\n\n### Install the PHP application\n\nThis project uses [castor](https://github.com/jolicode/castor) to manage common\ntasks. It's not mandatory but it's easier with it.\n\n    # configure remaining parameters in .env.local\n    castor start\n\n## Test\n\n    castor qa:all\n\n## Usage\n\nIn slack you have two commands\n\n* `/monologue` to list all the debts;\n* `/amnesty` to ask for a general amnesty.\n\n## Credits\n\nThanks JoliCode for sponsoring this project.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjolicode%2Fmonologue","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjolicode%2Fmonologue","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjolicode%2Fmonologue/lists"}