Repository files navigation

Logo

Makes people smileBuilt with love

Whats Heyburrito

Heyburrito is a slack reward system that allows slack team members to recognize and reward team members who have performed well. Reward your colleagues / friends by sending them a 🌯, each burrito is converted to points witch can be showed on a scoreboard. Heyburrito is like heytaco, but free and you host it yourself.

How does it work

Each burrito will increment the users "burrito" - points. And a rottenburrito will decrement "burrito" - points

Give away burrito to a colleague if they done something good. ...Or maybe a rottenburrito ( :rottenburrito: , emoji needed ) if they done something bad.. :)

Ping one or several of your colleagues and give away a burrito if they deserv it. Otherwise rottenburrito if not ...

Example:
This will increase chralps "burrito" - points by 3 @chralp :burrito::burrito::burrito: - awesome app!

This will decrease chralps "burrito" - points by 2 @chralp :rottenburrito::rottenburrito: - bad app...

This will increase chralps and fagges "burrito" - points by 2 ( each ) @chralp @fagge :burrito::burrito: - awesome app!

You can run heyburrito and disable rottenburrito by passing environment variables. By disabling decrement you can send rottenburritos but it will not decrement the users score.

In the default theme you will find filters to show diffrent leaderboards, burrito board and rottenburrito board. If env for disable decrement is passed the burrito board will not count rottenburritos. But you can see leaderboard for rottenburritos ( sent and received ).

You can also disable decrement emoji completely. This way you will not be able to send any decrement score.

Check environment variables section.

Requirments

  • slack ( of course )
  • node ( lts/erbium )

Get started

  1. Go to https://yourworkspace.slack.com/apps and search for Bots.
  2. Add Bots ( Connect a bot to the Slack Real Time Messaging API).
  3. Give the bot a name, ex: heyburrito, and obtain apiToken.
  4. Choose how to run it => See Docker or Node section .
  5. Invite the new bot to your slack channels ( where u want to be able to send burritos ).

Docker

  1. Open and edit docker-compose.yml.
  2. Set environment variables that you need / want. Check "Environment variables" for more details.
  3. docker-compose up -d.

