I'm developing a discord bot and I have multiple if statment, that depend of the type of command that user puts in the discord chat.
if($content == '!saludo'){
$message->reply('@everyone Hola aguante php');
}
if($content == '!search')
{
}
if($content == '!information'){
$message->reply('Mi inteligencia artificial es peor que un bucle cimoliano y un cuadruple for del facha, por favor no me pdias mucho.');
}
if($content == '!bot'){
$message->reply(
'Fui creado el 12/12/2021 por Turquito, me considero un bot totalmente turco, mi version de php es 7.4 y utilizo web-sockets para comunicarme!');
}
how can I refactor this? Every time you want to add a new command, you should add an if
CodePudding user response:
You could use an array that maps to the different responses:
<?php
$arr = [
'!saludo' => '@everyone Hola aguante php',
'!search' => '...',
'!information' => 'Mi inteligencia artificial es peor que un bucle cimoliano y un cuadruple for del facha, por favor no me pdias mucho.',
'!bot' => 'Fui creado el 12/12/2021 por Turquito, me considero un bot totalmente turco, mi version de php es 7.4 y utilizo web-sockets para comunicarme!',
];
$content = '!bot';
$message->reply($arr[$content]);
CodePudding user response:
I suggest this:
<?php
$ms = "";
switch($content) {
case '!saludo':
$ms = '@everyone Hola aguante php';
break;
case '!search':
$ms = 'Cat gamer';
break;
case '!information':
$ms = 'Mi inteligencia artificial es...';
break;
case '!bot':
$ms = 'Fui creado el 12/12/2021 por Turquito...';
break;
default:
$ms = 'Dog gamer';
break;
}
$message->reply($ms);
?>