Intégration DiscordSRV
EliteMobs utilise DiscordSRV pour permettre la diffusion des messages de priorité d'annonce de niveau 3 et supérieur. Vous pouvez en apprendre plus sur le système de priorité d'annonce ici.
Concrètement, cela signifie que certains Boss Personnalisés très spéciaux peuvent envoyer des messages sur Discord d'une manière qui ressemble à ceci :

L'intention est de créer un salon d'annonces dédié à EliteMobs que les joueurs peuvent consulter pour voir s'il y a des Boss de Monde intéressants actuellement en vie qu'ils peuvent aller tuer, et le montrer dans le classement des éliminations.
Tout mettre en place
Configurer DiscordSRV
DiscordSRV est un plugin différent qui n'est pas développé par moi. Vous pouvez trouver leur guide de configuration détaillé ici. Si vous avez du mal à le configurer, leur salon de support est ici. Je ne suis pas en mesure de fournir du support pour ce plugin, veuillez donc vous adresser à eux pour cette partie de l'installation.
EliteMobs est compilé avec DiscordSRV 1.28.0. Utilisez la commande de test ci-dessous pour vérifier la réception des messages avec la version installée sur votre serveur.
Configurer l'intégration DiscordSRV d'EliteMobs
Une fois que vous avez correctement configuré DiscordSRV (et vous devez tester pour vérifier que cela fonctionne réellement avant de passer à cette étape), la configuration d'EliteMobs ne comporte qu'une seule étape.
Rendez-vous dans le fichier de configuration DiscordSRV.yml du dossier de configuration d'EliteMobs (généralement plugins/EliteMobs/DiscordSRV.yml) et vous y trouverez une option de configuration nommée announcementRoomName.
Il existe trois valeurs utilisables pour ce message. Je recommande la n°1.
-
[Recommandé] Le nom du salon tel que vous l'avez configuré dans le fichier de configuration de DiscordSRV. Peu importe comment vous avez appelé le salon, seul compte le fait d'utiliser le bon nom. Voici un exemple du salon que j'ai configuré pour être dédié aux événements EliteMobs :
Dans mon cas, l'option devrait être announcementRoomName: EMEvents. -
L'ID du salon tel que vous l'avez configuré dans le fichier de configuration de DiscordSRV. Voici un exemple du salon. Notez que chaque salon est unique. Je ne montre les images qu'à titre d'exemple, n'essayez pas de copier les numéros d'ID. Cela ne fonctionnera pas. Votre configuration doit avoir un ensemble de chiffres unique basé sur l'id de votre salon discord.

-
[Moins fiable] Le nom du salon tel qu'il apparaît sur Discord. La recherche de secours ignore la casse et sélectionne le premier salon textuel correspondant ; des noms identiques peuvent donc mener au mauvais destinataire. DiscordSRV et son bot doivent être configurés et avoir accès au salon ; cette recherche par nom ne nécessite pas elle-même de correspondance avec un canal du jeu.
Notes techniques
- Les codes couleur Minecraft sont automatiquement retirés des messages envoyés vers Discord afin d'assurer un affichage correct
- Les messages Discord sont envoyés de façon asynchrone pour éviter les ralentissements du serveur
- EliteMobs utilise une recherche à trois niveaux pour trouver votre salon Discord : d'abord par ID de salon (uniquement si
announcementRoomNamene contient que des chiffres), puis par la correspondance de salons de DiscordSRV, et enfin par recherche du nom de salon - Les annonces automatiques de contenu nécessitent une priorité de 3 ou plus : messages d'apparition, de mort et de fuite des boss personnalisés, ainsi que
startMessage/endMessagedes événements personnalisés. La commande de test manuel ci-dessous envoie directement sans vérifier de priorité de contenu. - Les mêmes messages que ceux affichés en jeu sont envoyés vers Discord
- Le salon est recherché à nouveau pour chaque annonce : une correction de
announcementRoomNameprend donc effet après/em reload. Une recherche qui ne trouve rien enregistreChannel room <name> is not valid!dans la console ; un message refusé par Discord enregistreDiscordSRV announcement failed for <name>.
Tests
Vous pouvez utiliser la commande /em discord <message> pour tester si votre configuration fonctionne. Remplacez <message> par le texte de votre choix à envoyer sur Discord.
Exemple : /em discord Test message from EliteMobs!
Vérifiez que le message apparaît dans le salon Discord prévu. L'accusé de réception de la commande confirme seulement une tentative d'envoi ; il peut apparaître même si DiscordSRV manque, si le réglage contient encore la valeur d'exemple ou si la recherche du salon échoue. Sans message dans Discord, la livraison n'est pas vérifiée.
Remarque : cette commande nécessite la permission elitemobs.discord.message
Vous pouvez également utiliser /em discord (sans message) pour afficher le lien d'invitation du serveur Discord d'EliteMobs, pour le support et les téléchargements. Cette commande nécessite la permission elitemobs.discord.link.
Dépannage
Les messages n'apparaissent pas sur Discord :
- Vérifiez que DiscordSRV est installé et fonctionnel (testez d'abord avec les propres commandes de DiscordSRV)
- Vérifiez que
announcementRoomNamen'est PAS laissé à sa valeur d'exemple par défaut - Assurez-vous que le nom/ID du salon correspond exactement à ce qui figure dans votre configuration DiscordSRV
- Consultez la console pour d'éventuels avertissements d'EliteMobs concernant l'intégration Discord
- Vérifiez que vous disposez de la permission
elitemobs.discord.messagepour les tests
Erreurs de salon introuvable :
- Revérifiez l'orthographe du nom de votre salon dans DiscordSRV.yml et dans le DiscordSRV.yml d'EliteMobs
- Essayez d'utiliser l'ID numérique du salon plutôt que son nom
- Assurez-vous que le salon est correctement configuré dans le config.yml de DiscordSRV
La commande de test ne fonctionne pas :
- Vérifiez que vous disposez de la permission
elitemobs.discord.message - Utilisez la syntaxe correcte :
/em discord <message>(avec un message) - Consultez la console du serveur pour d'éventuels messages d'erreur