Git Product home page Git Product logo

hirobot.app's Introduction

Hiro: A Slack App for Technical Communities

Hiro is a Slack app using Lucky and the slack.cr.

Currently, it is in beta use on the Ruby on Rails Slack Community and is providing tools to automate responses to posts, helping curate a better job board for the community.

Setting up the project

  1. Install required dependencies
  2. Update database settings in config/database.cr
  3. Run script/setup
  4. Optional: Install overmind or foreman as a process manager
  5. Optional: Run OVERMIND_PROCFILE="Procfile.dev" overmind s or foreman start -f Procfile.dev to start the app (note: since this app is running in production, you'll need to change settings to a new app to run the app locally against Slack)
  6. Run crystal spec to run tests
  7. Run bin/ameba to run automated code checks

Learning Lucky

Lucky uses the Crystal programming language. You can learn about Lucky from the Lucky Guides.

hirobot.app's People

Contributors

robcole avatar dependabot[bot] avatar

hirobot.app's Issues

Feature research: bot deleting posts as admin

Related to #2, there's no mute functionality on Slack on a global level, just muting notifications.

What theoretically could work is adding "Login with Slack" -- then having an admin login and pass the authorization token to the bot. This would allow for a "during X timeframe, delete all posts that are made in this thread, and post an ephemeral user to that message that conversation is paused or they are rate limited."

Here's what Slack's API says about message deletion:

This method deletes a message from a conversation.

When used with a user token, this method may only delete messages that user themselves can delete in Slack.

When used with a bot token, this method may delete only messages posted by that bot.

Since admins can delete any messages, this might work, but is a bit of a hack. @grepsedawk any thoughts?

Feature Request: Mutes, Timeouts, and Slowmode

A featureset of discord that is missing on slack, which appeal more to communities than teams:

Mute means they can lurk but not talk
Timeouts is "mute for x minutes" to allow for mod to handle heated discussions
slowmode is "1 post per x timeframe" for stuff like work offers

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.