Bonjour/Bonsoirs, nouveau problème sur AutoIT pour ma part. Cette fois-ci, j'essaye de faire pour que mon script AutoIT lise les lignes d'un XML et qu'il choisissent de manière aléatoire une réponse sur toute celle donnée. (Création d'un bot pour IRC, considérer comme autre bot ou pas ? Si oui, alors je chercherais ailleurs.)
► Afficher le textefichier xml
Code : Tout sélectionner
<?xml version="1.0" encoding="ISO-8859-1"?>
<category>
<pattern>CONNECT</pattern>
<template>
<random>
<li>Salut, </li>
<li>Bonjour, </li>
<li>Hello, </li>
</random>
</template>
</category>
► Afficher le textecode autoit
Code : Tout sélectionner
#include <XML.au3>
Global $contents = _XMLLoad("essai.aiml")
Global $categories_num = __StringNumOccur($contents, "<category>")
Global $patterns[$categories_num + 1]
Global $templates[$categories_num + 1]
Global $Li[$categories_num + 1]
For $i=1 To $categories_num
$cat_contents = _XMLGet ($contents, "category", $i)
$cat_pattern = _XMLGet ($cat_contents, "pattern")
__StringStripPunct ($cat_pattern)
If @error Then Exit MsgBox (48, "AIML Bot", "AIML Syntax Error:"&@CRLF&@CRLF&"Category number "&$i&" does not have a <pattern> tag. Please check your code and try again.")
If $cat_pattern = "" Then Exit MsgBox (48, "AIML Bot", "AIML Syntax Error:"&@CRLF&@CRLF&"The <pattern> tag in category number "&$i+1&" is empty. Please check your code and try again.")
$patterns[$i] = $cat_pattern
$cat_template = _XMLGet ($cat_contents, "template")
If @error Then Exit MsgBox (48, "AIML Bot", "AIML Syntax Error:"&@CRLF&@CRLF&"Category number "&$i&" does not have a <template> tag. Please check your code and try again.")
If $cat_template = "" Then Exit MsgBox (48, "AIML Bot", "AIML Syntax Error:"&@CRLF&@CRLF&"The <template> tag in category number "&$i+1&" is empty. Please check your code and try again.")
$templates[$i] = $cat_template
$cat_random = _XMLGet ($cat_template, "random")
$Li = _XMLGet ($cat_random, "li")
Next
MsgBox(0,"", $Li)
Comme on peut le voir d’après mon code, (en partie repris d'un autre bot pour IRC), j'essaye de faire pour que la balise <Li> soit lu de manière aléatoire... Le principal probleme, c'est qu'il ne renvoit que le premier message.
Merci de me signaler si se genre de problèmes est interdit sur le forum, et, si ce n'est pas le cas, de bien vouloir m'aider.
---EDIT---
J'ai ajouté le fichier XML.au3 qui peut-être utile.
