KilersBotz commited on
Commit
4ed058c
·
verified ·
1 Parent(s): ce55d65

Create index.js

Browse files
Files changed (1) hide show
  1. index.js +68 -0
index.js ADDED
@@ -0,0 +1,68 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import express from "express"
2
+ import { Welcome2, Goodbye } from "knights-canvas"
3
+
4
+ const app = express()
5
+ const PORT = process.env.PORT || 7860
6
+
7
+ // Helper validasi query
8
+ function validateParams(params, required) {
9
+ for (let r of required) {
10
+ if (!params[r]) return r
11
+ }
12
+ return null
13
+ }
14
+
15
+ // Welcome2 API
16
+ app.get("/api/welcome", async (req, res) => {
17
+ try {
18
+ const required = ["username", "group", "avatar", "bg", "member"]
19
+ const missing = validateParams(req.query, required)
20
+ if (missing) {
21
+ return res.status(400).json({ error: `Parameter '${missing}' wajib diisi` })
22
+ }
23
+
24
+ const { username, group, avatar, bg, member } = req.query
25
+
26
+ const image = await new Welcome2()
27
+ .setUsername(username)
28
+ .setGroupname(group)
29
+ .setAvatar(avatar)
30
+ .setBg(bg)
31
+ .setMember(member)
32
+ .toAttachment()
33
+
34
+ res.set("Content-Type", "image/png")
35
+ res.send(image.toBuffer())
36
+ } catch (err) {
37
+ res.status(500).json({ error: err.message })
38
+ }
39
+ })
40
+
41
+ // Goodbye API
42
+ app.get("/api/goodbye", async (req, res) => {
43
+ try {
44
+ const required = ["username", "group", "avatar", "bg", "member", "icon"]
45
+ const missing = validateParams(req.query, required)
46
+ if (missing) {
47
+ return res.status(400).json({ error: `Parameter '${missing}' wajib diisi` })
48
+ }
49
+
50
+ const { username, group, avatar, bg, member, icon } = req.query
51
+
52
+ const image = await new Goodbye()
53
+ .setUsername(username)
54
+ .setGuildName(group)
55
+ .setAvatar(avatar)
56
+ .setGuildIcon(icon)
57
+ .setBackground(bg)
58
+ .setMemberCount(member)
59
+ .toAttachment()
60
+
61
+ res.set("Content-Type", "image/png")
62
+ res.send(image.toBuffer())
63
+ } catch (err) {
64
+ res.status(500).json({ error: err.message })
65
+ }
66
+ })
67
+
68
+ app.listen(PORT, () => console.log(`API running on port ${PORT}`))