
Research
/Security News
Critical Vulnerability in NestJS Devtools: Localhost RCE via Sandbox Escape
A flawed sandbox in @nestjs/devtools-integration lets attackers run code on your machine via CSRF, leading to full Remote Code Execution (RCE).
serverless-slack
Advanced tools
This is a micro-framework designed to create Slack Apps with serverless.js.
A complete template and tutorial can be found at johnagan/serverless-slack-app.
// handle RTM messages
slack.on('message', (payload, bot) => { });
// handle all slash commands
slack.on('slash_command', (payload, bot) => { });
// handle the outgoing webhooks trigger word "googlebot"
slack.on('googlebot', (payload, bot) => { });
// wildcard support
slack.on('*', (payload, bot) => { });
Event | Description |
---|---|
* | All events |
message | All RTM events |
slash_command | All Slash Commands |
event | All Event API callbacks |
webhook | All WebHook callbacks |
interactive_message | All Interactive message callbacks |
[/command] | Any specific slash command |
[event type] | Any specific event type |
[trigger word] | Any trigger from outgoing webhooks |
Bots are preloaded with the appropriate token and are context aware. So you can reply to messages and send ephemeral updates to a message.
slack.on('message', (payload, bot) => {
bot.replyPrivate('loading...');
bot.reply({
text: 'Everything is working!',
attachments: [{
title: "Slack API Documentation",
title_link: "https://api.slack.com/",
text: "Optional text that appears within the attachment",
fields: [{
title: "Priority",
value: "High",
short: false
}]
}]
});
// the token is already set
bot.send('channels.info', { channel: 'C1234567890' }).then(data => {
// results from API call
});
});
Methods | Description |
---|---|
say | Send a message |
reply | Send a public reply to the event |
replyPrivate | Send an ephemeral reply to the event |
send | Call any Slack API endpoint |
A key/value store to maintain team/bot information and store custom setings. The store should contain a uniquie id
field.
slack.store.save(data).then(results => {
// the save results
});
slack.store.get(id).then(record => {
// return a single record by key
});
Methods | Description |
---|---|
get | Get a single record by id |
all | Get all saved records |
save | Save a record |
The Slack client is a way to call the API outside of an event.
let message = {
unfurl_links: true,
channel: 'C1QD223DS1',
token: 'xoxb-12345678900-ABCD1234567890',
text: "I am a test message http://slack.com",
attachments: [{
text: "And here's an attachment!"
}]
}
// send message to any Slack endpoint
slack.send('chat.postMessage', message).then(data => {
// Success!
});
// respond to webhooks
slack.send('https://hooks.slack.com/services/T0000/B000/XXXX', message);
FAQs
A Slack App Framework for AWS Lambda / Serverless.js
The npm package serverless-slack receives a total of 33 weekly downloads. As such, serverless-slack popularity was classified as not popular.
We found that serverless-slack demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
/Security News
A flawed sandbox in @nestjs/devtools-integration lets attackers run code on your machine via CSRF, leading to full Remote Code Execution (RCE).
Product
Customize license detection with Socket’s new license overlays: gain control, reduce noise, and handle edge cases with precision.
Product
Socket now supports Rust and Cargo, offering package search for all users and experimental SBOM generation for enterprise projects.