38 lines
921 B
TypeScript
38 lines
921 B
TypeScript
const PORT = process.env.PORT
|
||
const BOT_TOKEN = process.env.BOT_TOKEN as string
|
||
const CHAT_ID = process.env.CHAT_ID as string
|
||
|
||
const server = Bun.serve({
|
||
port: PORT,
|
||
async fetch(req) {
|
||
if (!req.body) {
|
||
throw new Error("No body provided");
|
||
}
|
||
|
||
const submittedData = await req.json();
|
||
|
||
const text = encodeURIComponent(`
|
||
*Новое письмо с flexpatrol.ru*
|
||
\`\`\`
|
||
${JSON.stringify(submittedData, null, 2)}
|
||
\`\`\``)
|
||
|
||
await fetch(`https://api.telegram.org/bot${BOT_TOKEN}/sendMessage?chat_id=${CHAT_ID}&text=${text}&parse_mode=markdown`)
|
||
|
||
return new Response('success', {
|
||
headers: {
|
||
'Access-Control-Allow-Origin': '*'
|
||
}
|
||
});
|
||
},
|
||
error(error) {
|
||
return new Response(`<pre>${error}\n${error.stack}</pre>`, {
|
||
headers: {
|
||
"Content-Type": "text/html",
|
||
},
|
||
});
|
||
},
|
||
});
|
||
|
||
console.log(`Listening on http://localhost:${server.port}...`);
|