Я использую веб-крючок Slack для обработки входящих SMS-сообщений от Twilio. Однако, как я это настроил, похоже, что Twilio ожидает, что веб-сервер (слабый) ответит на него. Это приводит к возникновению ошибок в Twilio, и я, очевидно, не хочу ошибок, потому что я буду получать электронные письма.
Я использую гем twilio-ruby
в Ruby для отправки SMS-сообщений и slack-ruby-client
для мониторинга входящих сообщений из Slack.
Как мне остановить Twilio от попыток ожидать ответа от веб-сервера, когда он ПОСТАВЛЯЕТСЯ в Slack? Это вообще возможно или у меня все настроено неправильно?
EDIT
Вот моя функция, которая отправляет перенаправленное SMS-сообщение Slack:
const https = require("https");
// Make sure to declare SLACK_WEBHOOK_PATH in your Environment
// variables at
// https://www.twilio.com/console/runtime/functions/configure
exports.handler = (context, event, callback) => {
// Extract the bits of the message we want
const { To, From, Body } = event;
// Construct a payload for slack's incoming webhooks
const slackBody = JSON.stringify({
text: `!asi SMS\nFrom: ${From}\nMessage: ${Body}`
});
// Form our request specification
const options = {
host: "hooks.slack.com",
port: 443,
path: context.SLACK_WEBHOOK_PATH,
method: "POST",
headers: {
"Content-Type": "application/json",
"Content-Length": slackBody.length
}
};
// send the request
const post = https.request(options, res => {
// only respond once we're done, or Twilio's functions
// may kill our execution before we finish.
res.on("end", () => {
// respond with an empty message
callback(null, new Twilio.twiml.MessagingResponse());
});
});
post.write(slackBody);
post.end();
};