私は自分の vBulletin フォーラムに多くの変更を加えてきました。また、さまざまな形式の AI とフォーラムでのボットに特に関心を持っています。最近、ボットが呼び出された場合にスレッドに投稿するプラグインを作成しました。ある時は動作し、他の時は動作しません。なぜ信頼性が低いのか理解できません。
フックの場所「newpost_complete」で起動し、次のコードがあります。
if (stristr($postinfo['pagetext'],'.robot:')){
preg_match('@^(?:.robot:)?([^:]+)@i',$postinfo['pagetext'], $matches);
$host = $matches[1];
require_once(DIR . '/includes/functions_robot.php');
run($host,$threadinfo['threadid']);
}
私は正規表現が苦手なので、 preg_match が最適かどうかわかりません。.robot:hi: を投稿するとほとんどコードが実行されないことがわかりましたが、.robot:hi: を含む投稿を引用すると、実際の引用内容が別のものに変更されても、必ず実行されます。
functions_robot.php ファイル内の関連コードは次のとおりです。
function run($command,$threadid) {
global $vbulletin;
global $db;
if ($command == 'hi') {
$output = 'Hello.';
//Queries
}
}
信頼性が低い原因について何か考えはありますか? スムーズに運用できれば、可能性は大いにあります。