Primer commit del sistema separado falta mejorar mucho
This commit is contained in:
55
discord/register_commands.php
Executable file
55
discord/register_commands.php
Executable file
@@ -0,0 +1,55 @@
|
||||
<?php
|
||||
/**
|
||||
* Script para registrar los Slash Commands en Discord.
|
||||
* Ejecutar manualmente una sola vez o cuando los comandos cambien.
|
||||
* php discord/register_commands.php
|
||||
*/
|
||||
|
||||
require_once __DIR__ . '/../vendor/autoload.php';
|
||||
|
||||
use Discord\Discord;
|
||||
use Discord\Builders\Components\ActionRow;
|
||||
use Discord\Builders\Components\Button;
|
||||
use Discord\Builders\MessageBuilder;
|
||||
use Discord\Builders\CommandBuilder;
|
||||
use Discord\Parts\Interactions\Command\Command;
|
||||
|
||||
// Cargar variables de entorno
|
||||
if (file_exists(__DIR__ . '/../.env')) {
|
||||
$lines = file(__DIR__ . '/../.env', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
|
||||
foreach ($lines as $line) {
|
||||
if (strpos(trim($line), '#') === 0) continue;
|
||||
if (strpos($line, '=') === false) continue;
|
||||
list($key, $value) = explode('=', $line, 2);
|
||||
$_ENV[trim($key)] = trim($value);
|
||||
}
|
||||
}
|
||||
|
||||
$discord = new Discord([
|
||||
'token' => $_ENV['DISCORD_BOT_TOKEN'],
|
||||
]);
|
||||
|
||||
$discord->on('ready', function (Discord $discord) {
|
||||
echo "Bot de registro iniciado..." . PHP_EOL;
|
||||
|
||||
// Crear el comando
|
||||
$command = new Command($discord, [
|
||||
'name' => 'start',
|
||||
'description' => 'Muestra el mensaje de bienvenida y las opciones de idioma.',
|
||||
]);
|
||||
|
||||
// Registrar el comando globalmente
|
||||
$discord->application->commands->save($command)->then(
|
||||
function (Command $command) {
|
||||
echo "Comando '/{$command->name}' registrado exitosamente!" . PHP_EOL;
|
||||
},
|
||||
function (\Exception $e) {
|
||||
echo "Error al registrar el comando: " . $e->getMessage() . PHP_EOL;
|
||||
}
|
||||
)->done(function() use ($discord) {
|
||||
echo "Registro de comandos completado. Cerrando." . PHP_EOL;
|
||||
$discord->close();
|
||||
});
|
||||
});
|
||||
|
||||
$discord->run();
|
||||
Reference in New Issue
Block a user