
Research
/Security News
Weaponizing Discord for Command and Control Across npm, PyPI, and RubyGems.org
Socket researchers uncover how threat actors weaponize Discord across the npm, PyPI, and RubyGems ecosystems to exfiltrate sensitive data.
@cmpsr/twilio
Advanced tools
[](https://www.npmjs.com/package/@cmpsr/twilio)
Wrapper over Twilio API
Using npm:
$ npm install @cmpsr/twilio
Using yarn:
$ yarn add @cmpsr/twilio
const { useTwilioSms, useTwilioConversation } = require("@cmpsr/twilio");
import { useTwilioSms, useTwilioConversation } from "@cmpsr/twilio";
Sending a sms
with ExpressJS
const express = require("express");
const { useTwilioSms } = require("@cmpsr/twilio");
const app = express();
app.use(express.json());
const twilioSms = useTwilioSms();
app.post("/send-sms", async (req, res) => {
const { message, from, to } = req.body;
const response = await twilioSms.send(message, from, to);
res.json(response);
});
Creating a conversation
with ExpressJS
const express = require("express");
const { useTwilioConversation } = require("@cmpsr/twilio");
const app = express();
app.use(express.json());
const twilioConversation = useTwilioConversation();
app.post("/", async (req, res) => {
const {
body: { friendlyName },
} = req;
const conversation = await twilioConversation.create(friendlyName);
res.json(conversation);
});
const accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
const authToken = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
const serviceId = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
const twilioSms = useTwilioSms(accountSid, authToken, serviceId);
If you don't pass the optional parameters it will take those values from your environment variables, so you may want to create a .env
file or set global variables into your OS.
# in your .env file
TWILIO_ACCOUNT_SID = ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
TWILIO_AUTH_TOKEN = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
TWILIO_CHAT_SERVICE_SID = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Now, load your variables using the dotenv
package
require("dotenv").config();
const { useTwilioSms } = require("@cmpsr/twilio");
const twilioSms = useTwilioSms();
const accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
const authToken = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
const serviceId = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
const twilioConversation = useTwilioConversation(
accountSid,
authToken,
serviceId
);
If you don't pass the optional parameters it will take those values from your environment variables, so you may want to create a .env
file or set global variables into your OS.
# in your .env file
TWILIO_ACCOUNT_SID = ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
TWILIO_AUTH_TOKEN = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
TWILIO_CHAT_SERVICE_SID = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Now, load your variables using the dotenv
package
require("dotenv").config();
const { twilioConversation } = require("@cmpsr/twilio");
const twilioConversation = twilioConversation();
The available instance methods are listed below.
FAQs
[](https://www.npmjs.com/package/@cmpsr/twilio)
We found that @cmpsr/twilio demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers 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
Socket researchers uncover how threat actors weaponize Discord across the npm, PyPI, and RubyGems ecosystems to exfiltrate sensitive data.
Security News
Socket now integrates with Bun 1.3’s Security Scanner API to block risky packages at install time and enforce your organization’s policies in local dev and CI.
Research
The Socket Threat Research Team is tracking weekly intrusions into the npm registry that follow a repeatable adversarial playbook used by North Korean state-sponsored actors.