Git Product home page Git Product logo

hsbot's People

Contributors

ajepst avatar allenpiscitello avatar bardoloi avatar bforrest avatar bptillman avatar bpugh avatar cedricyao avatar chrismissal avatar davidsavagejr avatar erin-knight avatar erinknight242 avatar garoyeri avatar gbheadspring avatar heebner avatar jbogard avatar malagari avatar seanbiefeld avatar strykerninja avatar timgthomas avatar waynedenier avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hsbot's Issues

Limit hsbot responses to major rooms

Rather than removing the scripts that talk back after hearing a specific keyword, we're going to limit them to specific 'big' rooms.

Environment variables will need to be added for each room, and the following scripts will need to handle responding to ONLY those rooms:

  • beer.coffee
  • bttf.coffee
  • deran.coffee
  • macs.coffee
  • simmer.coffee
  • twins.coffee

Improve ease of local development

After switching the brain to Azure storage, local dev becomes a bit more annoying since those required keys will bomb the process.

Move env variable declarations outside of bash script

In the move from Heroku to Azure, there is no way to specify environment variables on the Linux VM hsbot is hosted on via the Web UI (unlike Heroku), so for now we have declared those variables in the bash script that gets run on the VM to run/restart hsbot.

We should move these out of that bash script and into something like Vault, Azure KeyVault, or something similar.

Update URL used for traffic script

Google changed the maps URL scheme, so update this to work.

Optionally, see if there is a google maps api we could hook into instead for this to return the image of the traffic map instead of a link to the Google Maps page, this way Hipchat will render the image.

Cleanup Readme

We should update it to more match our current setup, since it mentions things we don't do anymore like utilize the Redis brain (using Azure Storage instead) and deploying to Heroku (deployed to Azure Web App instead)

Confme.coffee does not work

The command 'hsbot conf rooms Austin' previously pulled up all information around the Austin conference rooms. It used an XML file on Azure to store the information.

The script needs to be updated to make use of Azure's blob storage, or needs to be removed.

Lunch Me not working

The lunch me script is returning a 404. We can either fix the script or replace it with something that already exists.

Note: If changed, get a new API key and store it in an ENV variable.

Logging improvements

Understand how the logging works in Azure, so that we can look back to see what caused a crash. Log streaming works, but only if you have it running and can reproduce the issue. For phantom crashes, we are in the dark right now. It looks like we have logging turned on, but the existing logs are back from 2017, which may have been a previous configuration.

hubot lunch me should allow users to store new location names in the brain

Script should provide a new command for users to set a location with name (eg. austin = '123 our address, Austin, TX 78759'). These locations will be stored in the hubot brain.

Lunch me command should be reworked so users can specific a location as well as search terms. Good format may be [hubot lunch me around austin tacos] but whatever works.

Update lunchme script oauth for Yelp

Currently if you try to run "lunch me" it gets an oauth error. Determine what the appropriate method is to authenticate with the current Yelp API, and update our lunchme script to use that configuration.

Find a better way to handle "approved" list of rooms for always listening scripts

For some scripts, we only want them to listen/respond in specific rooms, so we should try to come up with a better way to handle this.

You can see in the beer.coffee script how we pull a list of rooms from the env variables and then only if we are in those rooms, respond. If we ever add another room that's approved, we need to update each script to add it in manually, which can be tedious.

Duplicate Messages/Responses

Some scripts are duplicating responses:

  • echo
  • help
  • image/animate/youtube
  • map me
  • mustache
  • ping
  • pug me
  • pug bomb
  • the rules
  • random memory
  • tables

Emoji shouldn't Trigger on this stack trace

[Wed Jul 08 2015 22:04:20 GMT+0000 (UTC)] ERROR TypeError: Cannot call method 'toLowerCase' of undefined
  at getEmployeeByName (/home/chris/dev/hsbot/scripts/nominations.coffee:118:34, <js>:162:53)
  at TextListener.callback (/home/chris/dev/hsbot/scripts/nominations.coffee:173:17, <js>:227:19)
  at TextListener.Listener.call (/home/chris/dev/hsbot/node_modules/hubot/src/listener.coffee:43:7, <js>:37:14)
  at Robot.receive (/home/chris/dev/hsbot/node_modules/hubot/src/robot.coffee:230:9, <js>:154:33)
  at HipChat.Adapter.receive (/home/chris/dev/hsbot/node_modules/hubot/src/adapter.coffee:66:5, <js>:47:25)
  at /home/chris/dev/hsbot/node_modules/hubot-hipchat/src/hipchat.coffee:190:11, <js>:237:26
  at invokeCallback (/home/chris/dev/hsbot/node_modules/hubot-hipchat/node_modules/rsvp/node/rsvp.js:161:15)
  at Object.<anonymous> (/home/chris/dev/hsbot/node_modules/hubot-hipchat/node_modules/rsvp/node/rsvp.js:193:9)
  at /home/chris/dev/hsbot/node_modules/hubot-hipchat/node_modules/rsvp/node/rsvp.js:13:16
  at process._tickCallback (node.js:448:13)

Make monopoly script more better

  • Update admin message to say "{player} account updated from ${oldBalance} to ${newBalance}
  • Handle both sides of a money transfer between players
  • Output in main room what new balance for player is after they gain/lose money
  • Figure out bug in ordering of messages where next player info shows first before other messages
  • Nice to have - display board image with player pieces to show where they are (look at Party Parrot as a Service to see how they handle image overlay)
  • Admin commands to manually update the complex brain variables
  • Bankruptcy (transfer to new owner, pay 10% for mortgages, sell back houses/hotels)
  • Bankrupt to the bank; auction off properties
  • sell get out of jail free cards
  • 10% for income tax (once money is tracked)
  • Free Parking?
  • Get list of what is unowned
  • When asking if someone wants to buy, say how much money they have at the time.
  • When displaying community chest / chance card info, put "Community Chest:"/"Chance:" before the message
  • Use custom hipchat emoji's for each team when displaying their names for status messages
  • Refactor out the "monopoly continue" command
  • Hide the weirdness of state/prompts when in resolveBankruptcy with admin commands (track who the bankruptee is to display that name)
  • When it changes to the turn of a person in jail, skip making them "roll" and just give the jail options immediately
  • display in the monopoly room when houses are bought/sold, properties mortgaged/unmortgaged
  • bug - adjust the number of houses in use when hotels are bought or sold correctly, and display the available number of houses and hotels on the status
  • incorrect - Chance/Community Chest cards should not be shuffled after the start of the game; they should return to the bottom of the deck after being played. Only the "get out of jail free" card may change its position, based on when it was used and returned to the bottom of the deck
  • Add Dean's "silent auction" format for contested houses
  • Add houses/hotels to the board visualization
  • Says "Built a house" when it should say "built a hotel"
  • Allow buying a house for a configurable price (could it remember that price for when its unbuilt later?)
  • bug - Pay each player/get paid by all doesn't work
  • track who just went bankrupt, to display in the room message to wait until "Name" resolves their bankruptcy
  • Bug - check for winner after bankruptcy declared

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.