{"id":22403008,"url":"https://github.com/mose/hubot-meetbot","last_synced_at":"2026-07-18T15:35:41.233Z","repository":{"id":57269102,"uuid":"115381556","full_name":"mose/hubot-meetbot","owner":"mose","description":"A hubot plugin to manage meetings, clone of debian meetbot.","archived":false,"fork":false,"pushed_at":"2018-02-14T07:12:59.000Z","size":81,"stargazers_count":0,"open_issues_count":2,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-05-05T09:36:20.624Z","etag":null,"topics":["hubot","hubot-script"],"latest_commit_sha":null,"homepage":null,"language":"CoffeeScript","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/mose.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-12-26T03:21:40.000Z","updated_at":"2020-07-10T03:43:01.000Z","dependencies_parsed_at":"2022-09-02T02:50:36.608Z","dependency_job_id":null,"html_url":"https://github.com/mose/hubot-meetbot","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/mose/hubot-meetbot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mose%2Fhubot-meetbot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mose%2Fhubot-meetbot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mose%2Fhubot-meetbot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mose%2Fhubot-meetbot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mose","download_url":"https://codeload.github.com/mose/hubot-meetbot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mose%2Fhubot-meetbot/sbom","scorecard":{"id":660770,"data":{"date":"2025-08-11","repo":{"name":"github.com/mose/hubot-meetbot","commit":"72c4d6663d40a9ade46aabad9f57988929b39701"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3,"checks":[{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}}]},"last_synced_at":"2025-08-21T16:08:42.687Z","repository_id":57269102,"created_at":"2025-08-21T16:08:42.687Z","updated_at":"2025-08-21T16:08:42.687Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35622753,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-18T02:00:07.223Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["hubot","hubot-script"],"created_at":"2024-12-05T09:15:51.559Z","updated_at":"2026-07-18T15:35:41.193Z","avatar_url":"https://github.com/mose.png","language":"CoffeeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"Hubot Meetbot Plugin\n=================================\n\n[![Version](https://img.shields.io/npm/v/hubot-meetbot.svg)](https://www.npmjs.com/package/hubot-meetbot)\n[![Downloads](https://img.shields.io/npm/dt/hubot-meetbot.svg)](https://www.npmjs.com/package/hubot-meetbot)\n[![Build Status](https://img.shields.io/travis/mose/hubot-meetbot.svg)](https://travis-ci.org/mose/hubot-meetbot)\n[![Dependency Status](https://gemnasium.com/mose/hubot-meetbot.svg)](https://gemnasium.com/mose/hubot-meetbot)\n[![Coverage Status](https://coveralls.io/repos/github/mose/hubot-meetbot/badge.svg?branch=master)](https://coveralls.io/github/mose/hubot-meetbot?branch=master)\n[![NPM](https://nodei.co/npm/hubot-meetbot.png?downloads=true\u0026downloadRank=true\u0026stars=true)](https://nodei.co/npm/hubot-meetbot/)\n\nThis plugin is a clone of the famous Debian Meetbot https://wiki.debian.org/MeetBot, for use of teams on slack.\n\n\nInstallation\n--------------\nIn your hubot directory:    \n\n    npm install hubot-meetbot --save\n\nThen add `hubot-meetbot` to `external-scripts.json`\n\n\nConfiguration\n-----------------\n\nIf you use [hubot-auth](https://github.com/hubot-scripts/hubot-auth), the plugin configuration commands will be restricted to user with the `admin` role. \n\nIf hubot-auth is not loaded, all users can access those commands. You can use those variables to tune things up a bit.\n\n- `MEETBOT_NOAUTH` - if defined, it will bypass the need to be admin to use the meetbot admin commands\n- `MEETBOT_AUTH_GROUP` - if defined it will permit group specified to use the meetbot admin commands\n- `MEETBOT_TZ` - will be used for displaying the output times and dates according to the timezone. If not set, it will use UTC.\n\nIt's also advised to use a brain persistence plugin, whatever it is, to persist ongoing meeting sessions between restarts.\n\nGiltab storage\n-------------------\n\nWhen meeting is over and closed, the minutes will be emitted as a `meetbot.notes` event. For my immediate needs I have added a gitlab process to create a MR with the minutes in there, but later on other processors could be added (github, etherpad, mail, etc). In order for the processor to be functional, those 3 env variables have to be set:\n\n- `MEETBOT_GITLAB_URL` (required)\n- `MEETBOT_GITLAB_APIKEY` (required)\n- `MEETBOT_GITLAB_REPO` (required)\n- `MEETBOT_GITLAB_BRANCH` (optional) default is `master`\n- `MEETBOT_GITLAB_DATEFORMAT` (optional) default is `YYYY-MM-DD`\n- `MEETBOT_GITLAB_FILEPATH` (optional) default is `minutes/%s-%s.md`, the 2 arguments are `MEETBOT_GITLAB_DATEFORMAT` and meeting label\n\nNote: the code is only going to work with the API v4 of gitlab, so Gitlab version needs to be \u003e 9.0\n\nCommands\n--------------\n\nThe commands are loosely inspired from http://meetbot.debian.net/Manual.html\n\nCommands prefixed by `.` are here taking in account we use the `.` as hubot prefix, just replace it with your prefix if it is different.\n\n    .meet\n        give the name of the ongoing meeting on the given channel\n        or warns that there is no ongoing meeting at the moment\n\n    .meet start [\u003clabel\u003e]\n    .meet on [\u003clabel\u003e]\n    .startmeeting [\u003clabel\u003e]\n        starts a meeting with given \u003clabel\u003e name\n        if no label is provided, it will be named after the hour of start of the meeting\n        perms: admin only\n\n    .meet end\n    .meet close\n    .meet off\n    .endmeeting\n        closes a meeting\n        An event meetbot.notes will be triggered at the end of the meeting, \n        so you can code whatever you want to do with the meeting notes in your custom bot\n        perms: admin only\n\n    .meet topic \u003ctopic\u003e\n        Sets the topic for the meeting\n        perms: admin only\n\n    .meet agree info\u003ctext\u003e\n    .agreed \u003ctext\u003e\n    .agree \u003ctext\u003e\n        Mark something as agreed on. The rest of the line is the details\n\n    .meet info info\u003ctext\u003e\n    .info \u003ctext\u003e\n        Add an INFO item to the minutes\n\n    .meet action \u003ctext\u003e\n    .action \u003ctext\u003e\n        Add an ACTION item to the minutes\n\n    .meet link \u003ctext\u003e\n    .link \u003ctext\u003e\n        Add an LINK item to the minutes\n\n    .meet show\n        Displays the minutes without closing the meeting.\n        Mostly for debug purposes.\n\n\nTesting\n----------------\n\n    npm install\n\n    # will run make test and coffeelint\n    npm test \n    \n    # or\n    make test\n    \n    # or, for watch-mode\n    make test-w\n\n    # or for more documentation-style output\n    make test-spec\n\n    # and to generate coverage\n    make test-cov\n\n    # and to run the lint\n    make lint\n\n    # run the lint and the coverage\n    make\n\nChangelog\n---------------\nAll changes are listed in the [CHANGELOG](CHANGELOG.md)\n\nAuthors\n------------\n- [@mose](https://github.com/mose) - author and maintainer\n\nLicense\n-------------\nThis source code is available under [MIT license](LICENSE).\n\nCopyright\n-------------\nCopyright (c) 2017 - Mose - http://mose.com\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmose%2Fhubot-meetbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmose%2Fhubot-meetbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmose%2Fhubot-meetbot/lists"}