Integração com o DiscordSRV
O EliteMobs usa o DiscordSRV para permitir a transmissão de mensagens com prioridade de anúncio de nível 3 ou superior. Pode ler mais sobre o Sistema de Prioridade de Anúncios aqui.
Em essência, isto significa que alguns Bosses Personalizados muito especiais são capazes de enviar mensagens no Discord de uma forma parecida com esta:

A intenção é criar uma sala dedicada aos anúncios do EliteMobs que os jogadores possam consultar para ver se há algum World Boss interessante atualmente vivo que possam ir matar e depois mostrar que o fizeram na tabela de classificação de abates.
Configurar tudo
Configurar o DiscordSRV
O DiscordSRV é um plugin diferente que não foi desenvolvido por mim. Pode encontrar o guia de configuração detalhado deles aqui. Se tiver dificuldades a configurá-lo, a sala de suporte deles está aqui. Não consigo dar suporte a este plugin, por isso recorra a eles para esta parte da instalação.
O EliteMobs é compilado com o DiscordSRV 1.28.0. Use o comando de teste abaixo para verificar a entrega com a versão instalada no seu servidor.
Configurar a integração DiscordSRV do EliteMobs
Depois de ter configurado corretamente o DiscordSRV (e tem de testar para ver se está mesmo a funcionar antes de avançar para este passo), a configuração do EliteMobs tem apenas 1 passo.
Vá ao ficheiro de configuração DiscordSRV.yml na pasta de configuração do EliteMobs (normalmente plugins/EliteMobs/DiscordSRV.yml) e vai encontrar uma opção de configuração chamada announcementRoomName.
Há três valores que pode usar para esta mensagem. Recomendo o nº1.
-
[Recomendado] O nome da sala tal como a configurou no ficheiro de configuração do DiscordSRV. Não importa como lhe chamou, apenas que use o nome correto. Aqui está um exemplo da sala que configurei para ser dedicada aos eventos do EliteMobs:
No meu caso, a opção deve ficar announcementRoomName: EMEvents. -
O ID da sala tal como a configurou no ficheiro de configuração do DiscordSRV. Aqui está um exemplo da sala. Note que cada sala é única. Estou apenas a mostrar imagens como exemplo, não tente copiar os números do ID. Não vai funcionar. A sua configuração deverá ter um conjunto único de números baseado no id da sua sala de discord.

-
[Menos fiável] O nome do canal tal como aparece no Discord. A pesquisa final ignora maiúsculas e minúsculas e escolhe o primeiro canal de texto correspondente; nomes repetidos podem selecionar o destino errado. O DiscordSRV e o bot continuam a precisar de configuração e acesso ao canal, mas esta pesquisa por nome não exige um mapeamento de canal do jogo.
Notas técnicas
- As mensagens enviadas para o Discord têm os códigos de cor do Minecraft automaticamente removidos para garantir uma exibição correta
- As mensagens de Discord são enviadas de forma assíncrona para evitar lag no servidor
- O EliteMobs usa uma procura em três níveis para encontrar o seu canal de Discord: primeiro pelo ID do canal (apenas quando
announcementRoomNameé composto só por dígitos), depois pelo mapeamento de canais do DiscordSRV e, por fim, por pesquisa do nome do canal - Os anúncios automáticos de conteúdo exigem prioridade 3 ou superior: mensagens de aparecimento, morte e fuga de bosses personalizados e
startMessage/endMessagede eventos personalizados. O comando de teste manual abaixo envia diretamente, sem verificar uma prioridade de conteúdo. - As mesmas mensagens mostradas no jogo são enviadas para o Discord
- O canal é procurado de novo em cada anúncio, por isso um
announcementRoomNamecorrigido entra em vigor após/em reload. Uma pesquisa que não encontra nada registaChannel room <name> is not valid!; uma mensagem rejeitada pelo Discord registaDiscordSRV announcement failed for <name>.
Testar
Pode usar o comando /em discord <message> para testar se a sua configuração está a funcionar. Substitua <message> por qualquer texto que queira enviar para o Discord.
Exemplo: /em discord Test message from EliteMobs!
Verifique se a mensagem aparece no canal Discord pretendido. A confirmação do comando indica apenas uma tentativa de envio; pode aparecer mesmo sem DiscordSRV, com o valor de exemplo ainda configurado ou após uma pesquisa de canal falhada. Sem mensagem no Discord, a entrega não está verificada.
Nota: este comando requer a permissão elitemobs.discord.message
Além disso, pode usar /em discord (sem qualquer mensagem) para mostrar o link de convite do servidor de Discord do EliteMobs, para suporte e transferências. Este comando requer a permissão elitemobs.discord.link.
Resolução de problemas
As mensagens não aparecem no Discord:
- Verifique se o DiscordSRV está instalado e a funcionar (teste primeiro com os comandos do próprio DiscordSRV)
- Confirme que o
announcementRoomNameNÃO está no valor de placeholder padrão - Certifique-se de que o nome/ID da sala corresponde exatamente ao que está na sua configuração do DiscordSRV
- Verifique a consola à procura de avisos do EliteMobs sobre a integração com o Discord
- Confirme que tem a permissão
elitemobs.discord.messagepara testar
Erros de canal não encontrado:
- Confirme a ortografia do nome do seu canal tanto no DiscordSRV.yml como no DiscordSRV.yml do EliteMobs
- Tente usar o ID numérico do canal em vez do nome
- Certifique-se de que o canal está corretamente configurado no config.yml do DiscordSRV
O comando de teste não funciona:
- Confirme que tem a permissão
elitemobs.discord.message - Use a sintaxe correta:
/em discord <message>(com uma mensagem) - Verifique a consola do servidor à procura de mensagens de erro