Code Monkey home page Code Monkey logo

bosta's People

Contributors

aymanfarhat avatar dependabot[bot] avatar joehakimrahme avatar link- avatar omaraboumrad avatar phr34ck avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bosta's Issues

Integrate wolframalpha's API into Bosta

The Wolfram|Alpha Webservice API provides a web-based API allowing the computational and presentation capabilities of Wolfram|Alpha to be integrated into web, mobile, desktop, and enterprise applications.

The idea is to create a new Bosta command to tap into WA's offering:

@bosta wa `pi to 1000 digits`
@bosta wa `first 50 prime numbers`
@bosta wa `cos(100) + sin(10)`

Output the results received.

Negative karma abuse countermeasures

Proposal

As expected negative karma has proven to be a feature that requires more delicate care beyond the basic implementation. As such, I'm proposing the implementation of the following abuse countermeasures:

  1. Limiting the use of the -[1-5] @username command to a certain configurable number per hour
  2. Preventing users with negative karma of using the karma commands at all as a penalty
  3. Notifying a user he/she received negative karma via a private message (debatable)
  4. Making the penalty karma for negative points an increasing range instead of a fixed value of -2 such that [-1, -2, -3, -4, -5] maps to the requester loosing [-2, -3, -4, -5, -6].

Proposal Discussion Period

This proposal is to be discussed here for the duration of 1 week from the posting date, so that we can roll out the feature the soonest possible. After that we will roll out the common denominator.

Abuse scenarios

Scenario 1: A user not caring about his/her own karma dropping below 0 could destroy the karma of another user for whatever reason and in stealth mode by sending karma commands to Bosta in DMs or in a non active channel.

Scenario 2: A user abusing negative karma to resolve a personal vendetta or in the anger spurring in a particular moment / heated debate.

Voting

Just so that we don't re-iterate the same ideas over and over again, please just upvote the ones you wish to see in production.

Add a "request more info" for invite admin alerts

Would be cool if we were able to automate the process related to requesting more info about the invitee's profile from the inviting member through the invite alert message.

This could be triggered by having an additional button that we could call "Request more info". Example:

mock

Suggested workflow:

  1. Admin sees the invite alert on the admin channel and decides to request more info, Request info button is clicked.

  2. Inviting slack member gets sent a template message by Bosta prompting the member to provide more information about the invitee. In the message Bosta mentions which admin requested to know more info about the invitee and asks the member to reach out to that admin with the information.

If we could detect which admin clicked on the request info button, then sending and mentioning who to reach out to would be pretty straightforward. My only concern is in case multiple admins click on that button multiple times, it would result in many DMs to the user. Which means, we will need to do a limit or delay between each message per member to prevent spamming. (Probably could be tracked in an in memmory DB like redis easily)

Karma tracking.

I'd like to start an open discussion about a feature I've wanted to implement (the original idea was a standalone bot); karma tracking.

The purpose is to keep track of all those +1/+5 karma points that we "give" whenever someone says something smart, funny, etc. The purpose of that purpose is having fun and not building a well thought out system that cares about correctness or covering every single use case.

Here's what I thought of so far:

  • The bot can detect when karma is being given (regardless of how it's being detected: it could be message parsing looking for a specific pattern, it could be emoticon).

  • It will save that info in a format like: oday +5 ali on datetime. It could be anything really.

  • An optional parameter can be supplied; message_id. I believe it's important to know why someone got 100 karma. It could be a hilarious pun or an existential statement.

Example scenario:

Oday: Ali is a great guy

Ali: +5 oday

bosta added +5 to oday's karma. I could give bosta more info: @bosta add .

The bot can be queried to know the karma-o-meter for any user.

Let's kickstart the discussion with:

  1. Do we care about this feature at all? I personally want to have it to keep track of karma points that I always give (yeah, it's important. Why? fun thing to do.) I believe some mena-devs would love to have this feature as well (judging by yesterday's response).

  2. List of features (first release and beyond).

Add `feature-on-twitter` capability

As an admin Slack user, I want to flag a link, text or image, using a Twitter custom emoticon, on any Slack channel to be featured on MENAdevs' Twitter account.
Bosta detects the flagged resource and uploads it to Tilde platform via API.

Develop an event calendar plugin

Idea still rough, but the gist of it is that Bosta stores and sends reminders about upcoming events of interest to the community.

<@bosta> Sunday 1/7/2017 - Code jam
<@bosta> Sunday 5/8/2017 - build night
...

Data collection / statistics module

An important feature for Bosta is to collect chat statistics that Slack isn't allowing us to access. This list of items to monitor can be expanded here, starting with:

  1. Number of messages sent by a person
  2. Most frequent word used by the group
  3. Activity per time of day and per day of the week
  4. etc.

Wolfram|Alpha Integration Verbosity

Princess complained about the verbosity of Bosta's W|A answers. In order to fix this issue, there will be 2 commands as follows:

Less Verbose (Default):

@bosta wa `query`

Expanded Output:

@bosta wav `query`

admin plugin

Add an admin plugin that provides users with the ability to:

  • Reboot the bot
  • Reload a specific plugin
  • Pull changes / update
  • Execute shell commands / scripts

Feature: Bosta as a game moderator

I think it will be a cool idea to introduce games to bosta, so he will act as a game moderator.
in the early 2000s I remember on IRC there was a game managed by a bot called "word scrabble (or scramble?)"

the game's concept is simple yet it was really fun, and here's how it can be implemented:

  • bosta scramble a word e.g computer => ctoepmur
  • members must guess the word (maybe a hint can be provided?)
  • the 1st member who guess the word will 'win' the round (score can be calculated based on time,difficulty,etc..)

many games can be introduced later (questions/answers, puzzles?,...), and if the idea took off and to avoid 'spamming' #general we can introduce channels for each game.

just a suggestion, and I thought to post it here.

Add `Bookmark` resource feature

As a Slack user, I want to flag a link, text or image, using a bookmark custom emoticon, on any Slack channel to save to my profile on menadevs.com.
Bosta detects the bookmarked resource and uploads its content to Tilde platform via API.

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.