L'aide de FICS en français par Houarzhon
Liste

iv_block

  Paramétrer les blocks permet de bloquer des commandes. C'est à dire qu'il est possible de s'accorder avec le serveur sur ses renvois par une commande produite. Notez que tous les renvois sont contenus dans le 'block' même si celui-ci est causé par une commande (comme les messages 'gin'). Fondamentalement, les blocks englobent toutes les informations jusqu'à ce que la commande revienne au pseudo.
  Après avoir fait "iset block" il ne sera plus possible d'exécuter normalement une commande au serveur. Elles devront être précédées d'un nombre suivi d'un espace. C'est l'identifiant de commande. La valeur 0 est réservée. Normalement une interface doit démarrer par 1 et ensuite monter dans des nombres plus élevés. Lorsque la valeur prend plus de place, elle sera limitée à 10 donc uniquement un bit de donnée sera nécessaire comme renvoi.
Ainsi :
1 shout hi
Enverra 'shout hi' au serveur et sera marquée comme la commande 1.

Lorsque le renvoi est affiché, il ressemblera à ça :

Cela sera suivi par :

  Ainsi il est facile d'interroger les renvois du serveur avec la commande utilisant cette donnée.
  Il y a plusieurs codes de commande pour des cas spéciaux :
BLK_NULL                    - aucune commande n'a été envoyée
BLK_GAME_MOVE               - un coup a été reconnu
BLK_ERROR_BADCOMMAND        - la commande n'a pas été reconnue
BLK_ERROR_BADPARAMS         - mauvais paramètre donné
BLK_ERROR_AMBIGUOUS         - commande ambigüe
BLK_ERROR_RIGHTS            - droits insuffisants
BLK_ERROR_OBSOLETE          - commande obsolète
BLK_ERROR_REMOVED           - supprimé / momentanément indisponible
BLK_ERROR_NOTPLAYING        - un coup et il n'y a pas de partie en cours
BLK_ERROR_NOSEQUENCE        - aucun identifiant de commande trouvé (erreur client)
BLK_ERROR_LENGTH            - la commande est trop longue
BLK_NULL et BLK_ERROR_NOSEQUENCE ne produiront aucun résultat de commande.
  Malheureusement, à cause de la façon dont fonctionne le serveur, il n'est pas possible de séparer les erreurs lorsque la commande vérifie elle-même les paramètres. Dans ce cas il apparaîtra aura mis l'information en tant que commande de renvoi. Cela pourra être corrigé dans le futur par une nouvelle ivariable et par le tri de certains paramètres supplémentaires.
  Il est possible pour les admins et les bots d'exécuter des commandes pour les pseudos et pour certaines commandes d'appeler d'autres commandes. C'est appelé 'posing' (se faire passer pour / agir pour). Une 'pose' peut être détectée car POSE_START est vu (l'identifiant de commande est 0) ce qui peut apparaître à l'intérieur du retour de la commande (avant que BLOCK_END ne soit détecté). La commande 'pose' est marquée à sa fin par un POSE_END. Un nombre de celles-ci peut être récursivement empilé. A l'intérieur des marques POSE_START et POSE_END il y aura des renvois comme décrits au-dessus. Les cas où des commandes en appellent d'autres sont purgés du système, mais un nombre reste quand même. POSE_START peut être vu hors d'une commande quand un admin ou un bot provoque l'exécution d'une commande.
Exemple :
... 0
...
...
  Notez que 'blocking' n'est actuellement pas compatible avec Timeseal. Timeseal sera recompilé plus tard pour permettre à ce mode d'être utilisé. Par conséquent cela n'a un intérêt que pour les auteurs de bots.
  La liste des codes que FICS utilise actuellement peut être vue dans "help block_codes".
Les codes commande des admins ne sont pas affichées mais les auteurs sérieux peuvent les demander.

Voir aussi : block_codes iset ivariables
 
[Dernière modification : 3 août 2000 -- DAV]
Traduction par Houarzhon le 20 juillet 2006