( Dockerhub repo => https://hub.docker.com/r/chralp/heyburrito )

Node

  1. git clone git@github.com:chralp/heyburrito.git
  2. cd heyburrito
  3. npm install
  4. cp .env.example .env
  5. Set environment variables that you need / want. Check "Environment variables" for more details.
  6. npm run start

Environment Variables

ENV VariablesDefault ValueRequiredNote
BOT_NAMEYesSame botname as in Get started section
DATABASE_DRIVERfileNoSee database drivers section
DATABASE_PATHprojectRoot/data/NoOnly use if DATABASE_DRIVER is file and u want to change the path
MONGODB_URLYes*Only requierd if DATABASE_DRIVER is mongodb
MONGODB_DATABASEYes*Only requierd if DATABASE_DRIVER is mongodb
DATABASE_URIMONGODB_URL/MONGODB_DATABASENoOnly in use when DATABASE_DRIVER is mongodb
SLACK_API_TOKENYesSee Get started section
SLACK_EMOJI_INC🌯NoEmoji to increment points. ex:( 🌯 )
SLACK_EMOJI_DEC:rottenburrito:NoEmoji to decrement points. ex:( :rottenburrito: )
SLACK_DAILY_CAP5NoDefaults to 5/day .
SLACK_DAILY_DEC_CAP5Noseparate cap ONLY IF env ENABLE_DECREMENT is set to false.
DISABLE_EMOJI_DECfalseNoDisable rottenburrito completely, set true to disable
ENABLE_DECREMENTtrueNoEnable decrement of points, set false to disable
API_PATH/api/NoMust start and end with slash
WEB_PATH/heyburrito/NoServing html from .
HTTP_PORT3333NoFor API and website
WSS_PORT3334No
THEME_URLhttps://github.com/chralp/heyburrito-themeNoPass git url to theme
THEME_LATESTfalseNoDonwload latest from git repo on start
THEME_PATHNoPass local path to theme
LOG_LEVELprod = info, dev = debugNolevels = debug, log, warn

Database drivers

NameRecomendedNote
mongodbYes
fileYesCreates a fileDB under projectRoot/data/burrito-{ENV}.db
arrayNoUsed when testing, "memmoryDB"

Emojis

Rottenburrito and burrito emoji can be found under resources ( Burrito.png and Rottenburrito.png ). You can add the emojis in slack via the emoji toolbox => Add emoji. Its not possible to overwrite the standard burrito emoji in slack, so if you want to use heyburritos burrito emoji you can set a new name for it.

Note, set the ENV keys SLACK_EMOJI_INC and SLACK_EMOJI_DEC with the emojis that you want to use. If u want to use the standard burrito emoji and our burrito emoji you have to pass both emojis in SLACK_EMOJI_INC. ex: If you set our burrito with name :burre: . ENV SLACK_EMOJI_INC should look like this.

SLACK_EMOJI_INC :burrito:, :burre:

Theme

Defaults to heyburrito-theme. https://github.com/chralp/heyburrito-theme If you want link a theme from disk, check environment variables THEME_PATH .

Available third party themes

NameAuthorlink
cardi-burritotbleckerthttps://github.com/tbleckert/cardi-burrito

If you want your theme to be on the list, create a PR or issue!

API

Return object

{
"error": boolean,
"code": HTTP codes as number,
"message": String or null,
"data": Object or array
} 

Values

ParamValue
userIdslack userId
listTypeto / from
scoreTypeinc / dec

api/scoreboard

GET /api/scoreboard/<listType>/<scoreType> 

Example

GET /api/scoreboard/to/inc
{
"error": false,
"code": 200,
"message": "ok",
"data": [
{
"username": "USER3",
"name": "User3",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"score": 9
},
{
"username": "USER5",
"name": "User5",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"score": 7
}
]
}

api/userscore

GET /api/userscore/<userId>/<listType>/<scoreType> 

Example

GET /api/userscore/USER2/to/inc
{
"error": false,
"code": 200,
"message": "ok",
"data": {
"username": "USER2",
"name": "User2",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"score": 5,
"scoreType": "inc",
"listType": "to"
}
}

api/userstats

GET /api/userstats/<userId>

Example

GET /api/userstats/USER2
{
"error": false,
"code": 200,
"message": "ok",
"data": {
"user": {
"username": "USER2",
"name": "User2",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"receivedToday": 1,
"givenToday": 0,
"received": 2,
"given": 2
},
"given": [
{
"username": "USER8",
"name": "USER8",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"scoreinc": 1,
"scoredec": 0
},
{
"username": "USER9",
"name": "USER9",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"scoreinc": 0,
"scoredec": 1
}
],
"received": [
{
"username": "USER20",
"name": "USER20",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"scoreinc": 1,
"scoredec": 0
},
{
"username": "USER25",
"name": "USER25",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"scoreinc": 1,
"scoredec": 0
},
],
"givenToday": [],
"receivedToday": [
{
"username": "USER33",
"name": "USER33",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"scoreinc": 1,
"scoredec": 0
}
]
}
}

api/userstats/today

GET api/userstats/today/<userId>

Example

GET api/userstats/today/USER2
{
"error": false,
"code": 200,
"message": "ok",
"data": {
"givenToday": 0,
"receivedToday": 1
}
}

Scoreboard

Scoreboard is accessable via localhost or host on port 3333.

Showcase

From heyburrito-theme ( https://github.com/chralp/heyburrito-theme )

About

Slack application Heyduck!

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

Logo

Makes people smileBuilt with love

Whats Heyburrito

Heyburrito is a slack reward system that allows slack team members to recognize and reward team members who have performed well. Reward your colleagues / friends by sending them a 🌯, each burrito is converted to points witch can be showed on a scoreboard. Heyburrito is like heytaco, but free and you host it yourself.

How does it work

Each burrito will increment the users "burrito" - points. And a rottenburrito will decrement "burrito" - points

Give away burrito to a colleague if they done something good. ...Or maybe a rottenburrito ( :rottenburrito: , emoji needed ) if they done something bad.. :)

Ping one or several of your colleagues and give away a burrito if they deserv it. Otherwise rottenburrito if not ...

Example:
This will increase chralps "burrito" - points by 3 @chralp :burrito::burrito::burrito: - awesome app!

This will decrease chralps "burrito" - points by 2 @chralp :rottenburrito::rottenburrito: - bad app...

This will increase chralps and fagges "burrito" - points by 2 ( each ) @chralp @fagge :burrito::burrito: - awesome app!

You can run heyburrito and disable rottenburrito by passing environment variables. By disabling decrement you can send rottenburritos but it will not decrement the users score.

In the default theme you will find filters to show diffrent leaderboards, burrito board and rottenburrito board. If env for disable decrement is passed the burrito board will not count rottenburritos. But you can see leaderboard for rottenburritos ( sent and received ).

You can also disable decrement emoji completely. This way you will not be able to send any decrement score.

Check environment variables section.

Requirments

  • slack ( of course )
  • node ( lts/erbium )

Get started

  1. Go to https://yourworkspace.slack.com/apps and search for Bots.
  2. Add Bots ( Connect a bot to the Slack Real Time Messaging API).
  3. Give the bot a name, ex: heyburrito, and obtain apiToken.
  4. Choose how to run it => See Docker or Node section .
  5. Invite the new bot to your slack channels ( where u want to be able to send burritos ).

Docker

  1. Open and edit docker-compose.yml.
  2. Set environment variables that you need / want. Check "Environment variables" for more details.
  3. docker-compose up -d.

( Dockerhub repo => https://hub.docker.com/r/chralp/heyburrito )

Node

  1. git clone git@github.com:chralp/heyburrito.git
  2. cd heyburrito
  3. npm install
  4. cp .env.example .env
  5. Set environment variables that you need / want. Check "Environment variables" for more details.
  6. npm run start

Environment Variables

ENV VariablesDefault ValueRequiredNote
BOT_NAMEYesSame botname as in Get started section
DATABASE_DRIVERfileNoSee database drivers section
DATABASE_PATHprojectRoot/data/NoOnly use if DATABASE_DRIVER is file and u want to change the path
MONGODB_URLYes*Only requierd if DATABASE_DRIVER is mongodb
MONGODB_DATABASEYes*Only requierd if DATABASE_DRIVER is mongodb
DATABASE_URIMONGODB_URL/MONGODB_DATABASENoOnly in use when DATABASE_DRIVER is mongodb
SLACK_API_TOKENYesSee Get started section
SLACK_EMOJI_INC🌯NoEmoji to increment points. ex:( 🌯 )
SLACK_EMOJI_DEC:rottenburrito:NoEmoji to decrement points. ex:( :rottenburrito: )
SLACK_DAILY_CAP5NoDefaults to 5/day .
SLACK_DAILY_DEC_CAP5Noseparate cap ONLY IF env ENABLE_DECREMENT is set to false.
DISABLE_EMOJI_DECfalseNoDisable rottenburrito completely, set true to disable
ENABLE_DECREMENTtrueNoEnable decrement of points, set false to disable
API_PATH/api/NoMust start and end with slash
WEB_PATH/heyburrito/NoServing html from .
HTTP_PORT3333NoFor API and website
WSS_PORT3334No
THEME_URLhttps://github.com/chralp/heyburrito-themeNoPass git url to theme
THEME_LATESTfalseNoDonwload latest from git repo on start
THEME_PATHNoPass local path to theme
LOG_LEVELprod = info, dev = debugNolevels = debug, log, warn

Database drivers

NameRecomendedNote
mongodbYes
fileYesCreates a fileDB under projectRoot/data/burrito-{ENV}.db
arrayNoUsed when testing, "memmoryDB"

Emojis

Rottenburrito and burrito emoji can be found under resources ( Burrito.png and Rottenburrito.png ). You can add the emojis in slack via the emoji toolbox => Add emoji. Its not possible to overwrite the standard burrito emoji in slack, so if you want to use heyburritos burrito emoji you can set a new name for it.

Note, set the ENV keys SLACK_EMOJI_INC and SLACK_EMOJI_DEC with the emojis that you want to use. If u want to use the standard burrito emoji and our burrito emoji you have to pass both emojis in SLACK_EMOJI_INC. ex: If you set our burrito with name :burre: . ENV SLACK_EMOJI_INC should look like this.

SLACK_EMOJI_INC :burrito:, :burre:

Theme

Defaults to heyburrito-theme. https://github.com/chralp/heyburrito-theme If you want link a theme from disk, check environment variables THEME_PATH .

Available third party themes

NameAuthorlink
cardi-burritotbleckerthttps://github.com/tbleckert/cardi-burrito

If you want your theme to be on the list, create a PR or issue!

API

Return object

{
"error": boolean,
"code": HTTP codes as number,
"message": String or null,
"data": Object or array
} 

Values

ParamValue
userIdslack userId
listTypeto / from
scoreTypeinc / dec

api/scoreboard

GET /api/scoreboard/<listType>/<scoreType> 

Example

GET /api/scoreboard/to/inc
{
"error": false,
"code": 200,
"message": "ok",
"data": [
{
"username": "USER3",
"name": "User3",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"score": 9
},
{
"username": "USER5",
"name": "User5",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"score": 7
}
]
}

api/userscore

GET /api/userscore/<userId>/<listType>/<scoreType> 

Example

GET /api/userscore/USER2/to/inc
{
"error": false,
"code": 200,
"message": "ok",
"data": {
"username": "USER2",
"name": "User2",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"score": 5,
"scoreType": "inc",
"listType": "to"
}
}

api/userstats

GET /api/userstats/<userId>

Example

GET /api/userstats/USER2
{
"error": false,
"code": 200,
"message": "ok",
"data": {
"user": {
"username": "USER2",
"name": "User2",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"receivedToday": 1,
"givenToday": 0,
"received": 2,
"given": 2
},
"given": [
{
"username": "USER8",
"name": "USER8",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"scoreinc": 1,
"scoredec": 0
},
{
"username": "USER9",
"name": "USER9",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"scoreinc": 0,
"scoredec": 1
}
],
"received": [
{
"username": "USER20",
"name": "USER20",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"scoreinc": 1,
"scoredec": 0
},
{
"username": "USER25",
"name": "USER25",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"scoreinc": 1,
"scoredec": 0
},
],
"givenToday": [],
"receivedToday": [
{
"username": "USER33",
"name": "USER33",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"scoreinc": 1,
"scoredec": 0
}
]
}
}

api/userstats/today

GET api/userstats/today/<userId>

Example

GET api/userstats/today/USER2
{
"error": false,
"code": 200,
"message": "ok",
"data": {
"givenToday": 0,
"receivedToday": 1
}
}

Scoreboard

Scoreboard is accessable via localhost or host on port 3333.

Showcase

From heyburrito-theme ( https://github.com/chralp/heyburrito-theme )

About

Slack application Heyduck!

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Logo

Makes people smileBuilt with love

Whats Heyburrito

Heyburrito is a slack reward system that allows slack team members to recognize and reward team members who have performed well. Reward your colleagues / friends by sending them a 🌯, each burrito is converted to points witch can be showed on a scoreboard. Heyburrito is like heytaco, but free and you host it yourself.

How does it work

Each burrito will increment the users "burrito" - points. And a rottenburrito will decrement "burrito" - points

Give away burrito to a colleague if they done something good. ...Or maybe a rottenburrito ( :rottenburrito: , emoji needed ) if they done something bad.. :)

Ping one or several of your colleagues and give away a burrito if they deserv it. Otherwise rottenburrito if not ...

Example:
This will increase chralps "burrito" - points by 3 @chralp :burrito::burrito::burrito: - awesome app!

This will decrease chralps "burrito" - points by 2 @chralp :rottenburrito::rottenburrito: - bad app...

This will increase chralps and fagges "burrito" - points by 2 ( each ) @chralp @fagge :burrito::burrito: - awesome app!

You can run heyburrito and disable rottenburrito by passing environment variables. By disabling decrement you can send rottenburritos but it will not decrement the users score.

In the default theme you will find filters to show diffrent leaderboards, burrito board and rottenburrito board. If env for disable decrement is passed the burrito board will not count rottenburritos. But you can see leaderboard for rottenburritos ( sent and received ).

You can also disable decrement emoji completely. This way you will not be able to send any decrement score.

Check environment variables section.

Requirments

  • slack ( of course )
  • node ( lts/erbium )

Get started

  1. Go to https://yourworkspace.slack.com/apps and search for Bots.
  2. Add Bots ( Connect a bot to the Slack Real Time Messaging API).
  3. Give the bot a name, ex: heyburrito, and obtain apiToken.
  4. Choose how to run it => See Docker or Node section .
  5. Invite the new bot to your slack channels ( where u want to be able to send burritos ).

Docker

  1. Open and edit docker-compose.yml.
  2. Set environment variables that you need / want. Check "Environment variables" for more details.
  3. docker-compose up -d.

( Dockerhub repo => https://hub.docker.com/r/chralp/heyburrito )

Node

  1. git clone git@github.com:chralp/heyburrito.git
  2. cd heyburrito
  3. npm install
  4. cp .env.example .env
  5. Set environment variables that you need / want. Check "Environment variables" for more details.
  6. npm run start

Environment Variables

ENV VariablesDefault ValueRequiredNote
BOT_NAMEYesSame botname as in Get started section
DATABASE_DRIVERfileNoSee database drivers section
DATABASE_PATHprojectRoot/data/NoOnly use if DATABASE_DRIVER is file and u want to change the path
MONGODB_URLYes*Only requierd if DATABASE_DRIVER is mongodb
MONGODB_DATABASEYes*Only requierd if DATABASE_DRIVER is mongodb
DATABASE_URIMONGODB_URL/MONGODB_DATABASENoOnly in use when DATABASE_DRIVER is mongodb
SLACK_API_TOKENYesSee Get started section
SLACK_EMOJI_INC🌯NoEmoji to increment points. ex:( 🌯 )
SLACK_EMOJI_DEC:rottenburrito:NoEmoji to decrement points. ex:( :rottenburrito: )
SLACK_DAILY_CAP5NoDefaults to 5/day .
SLACK_DAILY_DEC_CAP5Noseparate cap ONLY IF env ENABLE_DECREMENT is set to false.
DISABLE_EMOJI_DECfalseNoDisable rottenburrito completely, set true to disable
ENABLE_DECREMENTtrueNoEnable decrement of points, set false to disable
API_PATH/api/NoMust start and end with slash
WEB_PATH/heyburrito/NoServing html from .
HTTP_PORT3333NoFor API and website
WSS_PORT3334No
THEME_URLhttps://github.com/chralp/heyburrito-themeNoPass git url to theme
THEME_LATESTfalseNoDonwload latest from git repo on start
THEME_PATHNoPass local path to theme
LOG_LEVELprod = info, dev = debugNolevels = debug, log, warn

Database drivers

NameRecomendedNote
mongodbYes
fileYesCreates a fileDB under projectRoot/data/burrito-{ENV}.db
arrayNoUsed when testing, "memmoryDB"

Emojis

Rottenburrito and burrito emoji can be found under resources ( Burrito.png and Rottenburrito.png ). You can add the emojis in slack via the emoji toolbox => Add emoji. Its not possible to overwrite the standard burrito emoji in slack, so if you want to use heyburritos burrito emoji you can set a new name for it.

Note, set the ENV keys SLACK_EMOJI_INC and SLACK_EMOJI_DEC with the emojis that you want to use. If u want to use the standard burrito emoji and our burrito emoji you have to pass both emojis in SLACK_EMOJI_INC. ex: If you set our burrito with name :burre: . ENV SLACK_EMOJI_INC should look like this.

SLACK_EMOJI_INC :burrito:, :burre:

Theme

Defaults to heyburrito-theme. https://github.com/chralp/heyburrito-theme If you want link a theme from disk, check environment variables THEME_PATH .

Available third party themes

NameAuthorlink
cardi-burritotbleckerthttps://github.com/tbleckert/cardi-burrito

If you want your theme to be on the list, create a PR or issue!

API

Return object

{
"error": boolean,
"code": HTTP codes as number,
"message": String or null,
"data": Object or array
} 

Values

ParamValue
userIdslack userId
listTypeto / from
scoreTypeinc / dec

api/scoreboard

GET /api/scoreboard/<listType>/<scoreType> 

Example

GET /api/scoreboard/to/inc
{
"error": false,
"code": 200,
"message": "ok",
"data": [
{
"username": "USER3",
"name": "User3",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"score": 9
},
{
"username": "USER5",
"name": "User5",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"score": 7
}
]
}

api/userscore

GET /api/userscore/<userId>/<listType>/<scoreType> 

Example

GET /api/userscore/USER2/to/inc
{
"error": false,
"code": 200,
"message": "ok",
"data": {
"username": "USER2",
"name": "User2",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"score": 5,
"scoreType": "inc",
"listType": "to"
}
}

api/userstats

GET /api/userstats/<userId>

Example

GET /api/userstats/USER2
{
"error": false,
"code": 200,
"message": "ok",
"data": {
"user": {
"username": "USER2",
"name": "User2",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"receivedToday": 1,
"givenToday": 0,
"received": 2,
"given": 2
},
"given": [
{
"username": "USER8",
"name": "USER8",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"scoreinc": 1,
"scoredec": 0
},
{
"username": "USER9",
"name": "USER9",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"scoreinc": 0,
"scoredec": 1
}
],
"received": [
{
"username": "USER20",
"name": "USER20",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"scoreinc": 1,
"scoredec": 0
},
{
"username": "USER25",
"name": "USER25",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"scoreinc": 1,
"scoredec": 0
},
],
"givenToday": [],
"receivedToday": [
{
"username": "USER33",
"name": "USER33",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"scoreinc": 1,
"scoredec": 0
}
]
}
}

api/userstats/today

GET api/userstats/today/<userId>

Example

GET api/userstats/today/USER2
{
"error": false,
"code": 200,
"message": "ok",
"data": {
"givenToday": 0,
"receivedToday": 1
}
}

Scoreboard

Scoreboard is accessable via localhost or host on port 3333.

Showcase

From heyburrito-theme ( https://github.com/chralp/heyburrito-theme )

About

Slack application Heyduck!

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Logo

Makes people smileBuilt with love

Whats Heyburrito

Heyburrito is a slack reward system that allows slack team members to recognize and reward team members who have performed well. Reward your colleagues / friends by sending them a 🌯, each burrito is converted to points witch can be showed on a scoreboard. Heyburrito is like heytaco, but free and you host it yourself.

How does it work

Each burrito will increment the users "burrito" - points. And a rottenburrito will decrement "burrito" - points

Give away burrito to a colleague if they done something good. ...Or maybe a rottenburrito ( :rottenburrito: , emoji needed ) if they done something bad.. :)

Ping one or several of your colleagues and give away a burrito if they deserv it. Otherwise rottenburrito if not ...

Example:
This will increase chralps "burrito" - points by 3 @chralp :burrito::burrito::burrito: - awesome app!

This will decrease chralps "burrito" - points by 2 @chralp :rottenburrito::rottenburrito: - bad app...

This will increase chralps and fagges "burrito" - points by 2 ( each ) @chralp @fagge :burrito::burrito: - awesome app!

You can run heyburrito and disable rottenburrito by passing environment variables. By disabling decrement you can send rottenburritos but it will not decrement the users score.

In the default theme you will find filters to show diffrent leaderboards, burrito board and rottenburrito board. If env for disable decrement is passed the burrito board will not count rottenburritos. But you can see leaderboard for rottenburritos ( sent and received ).

You can also disable decrement emoji completely. This way you will not be able to send any decrement score.

Check environment variables section.

Requirments

  • slack ( of course )
  • node ( lts/erbium )

Get started

  1. Go to https://yourworkspace.slack.com/apps and search for Bots.
  2. Add Bots ( Connect a bot to the Slack Real Time Messaging API).
  3. Give the bot a name, ex: heyburrito, and obtain apiToken.
  4. Choose how to run it => See Docker or Node section .
  5. Invite the new bot to your slack channels ( where u want to be able to send burritos ).

Docker

  1. Open and edit docker-compose.yml.
  2. Set environment variables that you need / want. Check "Environment variables" for more details.
  3. docker-compose up -d.

( Dockerhub repo => https://hub.docker.com/r/chralp/heyburrito )

Node

  1. git clone git@github.com:chralp/heyburrito.git
  2. cd heyburrito
  3. npm install
  4. cp .env.example .env
  5. Set environment variables that you need / want. Check "Environment variables" for more details.
  6. npm run start

Environment Variables

ENV VariablesDefault ValueRequiredNote
BOT_NAMEYesSame botname as in Get started section
DATABASE_DRIVERfileNoSee database drivers section
DATABASE_PATHprojectRoot/data/NoOnly use if DATABASE_DRIVER is file and u want to change the path
MONGODB_URLYes*Only requierd if DATABASE_DRIVER is mongodb
MONGODB_DATABASEYes*Only requierd if DATABASE_DRIVER is mongodb
DATABASE_URIMONGODB_URL/MONGODB_DATABASENoOnly in use when DATABASE_DRIVER is mongodb
SLACK_API_TOKENYesSee Get started section
SLACK_EMOJI_INC🌯NoEmoji to increment points. ex:( 🌯 )
SLACK_EMOJI_DEC:rottenburrito:NoEmoji to decrement points. ex:( :rottenburrito: )
SLACK_DAILY_CAP5NoDefaults to 5/day .
SLACK_DAILY_DEC_CAP5Noseparate cap ONLY IF env ENABLE_DECREMENT is set to false.
DISABLE_EMOJI_DECfalseNoDisable rottenburrito completely, set true to disable
ENABLE_DECREMENTtrueNoEnable decrement of points, set false to disable
API_PATH/api/NoMust start and end with slash
WEB_PATH/heyburrito/NoServing html from .
HTTP_PORT3333NoFor API and website
WSS_PORT3334No
THEME_URLhttps://github.com/chralp/heyburrito-themeNoPass git url to theme
THEME_LATESTfalseNoDonwload latest from git repo on start
THEME_PATHNoPass local path to theme
LOG_LEVELprod = info, dev = debugNolevels = debug, log, warn

Database drivers

NameRecomendedNote
mongodbYes
fileYesCreates a fileDB under projectRoot/data/burrito-{ENV}.db
arrayNoUsed when testing, "memmoryDB"

Emojis

Rottenburrito and burrito emoji can be found under resources ( Burrito.png and Rottenburrito.png ). You can add the emojis in slack via the emoji toolbox => Add emoji. Its not possible to overwrite the standard burrito emoji in slack, so if you want to use heyburritos burrito emoji you can set a new name for it.

Note, set the ENV keys SLACK_EMOJI_INC and SLACK_EMOJI_DEC with the emojis that you want to use. If u want to use the standard burrito emoji and our burrito emoji you have to pass both emojis in SLACK_EMOJI_INC. ex: If you set our burrito with name :burre: . ENV SLACK_EMOJI_INC should look like this.

SLACK_EMOJI_INC :burrito:, :burre:

Theme

Defaults to heyburrito-theme. https://github.com/chralp/heyburrito-theme If you want link a theme from disk, check environment variables THEME_PATH .

Available third party themes

NameAuthorlink
cardi-burritotbleckerthttps://github.com/tbleckert/cardi-burrito

If you want your theme to be on the list, create a PR or issue!

API

Return object

{
"error": boolean,
"code": HTTP codes as number,
"message": String or null,
"data": Object or array
} 

Values

ParamValue
userIdslack userId
listTypeto / from
scoreTypeinc / dec

api/scoreboard

GET /api/scoreboard/<listType>/<scoreType> 

Example

GET /api/scoreboard/to/inc
{
"error": false,
"code": 200,
"message": "ok",
"data": [
{
"username": "USER3",
"name": "User3",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"score": 9
},
{
"username": "USER5",
"name": "User5",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"score": 7
}
]
}

api/userscore

GET /api/userscore/<userId>/<listType>/<scoreType> 

Example

GET /api/userscore/USER2/to/inc
{
"error": false,
"code": 200,
"message": "ok",
"data": {
"username": "USER2",
"name": "User2",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"score": 5,
"scoreType": "inc",
"listType": "to"
}
}

api/userstats

GET /api/userstats/<userId>

Example

GET /api/userstats/USER2
{
"error": false,
"code": 200,
"message": "ok",
"data": {
"user": {
"username": "USER2",
"name": "User2",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"receivedToday": 1,
"givenToday": 0,
"received": 2,
"given": 2
},
"given": [
{
"username": "USER8",
"name": "USER8",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"scoreinc": 1,
"scoredec": 0
},
{
"username": "USER9",
"name": "USER9",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"scoreinc": 0,
"scoredec": 1
}
],
"received": [
{
"username": "USER20",
"name": "USER20",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"scoreinc": 1,
"scoredec": 0
},
{
"username": "USER25",
"name": "USER25",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"scoreinc": 1,
"scoredec": 0
},
],
"givenToday": [],
"receivedToday": [
{
"username": "USER33",
"name": "USER33",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"scoreinc": 1,
"scoredec": 0
}
]
}
}

api/userstats/today

GET api/userstats/today/<userId>

Example

GET api/userstats/today/USER2
{
"error": false,
"code": 200,
"message": "ok",
"data": {
"givenToday": 0,
"receivedToday": 1
}
}

Scoreboard

Scoreboard is accessable via localhost or host on port 3333.

Showcase

From heyburrito-theme ( https://github.com/chralp/heyburrito-theme )

About

Slack application Heyduck!

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

Logo

Makes people smileBuilt with love

Whats Heyburrito

Heyburrito is a slack reward system that allows slack team members to recognize and reward team members who have performed well. Reward your colleagues / friends by sending them a 🌯, each burrito is converted to points witch can be showed on a scoreboard. Heyburrito is like heytaco, but free and you host it yourself.

How does it work

Each burrito will increment the users "burrito" - points. And a rottenburrito will decrement "burrito" - points

Give away burrito to a colleague if they done something good. ...Or maybe a rottenburrito ( :rottenburrito: , emoji needed ) if they done something bad.. :)

Ping one or several of your colleagues and give away a burrito if they deserv it. Otherwise rottenburrito if not ...

Example:
This will increase chralps "burrito" - points by 3 @chralp :burrito::burrito::burrito: - awesome app!

This will decrease chralps "burrito" - points by 2 @chralp :rottenburrito::rottenburrito: - bad app...

This will increase chralps and fagges "burrito" - points by 2 ( each ) @chralp @fagge :burrito::burrito: - awesome app!

You can run heyburrito and disable rottenburrito by passing environment variables. By disabling decrement you can send rottenburritos but it will not decrement the users score.

In the default theme you will find filters to show diffrent leaderboards, burrito board and rottenburrito board. If env for disable decrement is passed the burrito board will not count rottenburritos. But you can see leaderboard for rottenburritos ( sent and received ).

You can also disable decrement emoji completely. This way you will not be able to send any decrement score.

Check environment variables section.

Requirments

  • slack ( of course )
  • node ( lts/erbium )

Get started

  1. Go to https://yourworkspace.slack.com/apps and search for Bots.
  2. Add Bots ( Connect a bot to the Slack Real Time Messaging API).
  3. Give the bot a name, ex: heyburrito, and obtain apiToken.
  4. Choose how to run it => See Docker or Node section .
  5. Invite the new bot to your slack channels ( where u want to be able to send burritos ).

Docker

  1. Open and edit docker-compose.yml.
  2. Set environment variables that you need / want. Check "Environment variables" for more details.
  3. docker-compose up -d.

( Dockerhub repo => https://hub.docker.com/r/chralp/heyburrito )

Node

  1. git clone git@github.com:chralp/heyburrito.git
  2. cd heyburrito
  3. npm install
  4. cp .env.example .env
  5. Set environment variables that you need / want. Check "Environment variables" for more details.
  6. npm run start

Environment Variables

ENV VariablesDefault ValueRequiredNote
BOT_NAMEYesSame botname as in Get started section
DATABASE_DRIVERfileNoSee database drivers section
DATABASE_PATHprojectRoot/data/NoOnly use if DATABASE_DRIVER is file and u want to change the path
MONGODB_URLYes*Only requierd if DATABASE_DRIVER is mongodb
MONGODB_DATABASEYes*Only requierd if DATABASE_DRIVER is mongodb
DATABASE_URIMONGODB_URL/MONGODB_DATABASENoOnly in use when DATABASE_DRIVER is mongodb
SLACK_API_TOKENYesSee Get started section
SLACK_EMOJI_INC🌯NoEmoji to increment points. ex:( 🌯 )
SLACK_EMOJI_DEC:rottenburrito:NoEmoji to decrement points. ex:( :rottenburrito: )
SLACK_DAILY_CAP5NoDefaults to 5/day .
SLACK_DAILY_DEC_CAP5Noseparate cap ONLY IF env ENABLE_DECREMENT is set to false.
DISABLE_EMOJI_DECfalseNoDisable rottenburrito completely, set true to disable
ENABLE_DECREMENTtrueNoEnable decrement of points, set false to disable
API_PATH/api/NoMust start and end with slash
WEB_PATH/heyburrito/NoServing html from .
HTTP_PORT3333NoFor API and website
WSS_PORT3334No
THEME_URLhttps://github.com/chralp/heyburrito-themeNoPass git url to theme
THEME_LATESTfalseNoDonwload latest from git repo on start
THEME_PATHNoPass local path to theme
LOG_LEVELprod = info, dev = debugNolevels = debug, log, warn

Database drivers

NameRecomendedNote
mongodbYes
fileYesCreates a fileDB under projectRoot/data/burrito-{ENV}.db
arrayNoUsed when testing, "memmoryDB"

Emojis

Rottenburrito and burrito emoji can be found under resources ( Burrito.png and Rottenburrito.png ). You can add the emojis in slack via the emoji toolbox => Add emoji. Its not possible to overwrite the standard burrito emoji in slack, so if you want to use heyburritos burrito emoji you can set a new name for it.

Note, set the ENV keys SLACK_EMOJI_INC and SLACK_EMOJI_DEC with the emojis that you want to use. If u want to use the standard burrito emoji and our burrito emoji you have to pass both emojis in SLACK_EMOJI_INC. ex: If you set our burrito with name :burre: . ENV SLACK_EMOJI_INC should look like this.

SLACK_EMOJI_INC :burrito:, :burre:

Theme

Defaults to heyburrito-theme. https://github.com/chralp/heyburrito-theme If you want link a theme from disk, check environment variables THEME_PATH .

Available third party themes

NameAuthorlink
cardi-burritotbleckerthttps://github.com/tbleckert/cardi-burrito

If you want your theme to be on the list, create a PR or issue!

API

Return object

{
"error": boolean,
"code": HTTP codes as number,
"message": String or null,
"data": Object or array
} 

Values

ParamValue
userIdslack userId
listTypeto / from
scoreTypeinc / dec

api/scoreboard

GET /api/scoreboard/<listType>/<scoreType> 

Example

GET /api/scoreboard/to/inc
{
"error": false,
"code": 200,
"message": "ok",
"data": [
{
"username": "USER3",
"name": "User3",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"score": 9
},
{
"username": "USER5",
"name": "User5",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"score": 7
}
]
}

api/userscore

GET /api/userscore/<userId>/<listType>/<scoreType> 

Example

GET /api/userscore/USER2/to/inc
{
"error": false,
"code": 200,
"message": "ok",
"data": {
"username": "USER2",
"name": "User2",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"score": 5,
"scoreType": "inc",
"listType": "to"
}
}

api/userstats

GET /api/userstats/<userId>

Example

GET /api/userstats/USER2
{
"error": false,
"code": 200,
"message": "ok",
"data": {
"user": {
"username": "USER2",
"name": "User2",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"receivedToday": 1,
"givenToday": 0,
"received": 2,
"given": 2
},
"given": [
{
"username": "USER8",
"name": "USER8",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"scoreinc": 1,
"scoredec": 0
},
{
"username": "USER9",
"name": "USER9",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"scoreinc": 0,
"scoredec": 1
}
],
"received": [
{
"username": "USER20",
"name": "USER20",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"scoreinc": 1,
"scoredec": 0
},
{
"username": "USER25",
"name": "USER25",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"scoreinc": 1,
"scoredec": 0
},
],
"givenToday": [],
"receivedToday": [
{
"username": "USER33",
"name": "USER33",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"scoreinc": 1,
"scoredec": 0
}
]
}
}

api/userstats/today

GET api/userstats/today/<userId>

Example

GET api/userstats/today/USER2
{
"error": false,
"code": 200,
"message": "ok",
"data": {
"givenToday": 0,
"receivedToday": 1
}
}

Scoreboard

Scoreboard is accessable via localhost or host on port 3333.

Showcase

From heyburrito-theme ( https://github.com/chralp/heyburrito-theme )

About

Slack application Heyduck!

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Logo

Makes people smileBuilt with love

Whats Heyburrito

Heyburrito is a slack reward system that allows slack team members to recognize and reward team members who have performed well. Reward your colleagues / friends by sending them a 🌯, each burrito is converted to points witch can be showed on a scoreboard. Heyburrito is like heytaco, but free and you host it yourself.

How does it work

Each burrito will increment the users "burrito" - points. And a rottenburrito will decrement "burrito" - points

Give away burrito to a colleague if they done something good. ...Or maybe a rottenburrito ( :rottenburrito: , emoji needed ) if they done something bad.. :)

Ping one or several of your colleagues and give away a burrito if they deserv it. Otherwise rottenburrito if not ...

Example:
This will increase chralps "burrito" - points by 3 @chralp :burrito::burrito::burrito: - awesome app!

This will decrease chralps "burrito" - points by 2 @chralp :rottenburrito::rottenburrito: - bad app...

This will increase chralps and fagges "burrito" - points by 2 ( each ) @chralp @fagge :burrito::burrito: - awesome app!

You can run heyburrito and disable rottenburrito by passing environment variables. By disabling decrement you can send rottenburritos but it will not decrement the users score.

In the default theme you will find filters to show diffrent leaderboards, burrito board and rottenburrito board. If env for disable decrement is passed the burrito board will not count rottenburritos. But you can see leaderboard for rottenburritos ( sent and received ).

You can also disable decrement emoji completely. This way you will not be able to send any decrement score.

Check environment variables section.

Requirments

  • slack ( of course )
  • node ( lts/erbium )

Get started

  1. Go to https://yourworkspace.slack.com/apps and search for Bots.
  2. Add Bots ( Connect a bot to the Slack Real Time Messaging API).
  3. Give the bot a name, ex: heyburrito, and obtain apiToken.
  4. Choose how to run it => See Docker or Node section .
  5. Invite the new bot to your slack channels ( where u want to be able to send burritos ).

Docker

  1. Open and edit docker-compose.yml.
  2. Set environment variables that you need / want. Check "Environment variables" for more details.
  3. docker-compose up -d.

( Dockerhub repo => https://hub.docker.com/r/chralp/heyburrito )

Node

  1. git clone git@github.com:chralp/heyburrito.git
  2. cd heyburrito
  3. npm install
  4. cp .env.example .env
  5. Set environment variables that you need / want. Check "Environment variables" for more details.
  6. npm run start

Environment Variables

ENV VariablesDefault ValueRequiredNote
BOT_NAMEYesSame botname as in Get started section
DATABASE_DRIVERfileNoSee database drivers section
DATABASE_PATHprojectRoot/data/NoOnly use if DATABASE_DRIVER is file and u want to change the path
MONGODB_URLYes*Only requierd if DATABASE_DRIVER is mongodb
MONGODB_DATABASEYes*Only requierd if DATABASE_DRIVER is mongodb
DATABASE_URIMONGODB_URL/MONGODB_DATABASENoOnly in use when DATABASE_DRIVER is mongodb
SLACK_API_TOKENYesSee Get started section
SLACK_EMOJI_INC🌯NoEmoji to increment points. ex:( 🌯 )
SLACK_EMOJI_DEC:rottenburrito:NoEmoji to decrement points. ex:( :rottenburrito: )
SLACK_DAILY_CAP5NoDefaults to 5/day .
SLACK_DAILY_DEC_CAP5Noseparate cap ONLY IF env ENABLE_DECREMENT is set to false.
DISABLE_EMOJI_DECfalseNoDisable rottenburrito completely, set true to disable
ENABLE_DECREMENTtrueNoEnable decrement of points, set false to disable
API_PATH/api/NoMust start and end with slash
WEB_PATH/heyburrito/NoServing html from .
HTTP_PORT3333NoFor API and website
WSS_PORT3334No
THEME_URLhttps://github.com/chralp/heyburrito-themeNoPass git url to theme
THEME_LATESTfalseNoDonwload latest from git repo on start
THEME_PATHNoPass local path to theme
LOG_LEVELprod = info, dev = debugNolevels = debug, log, warn

Database drivers

NameRecomendedNote
mongodbYes
fileYesCreates a fileDB under projectRoot/data/burrito-{ENV}.db
arrayNoUsed when testing, "memmoryDB"

Emojis

Rottenburrito and burrito emoji can be found under resources ( Burrito.png and Rottenburrito.png ). You can add the emojis in slack via the emoji toolbox => Add emoji. Its not possible to overwrite the standard burrito emoji in slack, so if you want to use heyburritos burrito emoji you can set a new name for it.

Note, set the ENV keys SLACK_EMOJI_INC and SLACK_EMOJI_DEC with the emojis that you want to use. If u want to use the standard burrito emoji and our burrito emoji you have to pass both emojis in SLACK_EMOJI_INC. ex: If you set our burrito with name :burre: . ENV SLACK_EMOJI_INC should look like this.

SLACK_EMOJI_INC :burrito:, :burre:

Theme

Defaults to heyburrito-theme. https://github.com/chralp/heyburrito-theme If you want link a theme from disk, check environment variables THEME_PATH .

Available third party themes

NameAuthorlink
cardi-burritotbleckerthttps://github.com/tbleckert/cardi-burrito

If you want your theme to be on the list, create a PR or issue!

API

Return object

{
"error": boolean,
"code": HTTP codes as number,
"message": String or null,
"data": Object or array
} 

Values

ParamValue
userIdslack userId
listTypeto / from
scoreTypeinc / dec

api/scoreboard

GET /api/scoreboard/<listType>/<scoreType> 

Example

GET /api/scoreboard/to/inc
{
"error": false,
"code": 200,
"message": "ok",
"data": [
{
"username": "USER3",
"name": "User3",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"score": 9
},
{
"username": "USER5",
"name": "User5",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"score": 7
}
]
}

api/userscore

GET /api/userscore/<userId>/<listType>/<scoreType> 

Example

GET /api/userscore/USER2/to/inc
{
"error": false,
"code": 200,
"message": "ok",
"data": {
"username": "USER2",
"name": "User2",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"score": 5,
"scoreType": "inc",
"listType": "to"
}
}

api/userstats

GET /api/userstats/<userId>

Example

GET /api/userstats/USER2
{
"error": false,
"code": 200,
"message": "ok",
"data": {
"user": {
"username": "USER2",
"name": "User2",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"receivedToday": 1,
"givenToday": 0,
"received": 2,
"given": 2
},
"given": [
{
"username": "USER8",
"name": "USER8",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"scoreinc": 1,
"scoredec": 0
},
{
"username": "USER9",
"name": "USER9",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"scoreinc": 0,
"scoredec": 1
}
],
"received": [
{
"username": "USER20",
"name": "USER20",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"scoreinc": 1,
"scoredec": 0
},
{
"username": "USER25",
"name": "USER25",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"scoreinc": 1,
"scoredec": 0
},
],
"givenToday": [],
"receivedToday": [
{
"username": "USER33",
"name": "USER33",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"scoreinc": 1,
"scoredec": 0
}
]
}
}

api/userstats/today

GET api/userstats/today/<userId>

Example

GET api/userstats/today/USER2
{
"error": false,
"code": 200,
"message": "ok",
"data": {
"givenToday": 0,
"receivedToday": 1
}
}

Scoreboard

Scoreboard is accessable via localhost or host on port 3333.

Showcase

From heyburrito-theme ( https://github.com/chralp/heyburrito-theme )

About

Slack application Heyduck!

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Logo

Makes people smileBuilt with love

Whats Heyburrito

Heyburrito is a slack reward system that allows slack team members to recognize and reward team members who have performed well. Reward your colleagues / friends by sending them a 🌯, each burrito is converted to points witch can be showed on a scoreboard. Heyburrito is like heytaco, but free and you host it yourself.

How does it work

Each burrito will increment the users "burrito" - points. And a rottenburrito will decrement "burrito" - points

Give away burrito to a colleague if they done something good. ...Or maybe a rottenburrito ( :rottenburrito: , emoji needed ) if they done something bad.. :)

Ping one or several of your colleagues and give away a burrito if they deserv it. Otherwise rottenburrito if not ...

Example:
This will increase chralps "burrito" - points by 3 @chralp :burrito::burrito::burrito: - awesome app!

This will decrease chralps "burrito" - points by 2 @chralp :rottenburrito::rottenburrito: - bad app...

This will increase chralps and fagges "burrito" - points by 2 ( each ) @chralp @fagge :burrito::burrito: - awesome app!

You can run heyburrito and disable rottenburrito by passing environment variables. By disabling decrement you can send rottenburritos but it will not decrement the users score.

In the default theme you will find filters to show diffrent leaderboards, burrito board and rottenburrito board. If env for disable decrement is passed the burrito board will not count rottenburritos. But you can see leaderboard for rottenburritos ( sent and received ).

You can also disable decrement emoji completely. This way you will not be able to send any decrement score.

Check environment variables section.

Requirments

  • slack ( of course )
  • node ( lts/erbium )

Get started

  1. Go to https://yourworkspace.slack.com/apps and search for Bots.
  2. Add Bots ( Connect a bot to the Slack Real Time Messaging API).
  3. Give the bot a name, ex: heyburrito, and obtain apiToken.
  4. Choose how to run it => See Docker or Node section .
  5. Invite the new bot to your slack channels ( where u want to be able to send burritos ).

Docker

  1. Open and edit docker-compose.yml.
  2. Set environment variables that you need / want. Check "Environment variables" for more details.
  3. docker-compose up -d.

( Dockerhub repo => https://hub.docker.com/r/chralp/heyburrito )

Node

  1. git clone git@github.com:chralp/heyburrito.git
  2. cd heyburrito
  3. npm install
  4. cp .env.example .env
  5. Set environment variables that you need / want. Check "Environment variables" for more details.
  6. npm run start

Environment Variables

ENV VariablesDefault ValueRequiredNote
BOT_NAMEYesSame botname as in Get started section
DATABASE_DRIVERfileNoSee database drivers section
DATABASE_PATHprojectRoot/data/NoOnly use if DATABASE_DRIVER is file and u want to change the path
MONGODB_URLYes*Only requierd if DATABASE_DRIVER is mongodb
MONGODB_DATABASEYes*Only requierd if DATABASE_DRIVER is mongodb
DATABASE_URIMONGODB_URL/MONGODB_DATABASENoOnly in use when DATABASE_DRIVER is mongodb
SLACK_API_TOKENYesSee Get started section
SLACK_EMOJI_INC🌯NoEmoji to increment points. ex:( 🌯 )
SLACK_EMOJI_DEC:rottenburrito:NoEmoji to decrement points. ex:( :rottenburrito: )
SLACK_DAILY_CAP5NoDefaults to 5/day .
SLACK_DAILY_DEC_CAP5Noseparate cap ONLY IF env ENABLE_DECREMENT is set to false.
DISABLE_EMOJI_DECfalseNoDisable rottenburrito completely, set true to disable
ENABLE_DECREMENTtrueNoEnable decrement of points, set false to disable
API_PATH/api/NoMust start and end with slash
WEB_PATH/heyburrito/NoServing html from .
HTTP_PORT3333NoFor API and website
WSS_PORT3334No
THEME_URLhttps://github.com/chralp/heyburrito-themeNoPass git url to theme
THEME_LATESTfalseNoDonwload latest from git repo on start
THEME_PATHNoPass local path to theme
LOG_LEVELprod = info, dev = debugNolevels = debug, log, warn

Database drivers

NameRecomendedNote
mongodbYes
fileYesCreates a fileDB under projectRoot/data/burrito-{ENV}.db
arrayNoUsed when testing, "memmoryDB"

Emojis

Rottenburrito and burrito emoji can be found under resources ( Burrito.png and Rottenburrito.png ). You can add the emojis in slack via the emoji toolbox => Add emoji. Its not possible to overwrite the standard burrito emoji in slack, so if you want to use heyburritos burrito emoji you can set a new name for it.

Note, set the ENV keys SLACK_EMOJI_INC and SLACK_EMOJI_DEC with the emojis that you want to use. If u want to use the standard burrito emoji and our burrito emoji you have to pass both emojis in SLACK_EMOJI_INC. ex: If you set our burrito with name :burre: . ENV SLACK_EMOJI_INC should look like this.

SLACK_EMOJI_INC :burrito:, :burre:

Theme

Defaults to heyburrito-theme. https://github.com/chralp/heyburrito-theme If you want link a theme from disk, check environment variables THEME_PATH .

Available third party themes

NameAuthorlink
cardi-burritotbleckerthttps://github.com/tbleckert/cardi-burrito

If you want your theme to be on the list, create a PR or issue!

API

Return object

{
"error": boolean,
"code": HTTP codes as number,
"message": String or null,
"data": Object or array
} 

Values

ParamValue
userIdslack userId
listTypeto / from
scoreTypeinc / dec

api/scoreboard

GET /api/scoreboard/<listType>/<scoreType> 

Example

GET /api/scoreboard/to/inc
{
"error": false,
"code": 200,
"message": "ok",
"data": [
{
"username": "USER3",
"name": "User3",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"score": 9
},
{
"username": "USER5",
"name": "User5",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"score": 7
}
]
}

api/userscore

GET /api/userscore/<userId>/<listType>/<scoreType> 

Example

GET /api/userscore/USER2/to/inc
{
"error": false,
"code": 200,
"message": "ok",
"data": {
"username": "USER2",
"name": "User2",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"score": 5,
"scoreType": "inc",
"listType": "to"
}
}

api/userstats

GET /api/userstats/<userId>

Example

GET /api/userstats/USER2
{
"error": false,
"code": 200,
"message": "ok",
"data": {
"user": {
"username": "USER2",
"name": "User2",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"receivedToday": 1,
"givenToday": 0,
"received": 2,
"given": 2
},
"given": [
{
"username": "USER8",
"name": "USER8",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"scoreinc": 1,
"scoredec": 0
},
{
"username": "USER9",
"name": "USER9",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"scoreinc": 0,
"scoredec": 1
}
],
"received": [
{
"username": "USER20",
"name": "USER20",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"scoreinc": 1,
"scoredec": 0
},
{
"username": "USER25",
"name": "USER25",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"scoreinc": 1,
"scoredec": 0
},
],
"givenToday": [],
"receivedToday": [
{
"username": "USER33",
"name": "USER33",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"scoreinc": 1,
"scoredec": 0
}
]
}
}

api/userstats/today

GET api/userstats/today/<userId>

Example

GET api/userstats/today/USER2
{
"error": false,
"code": 200,
"message": "ok",
"data": {
"givenToday": 0,
"receivedToday": 1
}
}

Scoreboard

Scoreboard is accessable via localhost or host on port 3333.

Showcase

From heyburrito-theme ( https://github.com/chralp/heyburrito-theme )

About

Slack application Heyduck!

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

Logo

Makes people smileBuilt with love

Whats Heyburrito

Heyburrito is a slack reward system that allows slack team members to recognize and reward team members who have performed well. Reward your colleagues / friends by sending them a 🌯, each burrito is converted to points witch can be showed on a scoreboard. Heyburrito is like heytaco, but free and you host it yourself.

How does it work

Each burrito will increment the users "burrito" - points. And a rottenburrito will decrement "burrito" - points

Give away burrito to a colleague if they done something good. ...Or maybe a rottenburrito ( :rottenburrito: , emoji needed ) if they done something bad.. :)

Ping one or several of your colleagues and give away a burrito if they deserv it. Otherwise rottenburrito if not ...

Example:
This will increase chralps "burrito" - points by 3 @chralp :burrito::burrito::burrito: - awesome app!

This will decrease chralps "burrito" - points by 2 @chralp :rottenburrito::rottenburrito: - bad app...

This will increase chralps and fagges "burrito" - points by 2 ( each ) @chralp @fagge :burrito::burrito: - awesome app!

You can run heyburrito and disable rottenburrito by passing environment variables. By disabling decrement you can send rottenburritos but it will not decrement the users score.

In the default theme you will find filters to show diffrent leaderboards, burrito board and rottenburrito board. If env for disable decrement is passed the burrito board will not count rottenburritos. But you can see leaderboard for rottenburritos ( sent and received ).

You can also disable decrement emoji completely. This way you will not be able to send any decrement score.

Check environment variables section.

Requirments

  • slack ( of course )
  • node ( lts/erbium )

Get started

  1. Go to https://yourworkspace.slack.com/apps and search for Bots.
  2. Add Bots ( Connect a bot to the Slack Real Time Messaging API).
  3. Give the bot a name, ex: heyburrito, and obtain apiToken.
  4. Choose how to run it => See Docker or Node section .
  5. Invite the new bot to your slack channels ( where u want to be able to send burritos ).

Docker

  1. Open and edit docker-compose.yml.
  2. Set environment variables that you need / want. Check "Environment variables" for more details.
  3. docker-compose up -d.

( Dockerhub repo => https://hub.docker.com/r/chralp/heyburrito )

Node

  1. git clone git@github.com:chralp/heyburrito.git
  2. cd heyburrito
  3. npm install
  4. cp .env.example .env
  5. Set environment variables that you need / want. Check "Environment variables" for more details.
  6. npm run start

Environment Variables

ENV VariablesDefault ValueRequiredNote
BOT_NAMEYesSame botname as in Get started section
DATABASE_DRIVERfileNoSee database drivers section
DATABASE_PATHprojectRoot/data/NoOnly use if DATABASE_DRIVER is file and u want to change the path
MONGODB_URLYes*Only requierd if DATABASE_DRIVER is mongodb
MONGODB_DATABASEYes*Only requierd if DATABASE_DRIVER is mongodb
DATABASE_URIMONGODB_URL/MONGODB_DATABASENoOnly in use when DATABASE_DRIVER is mongodb
SLACK_API_TOKENYesSee Get started section
SLACK_EMOJI_INC🌯NoEmoji to increment points. ex:( 🌯 )
SLACK_EMOJI_DEC:rottenburrito:NoEmoji to decrement points. ex:( :rottenburrito: )
SLACK_DAILY_CAP5NoDefaults to 5/day .
SLACK_DAILY_DEC_CAP5Noseparate cap ONLY IF env ENABLE_DECREMENT is set to false.
DISABLE_EMOJI_DECfalseNoDisable rottenburrito completely, set true to disable
ENABLE_DECREMENTtrueNoEnable decrement of points, set false to disable
API_PATH/api/NoMust start and end with slash
WEB_PATH/heyburrito/NoServing html from .
HTTP_PORT3333NoFor API and website
WSS_PORT3334No
THEME_URLhttps://github.com/chralp/heyburrito-themeNoPass git url to theme
THEME_LATESTfalseNoDonwload latest from git repo on start
THEME_PATHNoPass local path to theme
LOG_LEVELprod = info, dev = debugNolevels = debug, log, warn

Database drivers

NameRecomendedNote
mongodbYes
fileYesCreates a fileDB under projectRoot/data/burrito-{ENV}.db
arrayNoUsed when testing, "memmoryDB"

Emojis

Rottenburrito and burrito emoji can be found under resources ( Burrito.png and Rottenburrito.png ). You can add the emojis in slack via the emoji toolbox => Add emoji. Its not possible to overwrite the standard burrito emoji in slack, so if you want to use heyburritos burrito emoji you can set a new name for it.

Note, set the ENV keys SLACK_EMOJI_INC and SLACK_EMOJI_DEC with the emojis that you want to use. If u want to use the standard burrito emoji and our burrito emoji you have to pass both emojis in SLACK_EMOJI_INC. ex: If you set our burrito with name :burre: . ENV SLACK_EMOJI_INC should look like this.

SLACK_EMOJI_INC :burrito:, :burre:

Theme

Defaults to heyburrito-theme. https://github.com/chralp/heyburrito-theme If you want link a theme from disk, check environment variables THEME_PATH .

Available third party themes

NameAuthorlink
cardi-burritotbleckerthttps://github.com/tbleckert/cardi-burrito

If you want your theme to be on the list, create a PR or issue!

API

Return object

{
"error": boolean,
"code": HTTP codes as number,
"message": String or null,
"data": Object or array
} 

Values

ParamValue
userIdslack userId
listTypeto / from
scoreTypeinc / dec

api/scoreboard

GET /api/scoreboard/<listType>/<scoreType> 

Example

GET /api/scoreboard/to/inc
{
"error": false,
"code": 200,
"message": "ok",
"data": [
{
"username": "USER3",
"name": "User3",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"score": 9
},
{
"username": "USER5",
"name": "User5",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"score": 7
}
]
}

api/userscore

GET /api/userscore/<userId>/<listType>/<scoreType> 

Example

GET /api/userscore/USER2/to/inc
{
"error": false,
"code": 200,
"message": "ok",
"data": {
"username": "USER2",
"name": "User2",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"score": 5,
"scoreType": "inc",
"listType": "to"
}
}

api/userstats

GET /api/userstats/<userId>

Example

GET /api/userstats/USER2
{
"error": false,
"code": 200,
"message": "ok",
"data": {
"user": {
"username": "USER2",
"name": "User2",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"receivedToday": 1,
"givenToday": 0,
"received": 2,
"given": 2
},
"given": [
{
"username": "USER8",
"name": "USER8",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"scoreinc": 1,
"scoredec": 0
},
{
"username": "USER9",
"name": "USER9",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"scoreinc": 0,
"scoredec": 1
}
],
"received": [
{
"username": "USER20",
"name": "USER20",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"scoreinc": 1,
"scoredec": 0
},
{
"username": "USER25",
"name": "USER25",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"scoreinc": 1,
"scoredec": 0
},
],
"givenToday": [],
"receivedToday": [
{
"username": "USER33",
"name": "USER33",
"avatar": "https://link.to.avatar.48.burrito",
"memberType": "member",
"scoreinc": 1,
"scoredec": 0
}
]
}
}

api/userstats/today

GET api/userstats/today/<userId>

Example

GET api/userstats/today/USER2
{
"error": false,
"code": 200,
"message": "ok",
"data": {
"givenToday": 0,
"receivedToday": 1
}
}

Scoreboard

Scoreboard is accessable via localhost or host on port 3333.

Showcase

From heyburrito-theme ( https://github.com/chralp/heyburrito-theme )

About

Slack application Heyduck!

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages