Skip to content

Discord & Telegram

Discord

Every punishment is posted to a webhook as an embed: type, player, staff, duration, reason, record id, server name.

  1. Discord → Server Settings → Integrations → Webhooks → New Webhook → Copy URL.
  2. Config:
yaml
discord:
  enabled: true
  webhook-url: 'https://discord.com/api/webhooks/...'
  send-warns: true      # post warnings too
  send-silent: true     # post -s punishments too
  colors:               # embed colour per type (decimal)
    ban: 15158332
    ipban: 10038562
    mute: 15105570
    warn: 16776960
    kick: 9807270
  1. /finexbans reload. The next punishment shows up in the channel.

Posting happens off the game thread; a failed request only logs a warning.

Telegram / your own endpoint

The plugin can POST a JSON document to any URL — for a Telegram bot, a Discord bot with its own logic, or a website:

yaml
telegram:
  enabled: true
  url: 'https://yourserver.net/api/punishment'
  token: 'secret'       # sent as Authorization: Bearer secret
  send-warns: true

Body:

json
{"type":"BAN","player":"Steve","operator":"Moder_Ali","reason":"Cheating",
 "permanent":false,"expires_at":1789337421034,"silent":false,"server":"survival","id":184}

A minimal Telegram bridge is a few lines in any language: receive the POST, format it, call sendMessage.

In-game

Staff with finexbans.staff receive: alt accounts on join, a banned player trying to connect, chat-filter hits, ladder escalations and /sc messages. Everyone sees public broadcasts unless broadcast.enabled: false or -s was used.

FinExBans · Paper, Folia, Velocity, BungeeCord · 1.21 → 26.2