{"id":16873590,"url":"https://github.com/mikemimik/mumblebot","last_synced_at":"2025-04-05T11:42:48.147Z","repository":{"id":91309550,"uuid":"49051238","full_name":"mikemimik/mumblebot","owner":"mikemimik","description":"mumble bot","archived":false,"fork":false,"pushed_at":"2016-01-26T08:34:56.000Z","size":66,"stargazers_count":0,"open_issues_count":10,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-10T22:45:59.485Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mikemimik.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}},"created_at":"2016-01-05T08:02:32.000Z","updated_at":"2016-01-25T12:11:16.000Z","dependencies_parsed_at":"2023-04-20T16:46:54.013Z","dependency_job_id":null,"html_url":"https://github.com/mikemimik/mumblebot","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikemimik%2Fmumblebot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikemimik%2Fmumblebot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikemimik%2Fmumblebot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikemimik%2Fmumblebot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mikemimik","download_url":"https://codeload.github.com/mikemimik/mumblebot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247332525,"owners_count":20921852,"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":[],"created_at":"2024-10-13T15:21:28.134Z","updated_at":"2025-04-05T11:42:48.110Z","avatar_url":"https://github.com/mikemimik.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## EMITTED EVENTS\n\n### Default Event Format\n```javascript\n@param {String} event-id\n@param {CollinsError|Error} error\n@param {Collins} context\n\ncollins.on('event-id', (error, context) =\u003e {\n\n});\n```\n\n### Emitted Errors\n\n```javascript\n'use strict';\nconst Collins = require('collins');\nconst config = require('./config');\n\ncollins.on('error', (error, context) =\u003e {\n  /**\n   * @event error\n   * @param {CollinsError} error\n   * @param {Collins} context\n   */\n});\ncollins.init();\n```\n\n## PLUGINS\n\n```javascript\n\n/* created plugin */\n/* file exists inside the ./plugins directory */\n\n/**\n * @notes\n * - Triggers must start with a letter\n * - Triggers must be one word\n */\n// collins-plugin-name.js\n'use strict';\nmodule.exports = {\n  name: 'collins-plugin-name', /* plugin name */\n  triggers: {\n    'firstTrigger': function(context) {\n      console.log('\u003e\u003e firstTrigger \u003e\u003e');\n    },\n    'syncTrigger': function(context, done) {\n      console.log('this trigger is synchronous');\n      done(null);\n    },\n    'asyncTrigger': function(context, done) {\n      setTimeout(() =\u003e {\n        done(null);\n      }\n    }\n  }\n};\n\n\n// app.js\nconst Collins = require('collins');\nconst config = require('./config');\n\nconst myPlugin = require('./plugins/collins-plugin-name');\n\nlet collins = new Collins(config);\n\ncollins.use(myPlugin);\n\n```\n\n\n```javascript\n\n/* config file */\n/* add plugin into config file */\n\n// config.js\n'use strict';\nmodule.exports = {\n  server: 'mumble-uri',\n  username: 'collins',\n  password: 'mumble-password',\n  plugins: ['collins-plugin-name'],\n  ssl: {\n    key: 'path-to-key.pem',\n    cert: 'path-to-cert.pem'\n  },\n  debug: false\n};\n\n// app.js\nconst Collins = require('collins');\nconst config = require('./config');\n\nlet collins = new Collins(config);\n\ncollins.init();\n\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmikemimik%2Fmumblebot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmikemimik%2Fmumblebot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmikemimik%2Fmumblebot/lists"}