プラグイン側でアップデートがあるかどうかチェックする機能の付け方。
onLoadまたはonEnable時にネット上にアップロードしているファイルにアクセスして、
そのプラグインのバージョンと比較します。
RuinPrayさんのプラグインを参考にしています。
onLoadまたはonEnable時にネット上にアップロードしているファイルにアクセスして、
そのプラグインのバージョンと比較します。
RuinPrayさんのプラグインを参考にしています。
PHP:
use pocketmine\utils\Utils;
use pocketmine\plugin\PluginBase;
class Foo extends PluginBase {
public function onLoad() {
$response = Utils::getURL("http://www.example.com/version.txt?" . time() . "mt_rand"); //プラグインのバージョンが記載されているファイルが置かれているURL。?とtime()とmt_rand()は後で解説
if($response !== false) { //接続できなかった場合はfalseを返すのでここで評価
$response = str_replace("\n", "", $response); //文字列の最後は改行されているのでそれを取り除く
if($this->getDescription()->getVersion() !== $response) { //plugin.ymlに記載されているバージョンと$responseを比較
$message = "新しいバージョンがあります! ⇒" . $this->getDescription()->getWebsite(); //お知らせとplugin.ymlに記載されているwabsite欄のURLを表示
$this->getServer()->getLogger()->notice($message);
}
}
}
}
最後の編集: