Ping on Join
Notify a person or a role the moment someone joins, without the visible ping.
Ping on Join
Also called a ghost ping: the member is notified, and the message is then removed or emptied so the channel looks untouched. Use it to wake your staff team on a suspicious join without spilling a public message.
Every command needs Manage Server (real or fake), except reset and bypass, which need Administrator.
Aliases for the group: poj, ghostping, gp.
Turning it on
,pingonjoin on
,pingonjoin channel #staff-alerts
,pingonjoin add @ModeratorThat is the minimum working setup. Without a channel, bore picks the server's system channel, or the first channel it can post in.
,pingonjoin offChoosing who gets pinged
| Command | Pings |
|---|---|
,pingonjoin add @Moderator | Everyone in that role |
,pingonjoin add @member | That one member |
,pingonjoin add 123456789012345678 | A member or role by ID |
,pingonjoin add all | Every new member |
,pingonjoin remove @Moderator | Stops them |
,pingonjoin list | Shows what is configured |
Targets are combined into a single line, and duplicates are dropped. @everyone, Discord-managed roles and bot roles are never pinged.
The message
,pingonjoin message {mention} joined. Check {user.created_at}.Alias: msg. Four words are replaced: {user}, {member}, {guild} and {mention}. Anything longer than 500 characters is cut. You can send an embed script here too, by starting the message with {embed}.
,pingonjoin message viewShows the current text, which defaults to just {mention}.
How it disappears
,pingonjoin method delete| Method | What you see afterwards |
|---|---|
delete | Nothing, the message is removed. Default |
edit | An empty bubble left in place |
timeout | Nothing, same as delete |
,pingonjoin delay 2sAlias: time. How long the message stays before it goes. Between half a second and sixty, one second by default. 500ms, 2s and 1m all work.
,pingonjoin cooldown 30sAlias: cd. The shortest gap between two ghost pings, ten seconds by default. Set 0 to turn it off. There is also a hard ceiling of thirty per minute, which exists so a join flood cannot fill your channel.
Logging and testing
,pingonjoin log #staff-alerts
,pingonjoin test @member
,pingonjoin statsThe log channel records every ping with who joined, which method was used and who was targeted. test runs the whole thing for one member so you can see it work. stats shows the server's total.
Skipping people
,pingonjoin blacklist @member
,pingonjoin blacklist list
,pingonjoin bypass @StaffAliases: bl, ignore, and whitelist. A blacklisted target is never pinged. A bypass role is stronger: members of it are neither pinged nor able to trigger a ping.
There is no command to remove a single blacklist entry or bypass role. ,pingonjoin reset clears the whole feature: settings, targets, blacklist and bypass.
Checking the setup
,pingonjoin configAliases: settings, view. Running ,pingonjoin with nothing after it shows the same thing.
If it stops working
bore turns this feature off by itself when it cannot deliver, for example if the channel is deleted or it loses permission to manage messages, and sends the server owner one direct message explaining why. Fix the channel, then run ,pingonjoin on again.
Last updated November 4, 2026