Files
Papo/package.json
Pepe44DEV 9943254aa4 add permission scanner, info panels, image QR scan, invite tracker, ticket templates
Five new features:
- /permissions scan: audits admin/ban roles, dangerous bot permissions,
  public channels, empty/duplicate/useless roles, too-many-admins warning.
- /panel create: fixed info panels (rules/support/bewerbung/partner/
  rollen/events/faq) with buttons wired into the existing ticket/
  register/partner flows, FAQ panels get a question dropdown.
- Image moderation: QR-code detection in message attachments via jimp+jsqr
  (pure JS, no native build deps) with a small scam-pattern check; opt-in
  toggle in dashboard settings since decoding costs per-message.
- Invite tracker extension: now resolves the inviter (not just the code),
  tracks suspicious joins per invite, and the dashboard growth page gets
  an invite breakdown + recent-joins table.
- Ticket categories: /ticketconfig lets each ticket topic get its own
  ping role and a modal question template shown before the channel is
  created; topics without config behave exactly as before.

Also fixes two rough edges found along the way: the welcome embed had
no way to attach an image despite the backend already supporting it
(added URL/file-upload fields + live preview), and Reaction Roles
required typing raw role IDs into a textarea (replaced with a proper
role picker). Incidentally repairs node_modules/.bin symlinks that were
committed as literal broken shell-script text instead of real symlinks.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-04 00:46:23 +02:00

44 lines
1.1 KiB
JSON

{
"name": "papo-discord-bot",
"version": "0.1.0",
"private": true,
"type": "commonjs",
"prisma": {
"schema": "src/database/schema.prisma"
},
"scripts": {
"build:web": "npm --prefix frontend run build",
"dev": "ts-node-dev --respawn --transpile-only src/index.ts",
"build": "npm run build:web && tsc",
"start": "node dist/index.js"
},
"dependencies": {
"@discordjs/opus": "^0.9.0",
"@discordjs/rest": "^2.2.0",
"@discordjs/voice": "^0.19.0",
"@prisma/client": "^5.4.2",
"@snazzah/davey": "^0.1.8",
"cookie-parser": "^1.4.6",
"discord-api-types": "^0.37.83",
"discord.js": "^14.14.1",
"dotenv": "^16.3.1",
"express": "^4.18.2",
"express-session": "^1.17.3",
"ffmpeg-static": "^5.2.0",
"jimp": "^1.6.1",
"jsqr": "^1.4.0",
"libsodium-wrappers": "^0.7.13",
"play-dl": "^1.9.7",
"sodium-native": "^4.0.4"
},
"devDependencies": {
"@types/cookie-parser": "^1.4.3",
"@types/express": "^4.17.21",
"@types/express-session": "^1.17.8",
"@types/node": "^20.4.2",
"prisma": "^5.4.2",
"ts-node-dev": "^2.0.0",
"typescript": "^5.2.2"
}
}