Giter VIP home page Giter VIP logo

karmaboi's Introduction

KarmaBoi

KarmaBoi was originally a python project for developing a cloud native python app.

Visit the original defunct application if you like bad code!

It's now fully re-written in Golang, and features more features! Keep reading to see bad code in Golang!!1!

Requirements and installation:

Add a bot name and token as environment variables SLACK_BOT_NAME and SLACK_BOT_TOKEN.

KarmaBoi requires a Postgres Database. Currently it's hard coded to an elephantsql instance. So make sure you have that. Or fix/improve it.

Once you have those two things, just push the app to Cloud Foundry:

cf push

Basic Usage

You can give any user or name karma by adding '++' to the end of the word:

alt text

Subtracting karma is just as simple - simply add '--':

alt text

The bot uses user IDs, so if a user's display name changes, their karma will remain.

There's a timer to prevent vote spam - karma can't be added or subtracked during this time:

alt text

You can also give name shame. Be intentional - shame cannot be decreased, it stays for the life of the user!

alt text

You can see full leaderboards by messaging the bot and give it one of the following commands: rank (for highest karma leaderboard), !rank (for lowest karma leaderboard), or ~rank (for shame leaderboard):

alt text

The bot also has a memory feature - you can tag any word using the keyword "is also":

alt text

and display what is remembered with the "keyword + ?". If a keyword has multiple inputs, the bot will choose a random one to display:

alt text

Additional information

Submit an issue or for any questions. I welcome contributions via pull requests as well.

License

Released under MIT license, copyright 2018 Tyler Ramer

karmaboi's People

Contributors

tylarb avatar

Watchers

James Cloos avatar  avatar

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.