Tags
Creators
Details
Licensed MIT
Published last month
Updated 2 months ago
All versions
1.0
Beta
Discord slash commands and live command monitoring2 months ago 35
Compatibility
Minecraft: Java Edition
26.2
26.1.x
1.21.x
Platforms
Bukkit
Paper
Purpur
Spigot
Changes
1.0 - Initial Release
Discord to Minecraft
- Custom slash commands defined entirely in
config.yml, where the config key is the command {name...}greedy arguments for reasons and messages that run past one wordsuggest-online-playersautocompletes an option from the live player list- Argument types: string, integer, number, boolean, user, channel, role, plus fixed choices
- One slash command can run a list of Minecraft commands in order
- Per command cooldowns, ephemeral replies, custom responses, and console or player execution
- Access control by Discord role, user or channel, globally or per command
Command monitoring
- Every in-game command mirrored to a Discord channel, with a configurable format
- Around 85 placeholders covering player, location, world, command, Discord user and server stats
- Ignore lists with trailing wildcards, an only-these whitelist, and ignored players
login,register,changepasswordand private message commands ignored by defaultspyglass.monitor.bypasshides a player's commands from the feed- Commands run from Discord are credited to the Discord user, not to the console
- Batching groups lines into one message per interval to stay under Discord rate limits
- Markdown escaping and
@everyonedefusing on anything a player typed
Configuration
/spyglass reloadparses both files before applying anything, so a broken file changes nothing- YAML errors report the line, column, offending text and how to fix it
- Recognises unquoted colons, tabs, bad indentation, unclosed quotes, duplicate keys and brace keys
- Non-fatal problems become warnings that name the config.yml line, and the rest still loads
/spyglass testchecks bot token, channel ID and channel permissions in one command
Formatting
messages.ymluses MiniMessage, with gradients, hover text and clickable commands- Legacy
&aand&#RRGGBBcodes still supported for anyone bringing an older file - Placeholder values are inserted as plain text, so a name cannot inject formatting or a click event
- Console output, the broken-config report and warning lines are built in so they survive a broken
messages.yml
Compatibility
- Runs on Bukkit, Spigot, Paper and Purpur using only standard Bukkit API
- Minecraft 1.21 through 26.2, Java 21+
- Detects and logs which server software it found on start, exposed as
{platform} - No update checker and no analytics, the only outbound connection is to Discord
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:gWqabgFc:sbTNlUmr"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:gWqabgFc:sbTNlUmr"
}
