{"id":20924641,"url":"https://github.com/therealklanni/hubot-ingress","last_synced_at":"2025-06-21T04:42:45.822Z","repository":{"id":17238672,"uuid":"20007806","full_name":"therealklanni/hubot-ingress","owner":"therealklanni","description":"Ingress helper commands for Hubot","archived":false,"fork":false,"pushed_at":"2023-04-15T19:53:38.000Z","size":9876,"stargazers_count":12,"open_issues_count":11,"forks_count":44,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-05-13T16:37:58.111Z","etag":null,"topics":["badge","checkpoint-times","coffeescript","hubot","hubot-script","hubot-scripts","ingress","intel-map"],"latest_commit_sha":null,"homepage":"","language":"CoffeeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"ceteri/a41124835ed0","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/therealklanni.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"contributing.json","funding":"FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":"therealklanni","tidelift":null,"custom":null}},"created_at":"2014-05-21T04:28:24.000Z","updated_at":"2023-04-01T00:47:30.000Z","dependencies_parsed_at":"2023-01-11T20:26:11.728Z","dependency_job_id":null,"html_url":"https://github.com/therealklanni/hubot-ingress","commit_stats":null,"previous_names":[],"tags_count":40,"template":false,"template_full_name":null,"purl":"pkg:github/therealklanni/hubot-ingress","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/therealklanni%2Fhubot-ingress","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/therealklanni%2Fhubot-ingress/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/therealklanni%2Fhubot-ingress/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/therealklanni%2Fhubot-ingress/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/therealklanni","download_url":"https://codeload.github.com/therealklanni/hubot-ingress/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/therealklanni%2Fhubot-ingress/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261064626,"owners_count":23104729,"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":["badge","checkpoint-times","coffeescript","hubot","hubot-script","hubot-scripts","ingress","intel-map"],"created_at":"2024-11-18T20:24:07.356Z","updated_at":"2025-06-21T04:42:40.808Z","avatar_url":"https://github.com/therealklanni.png","language":"CoffeeScript","funding_links":["https://ko-fi.com/therealklanni"],"categories":[],"sub_categories":[],"readme":"# Ingress Hubot [![Build Status](https://travis-ci.org/hubot-scripts/hubot-ingress.svg?branch=master)](https://travis-ci.org/hubot-scripts/hubot-ingress)[![npm version](https://badge.fury.io/js/hubot-ingress.svg)](http://badge.fury.io/js/hubot-ingress)\n\n\u003e **Looking for maintainer(s)!** This project is still actively maintained, but I could use a hand. Create an issue asking to become a maintainer if you're interested.\n\nA collection of Ingress-related commands for Hubot. This script is designed\nspecifically for use with the Slack adapter.\n\n## Features\n\n* Report level requirements\n* List requirements for all levels\n* Store badge information for players\n* Calculate recharge rate and max distance for AP level\n* Calculate septicycle/checkpoint times\n* *much more to come...*\n\n## Installation\n\n`npm install hubot-ingress`\n\nThen add `\"hubot-ingress\"` to `external-scripts.json`\n\nGo to the custom emojis page of your Slack team. Upload each of the images from\nthe `badges/` subfolder, naming them the same as their filename (without the\nextension).\nThese emoji will be used by Hubot.\n\n## Configuration\n\n`HUBOT_GOOGLE_GEOCODE_KEY` - An optional Google Geocoding API key.\nIf configured, this will be used by the \"intelmap\" feature in order to\nconvert an address to a lat/long for the intelmap link. The intelmap link\ngenerator should function without this, but it may be needed if the\nintelmap generator begins returing no results at some point.\n\nA Geocoding API key can be obtained easily from the [Google Developer Console](https://console.developers.google.com).\nAt the time of this writing, 2,500 requests/day are provided for free.\nCreate a new project for your hubot in the developer console, unless you\nhave one already. Enable \"Geocoding API\" under \"_APIs_\" and then\ncreate a new key under \"_Credentials_\".\n\n`HUBOT_CYCLE_TIME_FMT` - Optionally ovveride the display format for times (see\nMoment-timezone.js). Default is \"ddd hA\" (e.g. \"Sun 10pm\")\n\n`HUBOT_CYCLE_TZ_NAME` - Optionally set the timezone name (e.g. 'America/Chicago';\nsee [TZ name list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) for names to use.).\nThis overrides `HUBOT_CYCLE_TZ_OFFSET` if both are set.\n\n`HUBOT_CYCLE_TZ_OFFSET` - Optionally set the timezone offset (e.g. '-05:00',\nsee [Moment.js](http://momentjs.com/docs/#/manipulating/timezone-offset/)).\nDefaults to the server instance's offset. This is used when\n`HUBOT_CYCLE_TZ_NAME` is not provided.\n\n### Slack\n\nIn order for the badge images to be seen on Slack, you must manually upload\neach one as an emoji with the appropriate name. Each image is conveniently\nnamed exactly how the emoji name should appear (leave off the .png of course).\n\nGo to \u003cyourslackdomain\u003e.slack.com/admin/emoji to configure emoji.\n\nNOTE: The following emojis have been renamed for consistency, and will automatically\nbe renamed for each user when hubot is started. However, you will need to manually upload\nthe new emojis (and remove the old ones) so that they look correct in Slack:\n\n* ada-1 -\u003e ada\n* ada-2 -\u003e ada-2016\n* aegis -\u003e aegis-nova\n* akira -\u003e akira-tsukasa\n* devra-1 -\u003e devra-bogdanovich\n* goruckstealh -\u003e goruck-stealth\n* goruckurban -\u003e goruck-urban\n* nl-1331-1 -\u003e nl-1331\n* nl-1331-2 -\u003e nl-1331-2016\n* oliver-lynton-wolfe-2 -\u003e oliver-lynton-wolfe-2016\n* p-a-chapeau-2 -\u003e p-a-chapeau-2016\n* susanna-moyer1 -\u003e susanna-moyer\n* susanna-moyer2 -\u003e susanna-moyer-2016\n\n## Commands\n\n### AP requirement\n\nReports the AP/badge requirements for the specified level.\n\n`hubot AP until L\u003clevel\u003e`\n\n### List levels\n\nShow the AP/badge requirements for every level.\n\n`hubot AP all`\n\n### Add badges\n\nBadges can be added one by one or multiples at a time, and can be added for\nother players. Badges that have levels end with a number representing that\nlevel (1=bronze, 2=silver, etc). When a badge is added that is the same as an\nexisting badge (hacker5 vs hacker1, for example), then the new badge will\nreplace the existing badge.\n\n`hubot I have the hacker3, founder badges`\n\n`hubot user1 has the recursion badge`\n\n### Remove badges\n\nBadges can be removed one by one.\n\n`hubot I don't have the hacker1 badge`\n\n### Get Intel map\n\nGives you a link to the Ingress Intel map based on Google Maps search.\n\n`hubot intelmap soho ny`\n\n### Calculate max recharge distance\n\nCalculate maximum distance from which an agent can recharge, based on agent\nlevel.\n\n`hubot recharge distance [level]`\n\n### Calculate recharge rate/percentage\n\nCalculate recharge efficiency for an agent, based on agent level and distance.\n\n`hubot recharge rate [level] [distance]`\n\nNote: The distance parameter defaults to km, but it can also convert imperial\nunits, e.g. `hubot recharge rate 11 450 miles`\n\n### Get Septicycle times\n\nCalculate the next septicycle start. Optionally provide a number X to get the\nnext X start times.\n\n`hubot septicycle|cycle [count]`\n\n### Get Checkpoint times\n\nCalculate the next checkpoint start. Optionally provide a number X to get the\nnext X start times.\n\n`hubot checkpoint|cp [count]`\n\n### Get Checkpoint times on a day\n\nCalculate the checkpoint times for a given day. Day given can be in common date formats (e.g. 5/17/14, May 4, 1999, 5 May 2016) and in English day names (e.g. Saturday, monday, this Thursday). Note that \"Thursday\", \"this Thursday\", and \"next Thursday\" all return the same data.\n\n`hubot checkpoints|cps on \u003cday\u003e`\n\n### Get Timezone Offset\n\nReturns the current configured timezone offset.\n\n`hubot cycle offset`\n\n### Set Timezone Offset\n\nTemporarily sets the timezone offset. See [Moment.js](http://momentjs.com/docs/#/manipulating/timezone-offset/) for how to configure this.\n\n`hubot cycle set offset [offset]`\n\n### Set Timezone Offset By Name\n\nTemporarily sets the timezone offset by name. See [TZ name list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) for names to use.\n\n`hubot cycle set offsetname [offset-name]`\n\n### Calculate MU score\n\nUsing the provided scores (from your scanner), calculates the difference currently needed to win the cycle.\n\n`hubot mind units needed [ours] [theirs]`\n`hubot mu needed [ours] [theirs]`\n`hubot mu [ours] [theirs]`\n\nMU scores can be absolute numbers or shortened by 1000 (both 42000 and 42k work).\n\n### Calculate MU average score\n\nUsing the provided scores (from your scanner), calculates the difference per cycle currently needed to win the cycle.\n\n`hubot mind units average [ours] [theirs]`\n`hubot mu average [ours] [theirs]`\n\nMU scores can be absolute numbers or shortened by 1000 (both 42000 and 42k work).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftherealklanni%2Fhubot-ingress","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftherealklanni%2Fhubot-ingress","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftherealklanni%2Fhubot-ingress/lists"}