Public
Express
Forked from vtdocs/telegramWebhookEchoMessage
dpetrouk-telegramwebhookechomessage.express.val.run
October 23, 2023
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import { telegramSendMessage } from "https://esm.town/v/vtdocs/telegramSendMessage?v=5";
import { fetchTweet } from "https://esm.town/v/dpetrouk/fetchTweet";
import process from "node:process";
export const telegramWebhookEchoMessage = async (
req: express.Request,
res: express.Response,
) => {
// Verify this webhook came from our bot
if (
req.get("x-telegram-bot-api-secret-token") !==
process.env.telegramWebhookSecret
) {
return res.status(401);
}
// Echo back the user's message
const { created_at, text, user } = await fetchTweet(
req.body.message.text,
);
const dateTime = created_at.slice(0, 19).split("T").join(" ");
const messageText = [
[dateTime, `${user.name} • ${user.screen_name}`].join("\n"),
text.replaceAll(req.body.message.text, ""),
].join("\n\n");
const chatId: number = req.body.message.chat.id;
telegramSendMessage(
process.env.telegramBotToken,
{ chat_id: chatId, text: messageText },
);
};
// Forked from @vtdocs.telegramWebhookEchoMessage
Val Town is a social website to write and deploy JavaScript.
Build APIs and schedule functions from your browser.
Comments
Nobody has commented on this val yet: be the first!
October 23, 2023