Giter Club home page Giter Club logo

owlbot's People

Contributors

ramanjitkhakh avatar samuelcouch avatar shua avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

owlbot's Issues

Setup hubot clone to achieve 100% uptime

Background

Since Heroku requires 6 hours of downtime for free plans, Owlbot sleeps from 11:59PM - 6AM (the 11:59pm isn't a hard number, but that's when keep-alive pings stop firing off, Heroku will idle and kill the process +/- 10 minutes after that. 6AM is when the wake up is absolutely fired off).

The idea would be to create a complete clone of owlbot that will live in a separate app entirely, but utilize the same redis datastore for complete persistence.

Possible solution

The main challenge here is making sure that both bots aren't awake at the same time as this will result in double messages being posted.

One way to achieve this would be to write a bash script that would kill Owlbot at a specific time, and startup the clone.

Hackathons Calendar/Signup

owlbot hackathon-cal add big red hacks add big red hacks to the list of hackathons that we are collectively attending [this should be a protected command]
owlbot hackathon-cal (list) All the hackathons that we are collectively attending
owlbot hackathon-cal attending big red hacks add the user to the attending list for big red hacks
owlbot hackathon-cal remove from big red hacks if a user can't make it anymore [should only allow an admin or the users themselves to call this]

  • Add hackathon to the calendar
    • Add details about the hackathon
    • Bus pickup time/location
      • Point person for said bus
  • Remove hackathon from the calendar
  • RSVP to hackathon
    • Change RSVP
  • Generate a CSV dump of names/emails (so we can follow up via email)
  • Slack reminder as well

[C@N] Demo Signup

owlbot demo <thing to demo> (next (code at night|c@n))
owlbot list demos

  • Allow users to schedule a demo at the next code at night
    • Maybe we also list all the code at nights and let them pick as well?
  • List what is being demoed on a given code at night
  • Would also be nice to be able to add members of who will be demoing
    • This would allow us to ping members to remind them

Fix welcome scheduling

To avoid spamming welcome messages when a single person joins chat, the idea solution is to have a queue that fires off welcome messages on a given interval. That's what this does

Although it's not firing every 10 minutes as expected, seems be going once per minute.

Remove unused survey code

I don't know how long since the doc with mentors has been updated, but the survey code doesn't seem relevant anymore (pm-setup.js, survey_results.js)

Bookmark

A tool that can store relevant links to things people frequently need/want.

Ex.
> owlbot store mlh.io/seasons/f2015/events hackathons, mlh will store the season schedule to both "hackathons" and "mlh"
> owlbot links (about|for) hackathons Would return the links tagged with "hackathons"

  • Add links
  • Delete links
  • Limit the number of links associated with a specific tag (to avoid spamming with 10+ links)
  • Query categories
  • Limit who can add/delete links

Event reminder

  • Create public calendar for TUDev events
  • Reminders
    • Weekly summary of events (Mondays?)
    • Day of reminder (1-2 hours before)

Build custom ++/--

  • Rate limiting
    • Daily limits on how many times a single item can be ++ or --
      • Maybe each user gets 10 (++ or -- each count as 1)
    • Limits on how many times a single person can ++/-- for any item
      • Before a users can ++/-- an item, they must ++/-- at least 5 other things first
    • Limits on how many times a single item can be ++ or -- in a row
      • Prevent chats from being spammed with up/down voting something
  • Blacklisting
    • A user should be able to be blacklisted by admins

Teams

  • Members
    • Associate users to a team
  • Project(s)
    • What are they working on currently?
    • What have the worked on in the past?
  • Slack Channel
    • Associate their team channel with the team

owlbot teams List all teams (by name?)
owlbot teams <team name> list the members of that team, their current project, and slack channel
owlbot teams <username> which team is user on?
owlbot teams add add a team with members

[welcome.js] Wait for user to come online before welcome message

The problem I've noticed is that creating a Slack account automatically throws you in to #general, but that doesn't necessarily mean that you're online and in the chat.

Right now we catch the robot.enter event (a user joins a channel) and push new users into the queue to welcome them at the next interval -- what would be best is push them into a queue and wait until the next time they come online and welcome them at that time (this could still be batched).

Requires finding a way to detect online status.

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.