GithubHelp home page GithubHelp logo

tomwagg / gerald Goto Github PK

View Code? Open in Web Editor NEW
3.0 3.0 0.0 13.87 MB

A Slack bot for the UW astrograds

Home Page: https://www.tomwagg.com/html/gerald.html

Python 100.00%
slack slack-api slack-bot

gerald's People

Contributors

tomwagg avatar

Stargazers

 avatar  avatar

Watchers

 avatar

gerald's Issues

Status Check

Have a command that makes sure Gerald hasn't died

Randomly announce quotes

  • Extract quotes from the channel
  • Store them in a file
  • Remember the last time you announced them
  • Randomly say one in random every now and then

Paper announcements don't work!

The arXiv date refers to the date it was submitted, not the date it is announced. We can work around this by doing a weekly summary instead.

Feature Request: Speaker dinners

I think we could get Gerald to do speaker dinners too. I'm imagining some new commands:

  • What are the upcoming speaker dinners?
  • I will host the speaker dinner on YYYY-MM-DD
    • Gerald would ask for confirmation

Gerald can then keep a CSV of all of the dinners and all of the hosts. He'll send out a reminder on the week of the dinner with the host and perhaps could also remind the channel if no one has signed up as host.

Account for paper submission and acceptance

It seems like Gerald will currently announce papers both when they are submitted and accepted. I need to make him tell the difference and announce differently. Probably something like "here's the new papers...and here's a list of papers that got accepted...".

I think just checking the publisher returned by ADS should do this.

Make #channel-name actually highlight

Just noticed that the whinetime message doesn't highlight the channel name. I mean you have to do something similar to @ ing someone.

Probably easiest to just look at an incoming message and copy the format, then use find_channel("whinetime") to insert the right ID.

Limit whinetime hosts and prevent double draws

  • Randomly generate a list of people to host whinetime in some order
    • And only add certain people to this list to avoid alums and remote folks
  • Still allow people to reject, swap them with the next person in the list
  • At the end of the list redraw and start all over again
  • Create a command for people to query when they are hosting whinetime
  • Send reminders two weeks in advance in a DM?

Feature request: smart emoji responses

This is just an idea, but I bet you could scrape all the slack messages and train a model that takes the text as input and then predicts/reacts with the appropriate emojis.

Feature request: Pizza automation

@jbirky suggested we could automate pizza in the same way as whinetime. I think I just need to make Gerald

  • Randomly select someone from the channel as host (two week schedule?)
    • (Allow re-rolls same as whinetime in case people are away)
    • Maybe a "no pizza lunch this week" button for holidays/summer
  • Once the person accepts...unsure, send them instructions on who to call and where to get it?

@jbirky, let me know what exactly you had in mind and I'll get Gerald on it!

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.