ตั้ง Webhook ใน server.cfg#

server.cfg
set nX_police_webhook_default "WEBHOOK_URL"
set nX_police_webhook_bank "WEBHOOK_URL"
set nX_police_webhook_welfare "WEBHOOK_URL"
set nX_police_webhook_personnel "WEBHOOK_URL"
set nX_police_webhook_duty "WEBHOOK_URL"
set nX_police_webhook_jail "WEBHOOK_URL"
set nX_police_webhook_jail_history "WEBHOOK_URL"
set nX_police_webhook_cases "WEBHOOK_URL"
set nX_police_webhook_mailbox "WEBHOOK_URL"
set nX_police_webhook_reports "WEBHOOK_URL"
set nX_police_webhook_shop "WEBHOOK_URL"
set nX_police_webhook_system "WEBHOOK_URL"
set nX_police_webhook_statistics "WEBHOOK_URL"
set nX_police_webhook_curfew "WEBHOOK_URL"
set nX_police_webhook_announcements "WEBHOOK_URL"
set nX_police_webhook_safe "WEBHOOK_URL"
อย่าใส่ Webhook ใน Customer Config
ห้ามใส่ Webhook URL, Token หรือ Secret ใน config/customer, config/data หรือ config/locales ให้เก็บ Webhook URL ใน server.cfg ตามตัวอย่างด้านบน

Event routing#

เปิด/ปิด Event และเลือกหมวด Webhook ที่ config/server/discord_logs.lua โดย URL จริงยังอยู่ใน server.cfg

bank_transferwelfare_transferwelfare_batchpersonnel_joinpersonnel_rankpersonnel_dismissduty_startedduty_endedcase_createdcase_evidenceinmate_releasedinmate_time_updatedmailbox_claimreport_chat_createdreport_chat_attachmentreport_chat_acceptedreport_chat_subjectreport_chat_transferredreport_chat_closedagency_shop_purchasesafe_seizuresafe_givesafe_takesafe_putstatistics_daily_summarystatistics_resetcurfew_openedcurfew_closeddepartment_announcementrollback_failureclient_evidence

รูปแบบและข้อมูลที่ส่ง#

Configตั้งอะไรได้
IdentityUsername และ AvatarURL ของ Webhook
Privacyเลือก IncludeIdentifiers, Discord, Coords, Job, RoutingBucket และ IP; ค่าเริ่มต้นไม่ส่ง IP
Screenshotเปิด/ปิดรูป, Encoding และ Quality
Layout.WelfareRowsPerMessageจำนวนผู้รับสวัสดิการต่อ Discord message
Events.*.Enabled / Webhookเปิด/ปิด Event รายประเภทและเลือกชื่อปลายทางจาก Webhooks

Bank Log#

bank_transfer ใช้บันทึกการเคลื่อนไหวเงินหน่วยงาน เช่น ส่วนแบ่งค่าปรับ เงินของกลาง รายการ Safe การโอน Welfare และ Admin Economy จึงควรเปิดเมื่อใช้ Police Bank

Case Audit และรูปหลักฐาน#

เมื่อเปิด Case Audit ระบบสามารถอัปเดต Discord Log ให้สอดคล้องกับสถานะคดีและผู้ช่วยคดีที่เปลี่ยนแปลง

เมื่อเปิด case_evidence รูปหลักฐานคดีสามารถแนบไปกับ Discord Log และเรียกดูจากระบบตามที่รองรับ

Screenshot ล้มเหลวไม่ควรทำให้ Log หาย
หากแนบ Screenshot ไม่สำเร็จ ระบบยังสามารถส่ง Log แบบข้อความได้ รูปเป็นหลักฐานเสริม

Daily Statistics#

Daily Statistics สามารถส่งสรุปตามรอบที่ตั้งไว้ และรองรับการทำงานต่อหลัง resource กลับมาออนไลน์

Config.Statistics.DailyWebhook.CatchUpMissed = true ใช้ให้ระบบส่งสรุปวันที่พลาดระหว่าง downtime หลังกลับมาออนไลน์ตามขอบเขตที่ระบบรองรับ

Client Log Boundary#

Resource ภายนอกไม่ควรส่ง Webhook URL จาก Client หากต้องการทำ Custom Log ให้ใช้ Server API/Event ที่เอกสารรองรับและตั้งปลายทางจาก Config

กัน Mention Injection
หลีกเลี่ยงการนำข้อความจากผู้เล่นไปสร้าง Mention โดยตรงใน Custom Discord Log

Server API#

lua
exports['nX_police']:DiscordLog({
    event = 'case_created',
    source = source,
    title = 'Custom server log',
    description = 'รายละเอียด'
})

local stats = exports['nX_police']:DiscordLogStats()

เมื่อ Discord ใช้งานไม่ได้ชั่วคราว#

Log อาจส่งล่าช้าหาก Discord หรือ Network มีปัญหา ตรวจ Server Console และ DiscordLogStats() เมื่อต้องการวิเคราะห์สถานะการส่ง