Laissez un bot parler dans le chat tout seul : poster des annonces, répondre aux messages privés qu'il reçoit, agir sur ce que disent les autres joueurs dans les canaux, obéir aux commandes de vos autres comptes et garder un statut. Activez le module de chat, choisissez ses profils de chat, essayez-les à blanc, réglez combien de lignes il envoie par minute, arrêtez l'envoi quand il le faut, et lisez ce qu'attend chaque annonce et ce qui a été dit.
Le module de chat laisse un bot parler dans le chat du jeu tout seul. Il poste des annonces : des messages que le bot dit dans les canaux que vous choisissez, à intervalles aléatoires, tant que leurs conditions sont vraies. Il répond aux messages privés que reçoit le bot, après le temps qu'une personne mettrait à lire et à taper. Il agit sur ce que disent les autres joueurs dans les canaux, par exemple en écrivant en privé à un joueur qui cherche ce que le bot vend. Il obéit aux commandes que vos autres comptes envoient au bot en message privé, comme !status ou !stop. Et il peut garder le statut du personnage, comme Absent avec un message. Ce qu'il dit vient des profils de chat du bot. Chaque ligne que dit le bot passe par le garde du module, qui respecte les limites du serveur lui-même : le bot n'en dit jamais plus que ce que le jeu permet.
Le module écoute aussi. Avec les alarmes par défaut, un membre de l'équipe qui parle au bot, l'avertit, le rend muet ou se tient sur sa carte met son chat en pause pour une demi-heure, et un message privé ou le nom du personnage dit dans un canal affiche une notification dans Asteroboard.
L'onglet Chat
Ouvrez la page d'un bot, puis son onglet Chat.
| Réglage | Ce qu'il fait |
|---|---|
| Module de chat | Fait tourner le module : le bot poste ses annonces, répond et obéit tant que son personnage est en jeu. Éteint, il ne fait rien de tout cela. Le garde continue de toute façon à traiter ce que vous tapez dans la Console et ce que disent les scripts. |
| Annonces | La partie annonces du module. Éteinte, le module tourne mais ne poste aucune annonce. |
| Réponses | Les réponses aux messages privés. Éteintes, le bot ne répond rien. Voir Réponses. |
| Déclencheurs | Ce que fait le bot sur les lignes des canaux. Éteints, il n'y fait rien. Voir Déclencheurs. |
| Commandes | Les commandes que vos comptes envoient en message privé. Éteintes, une commande n'est qu'un message, auquel les réponses répondent. Voir Commandes. |
| Statut | Le statut que les profils donnent au personnage. Éteint, le bot laisse le statut tel quel. Voir Statut. |
| Essai à blanc | Écrit chaque ligne dans la console du bot au lieu de l'envoyer, par exemple Dry run: would say in Commerce: Vends du blé, MP !. Ce que vous tapez dans la Console est toujours envoyé. |
| Profils | Les profils de chat du bot, dans l'ordre. Voir Profils. |
| Lignes par minute | Le plus de lignes que le bot envoie en une minute, messages privés compris, de 1 à 30. Vide vaut 6. Tapez un nombre, puis cliquez sur Appliquer. |
Chaque interrupteur et chaque changement des profils est enregistré tout de suite, dans les réglages du bot, et le bot le suit aussitôt.
Profils
Ajouter un profil ajoute l'un de vos profils de chat, ou de ceux de vos paquets, en fin de liste. Les flèches montent ou descendent un profil, et la croix le retire du bot (le profil lui-même reste). Profils de chat ouvre la page Profils de chat.
Chaque annonce de chaque profil tourne. Quand plusieurs profils fixent la même variable, la valeur du premier profil l'emporte, et c'est à cela que sert l'ordre : un profil avec les prix de la semaine au-dessus d'un profil avec les annonces qui les lisent.
Un profil illisible affiche Illisible : survolez-le pour savoir pourquoi. Ses annonces ne tournent pas tant que vous ne l'avez pas corrigé. Un profil que vous supprimez quitte la liste de chaque bot, et un profil que vous renommez garde sa place sous son nouveau nom.
Ce qu'un script change
Un script peut allumer ou éteindre le module, ses parties et l'essai à blanc, et choisir les profils, pendant qu'il tourne (voir asterobot:chat). L'onglet dit alors ce qu'il règle, par exemple « Le script en cours règle : module allumé, Réponses désactivées, profils Vente de blé. ». Vos réglages enregistrés reviennent quand le script s'arrête. Un script peut aussi répondre lui-même aux messages privés, avant les réponses des profils.
Sur une session relayée, seul l'interrupteur Module de chat que vous avez enregistré compte : un script ne peut pas y allumer ni éteindre le module.
Envoi
Chaque ligne que dit le bot passe par le garde, une à la fois :
- Une ligne en vol. Le garde envoie une ligne, puis attend que le serveur la renvoie, ou la refuse, avant la suivante. Après 5 secondes sans réponse, la ligne compte comme envoyée.
- Les délais. Quand le serveur répond qu'un canal est dans son délai (« Vous pourrez envoyer un nouveau message dans 37 secondes »), le garde attend exactement ce temps et renvoie la ligne une fois. La console dit
Waiting 37 s for the cooldown in Commerce, then sending the line once more. - Le plafond. Au plus Lignes par minute lignes partent en une minute.
- Trop de spam. Quand le serveur dit « Too much spam! », plus rien n'est envoyé pendant 5 minutes, puis 10, 20, 40 et 60 minutes au plus s'il le redit.
- Un mutisme. Quand un membre de l'équipe rend le personnage muet, plus rien n'est envoyé jusqu'à la fin du mutisme, plus une minute. Le jeu qui redonne la parole au personnage y met fin aussitôt.
- Vos lignes d'abord. Ce que vous tapez dans la Console passe avant toute autre ligne, et seul un délai le retient. Viennent ensuite les lignes des alarmes, les réponses aux commandes, les réponses et les messages des déclencheurs, et enfin les lignes des scripts et les annonces.
La section Envoi montre où en est le garde : Envoi en cours, En pause jusqu'à une heure, Arrêté jusqu'à la reprise, Trop de spam : attente jusqu'à une heure, ou Muet jusqu'à une heure.
Arrêter l'envoi retient les annonces, les réponses, les messages des déclencheurs, les réponses aux commandes et les lignes des scripts jusqu'à ce que vous cliquiez sur Reprendre ; les lignes en attente sont abandonnées. Ce que vous tapez dans la Console et les lignes que disent vos alarmes partent quand même. Une alarme qui met le chat en pause s'affiche en En pause jusqu'à la fin de sa pause.
Annonces
La section Annonces liste chaque annonce des profils du bot, avec son nom (ou Annonce 1, Annonce 2...), son profil, et où elle en est :
| État | Ce qu'il veut dire |
|---|---|
| Part dès que possible | Son attente est finie : elle part au prochain passage, dans la seconde. |
| Prochaine à une heure | Elle attend entre deux envois. |
| Attend : un test | Un test de sa condition est faux, par exemple Attend : Sous-zone. Elle part dès que la condition est vraie, si son attente est finie. |
| Attend : le personnage n'est pas encore en jeu | Le bot est connecté mais son personnage n'est pas encore entré en jeu, par exemple pendant qu'il en choisit un. |
| Attend : l'envoi est arrêté, Attend : trop de spam, Attend : le personnage est muet | Le garde retient toutes les annonces. |
Une raison, comme {prix} has no value |
Son message ne peut pas être rempli : une variable sans valeur, un objet que le personnage n'a pas. |
| Terminée : tous ses envois sont faits, Terminée : son temps est écoulé, Terminée : sa date est passée | Son arrêt l'a terminée pour de bon. |
À côté, combien de fois elle est partie (Envoyée 3 fois) et quand pour la dernière fois.
Quand vient le tour d'une annonce, elle remplit l'un de ses messages et l'envoie dans chacun de ses canaux à la fois : un canal encore dans son délai attend pendant que les autres partent. Elle attend ensuite un temps aléatoire entre ses deux attentes avant l'envoi suivant, et joue son émoticône ou son attitude, si elle en a une, sauf en essai à blanc.
Les compteurs sont gardés en mémoire : ils repartent de zéro au redémarrage d'Asterobot ou quand les profils du bot changent.
Quand le personnage n'a plus d'un objet que lie une annonce, après que l'annonce l'a dit au moins une fois, l'activité affiche Épuisé, et les alarmes l'entendent comme un évènement soldOut. L'annonce reprend quand l'objet est revenu.
Réponses
Quand un autre joueur envoie un message privé au bot, le bot répond avec la première règle de réponse de ses profils dont le test est vrai, par exemple « le message contient le mot prix ». Il attend d'abord comme le ferait une personne : un temps au hasard pour lire le message, puis le temps de taper la réponse, tous deux réglés par le rythme du profil.
Un joueur reçoit au plus une réponse des règles par heure par défaut : le bot répond au premier message d'une conversation et se tait ensuite ; un profil peut changer cela. Un script peut répondre en premier, aussi souvent qu'il veut (voir asterobot:chat).
Le bot ne répond jamais :
- à vos propres bots, pour que deux de vos bots ne se parlent jamais ;
- à un membre de l'équipe ;
- à une commande, que les commandes traitent à la place.
Déclencheurs
Quand un autre joueur dit quelque chose dans un canal, chaque déclencheur des profils du bot dont le test tient se déclenche, par exemple « une ligne en Commerce avec le mot wtb ». Il fait ses actions dans l'ordre : écrire en privé au joueur, dire quelque chose dans un canal, lever un événement pour les alarmes, prévenir le script, ignorer le joueur, jouer un smiley ou une émote, inviter le joueur dans le groupe, mettre le chat en pause. Un message privé ou un message attend comme une réponse, le temps de lire la ligne et de le taper.
Un même joueur déclenche un déclencheur au plus une fois par heure par défaut ; un profil peut changer cela. Les lignes de vos propres bots déclenchent aussi, sauf si un déclencheur teste L'un de vos bots. Celles d'un membre de l'équipe et celles du personnage lui-même jamais.
La console dit chaque déclencheur, par exemple Trigger wtb: Buyer in Trade: wtb wheat, et la section Activité aussi.
Commandes
Quand l'un des profils du bot obéit aux commandes, un message privé qui commence par !, venant de l'un de vos autres comptes ou d'un personnage auquel le profil fait confiance, est une commande. Le !stop d'un inconnu n'est qu'un message, auquel les réponses répondent : rien ne lui dit que le bot prend des commandes.
| Commande | Ce que fait le bot |
|---|---|
!stop |
Arrête son script et son trajet. |
!start |
Lance son script, celui qu'il joue quand vous cliquez sur Lancer. |
!pause ou !pause 30 |
Arrête l'envoi, jusqu'à !resume ou pendant 30 minutes, comme Arrêter l'envoi. |
!resume |
Envoie de nouveau. |
!say bonjour |
Dit bonjour dans le canal Général, tel quel. Le raccourci d'un canal en choisit un autre : !say /b vends du blé part en Commerce. |
!status |
Répond avec son état, par exemple Hero, level 50, Cité d'Astrub [4,-19], 12000 kamas, 350/2000 pods. |
!disconnect ou !disconnect 30 |
Quitte le jeu, et revient au bout de 30 minutes quand vous les donnez. Pas sur une session relayée. |
!status est la seule commande qui répond. La console et la section Activité disent ce qu'a fait chaque commande, par exemple Command !stop from Master: the script is stopped.
!stop, !start et !disconnect prennent la main sur le planning du bot, comme les mêmes boutons.
Une fois le script arrêté par !stop, vos réglages enregistrés reviennent : le bot n'entend !start que si l'interrupteur Module de chat que vous avez enregistré est allumé et que l'un des profils enregistrés prend des commandes. Quand c'est le script qui allume le module ou choisit les profils, !start n'est pas entendu.
Un profil choisit son préfixe, les personnages auxquels il fait confiance en plus de vos comptes, les commandes qui marchent et ce que répond !status (Commandes). Un nom de confiance ne compte que sur le serveur du bot. Une commande que le profil ne connaît pas va au script du bot, s'il répond aux commandes, et est ignorée sinon.
Statut
Quand l'un des profils du bot a un statut, le personnage le prend une fois en jeu, comme le réglerait le menu de statut du jeu : Disponible, Absent avec son message, Privé ou Solo. La console dit Status set to away by the chat profiles, et l'en-tête du bot l'affiche.
Un statut que vous changez ailleurs l'emporte : le menu de statut de l'en-tête, votre client de jeu sur une session relayée, un script. Le bot le laisse jusqu'à ce que les profils donnent un autre statut, que la partie Statut soit éteinte puis rallumée, ou la prochaine connexion. Quand les profils ne donnent plus de statut, ou que la partie s'éteint, le personnage reprend le statut qu'il avait avant, sauf si quelqu'un l'a changé entre-temps.
Absent, Privé et Solo refusent d'eux-mêmes les invitations de groupe, comme dans le jeu, et Privé bloque les messages privés des inconnus, que les réponses ne reçoivent alors jamais.
Activité
La section Activité garde les 200 dernières lignes, commandes, déclencheurs, fins d'annonce et mises en retrait, les plus récentes en premier, jusqu'au redémarrage d'Asterobot. Chacune montre son heure et ce qui s'est passé : Envoyée, Essai à blanc, Non envoyée, Annonce terminée, Épuisé, En retrait après « Too much spam! » ou un mutisme, Commande ou Déclencheur. Une ligne montre aussi qui l'a dite (Vous, Alarme, Commande, Réponse, Déclencheur, Script ou Annonce), où (dans un canal, ou à un personnage), la ligne, et pourquoi elle n'est pas partie. Une commande montre qui l'a envoyée et ce qu'a fait le bot ; un déclencheur, qui a dit la ligne et où, la ligne, et le nom du déclencheur.
Le chat lui-même reste dans la Console : les lignes du bot y apparaissent quand le serveur les renvoie, et celles de l'essai à blanc comme lignes de console.