Skip to content

AetherSky Discord Integration

LocoShailo edited this page Nov 7, 2026 · 1 revision

Discord Integration

AetherSky can post island events to Discord as embeds. It uses the AetherDiscord plugin as a soft dependency:

  • AetherDiscord installed and enabled: AetherSky hooks in automatically on startup: [AetherSky] Hooked into AetherDiscord - island events will be logged to Discord.
  • Not installed: nothing is sent and AetherSky works normally.

AetherDiscord takes care of webhooks, the bot, queueing and Discord rate limits, so logging never slows down your server.

Setup

  1. Install AetherDiscord and set up at least one webhook or bot channel in its config.yml.
  2. AetherSky sends to the key achievements by default. Either fill in webhooks.achievements in AetherDiscord's config, or change the target in AetherSky:
    discord:
      channel: achievements   # an AetherDiscord webhook/channel key, a webhook URL or a channel ID
  3. Run /aethersky reload and test with /aethersky discordtest.

If a message cannot be delivered (wrong key, deleted webhook), AetherSky logs a warning at most once per minute: Discord log failed: ... (check the channel key in config.yml -> discord.channel and AetherDiscord's webhooks)

Events

Event key Default Sent when Placeholders
island-created on A player creates an island. {player} {mode} {grid} {x} {z}
island-deleted on A leader deletes an island. {player} {mode} {level} {blocks}
member-joined on A player accepts a co-op invite. {player} {leader}
member-left on A member leaves or is removed. {player} {leader} {reason}
leader-transferred on Leadership is handed over. {player} (new leader) {old}
phase-advanced on An island reaches the next OneBlock phase. {player} {leader} {phase} {phase_number} {phases}
phase-cycle on An island completes all phases. {player} {leader} {blocks}
level-up on An island reaches a level that is a multiple of level-up-every. {leader} {level} {mode}
block-milestone on Total OneBlock breaks reach a value in block-milestones. {player} {leader} {blocks}
upgrade-purchased off An upgrade is bought. {player} {leader} {upgrade} {level} {max}
admin-action on An admin uses /aethersky setphase. {admin} {action} {target} {details}

Every event also has {uuid} (used for the player head thumbnail).

Customising

discord:
  enabled: true
  channel: achievements
  avatar-url: 'https://mc-heads.net/avatar/{uuid}/64'
  footer: 'AetherSky'
  level-up-every: 5                                   # 1 = every level
  block-milestones: [1000, 5000, 10000, 25000, 50000, 100000]
  events:
    island-created:
      enabled: true
      channel: ''                                     # empty = discord.channel
      color: '#5EE7DF'
      title: '🏝️ Island Created'
      description: '**{player}** created a new **{mode}** island. (grid {grid})'
    admin-action:
      enabled: true
      use-staff-alerts: true                          # use AetherDiscord's ADMIN_ACTION staff alerts
      channel: 'staff'
      ...
  • title and description support Discord markdown (**bold**, emojis).
  • Player names are escaped automatically, so names like _Steve_ show correctly and nobody can trigger @everyone.
  • Send noisy events to their own channel with the per-event channel.

Clone this wiki locally