PHP - Problema bot, recibir peticiones

 
Vista:
sin imagen de perfil
Val: 17
Ha aumentado su posición en 7 puestos en PHP (en relación al último mes)
Gráfica de PHP

Problema bot, recibir peticiones

Publicado por Jesus Alonso (13 intervenciones) el 30/05/2021 21:41:25
Buenas, tengo un problema con la creación de un bot de telegram, dado que lo programé con php preferí decirlo por acá, sucede que use una conexión a base de datos un switch por cada comando ejecutado en el bot y varias consultas, subí los archivos a un servidor gratuito con certificado, y cambie el webhook de telegram para realizar la prueba.

Mi problema es....una vez cambiado el webhook el bot deja de contestar peticiones, osea ninguno de los códigos contenidos se ejecuta ni realiza nada por más que simplifique el código (aunque lo deje con un solo comando y un mensaje de respuesta y ya)

Alguien sabe de creación de bota de telegram para pasarle mi código y me diga cuál sería mi fallo?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Problema bot, recibir peticiones

Publicado por Mauro (1036 intervenciones) el 31/05/2021 14:27:56
Hola Jesús:

Podrías publicar aquí tu código (o una parte de él), aunque por lo que comentas me inclino a pensar que el problema es alguna configuración del servidor.

Deberías mirar, para comenzar, cómo está el php.ini de tu servidor original (¿Es un servidor local?) y compararla con la del nuevo.

Otro punto que podría ayudarte es verificar el log de errores del servidor a ver si te da alguna pista.

Exitos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 17
Ha aumentado su posición en 7 puestos en PHP (en relación al último mes)
Gráfica de PHP

Problema bot, recibir peticiones

Publicado por Jesus Alonso (13 intervenciones) el 31/05/2021 15:02:54
codigo adjunto, utilice el servidor de 000web
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 17
Ha aumentado su posición en 7 puestos en PHP (en relación al último mes)
Gráfica de PHP

Problema bot, recibir peticiones

Publicado por Jesus Alonso (13 intervenciones) el 31/05/2021 15:02:09
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
<?php
    include("conectar/conectar.php");
    date_default_timezone_set("America/Caracas");
    $fecha = date("Y-m-d");
    $botToken = "1856548057:AAFMWpf8y-WNdLxXTB-QWLWMn8lIC62OB2Q";
    $website = "https://api.telegram.org/bot".$botToken;
    $update = file_get_contents('php://input');
    $update = json_decode($update,TRUE);
    $retirar = false;
    $modificar_correo = false;
    $chatId = $update["message"]["chat"]["id"];
    $chatType = $update["mesage"]["chat"]["type"];
    $mensaje = $update["message"]["text"];
    $usuario_id = $update["message"]["user"]["id"];
    $usuario = $update["message"]["user"]["username"];
    $consulta = mysqli_query($conexion,"select * from participantes where id_par='$usuario_id'");
    $filas = mysqli_num_rows($consulta);
    if($filas>0){
        $arreglo = mysqli_fetch_array($consulta,MYSQLI_BOTH);
    }
    switch($mensaje){
        case "/start":
            if($filas<1){
                $agregar = mysqli_query($conexion,"INSERT INTO participantes (id_par,usu_par,id_rang) VALUES ('$usuario_id','$usuario',1)");
                enviar_mensaje($chatId,"/start");
            }
        break;
        case "/ficha_duelista":
            enviar_mensaje($chatId,"/ficha_duelista");
        break;
        case "/retirar":
            enviar_mensaje($chatId,"/retirar");
        break;
        case is_numeric($mensaje):
            if($retirar==true){
                if($arreglo["bal_par"]<$mensaje || $arreglo["bal_par"]==0){
                    enviar_mensaje($chatId,"balance_bajo");
                }else{
                    enviar_mensaje($chatId,"balanceado");
                    $cantidad_bal = $mensaje;
                }
            }
        break;
        case "/retiros":
            $historial = mysqli_query($conexion,"select * from retiros where id_par='$usuario_id'");
            $cantidad_retiros = mysqli_num_rows($historial);
            enviar_mensaje($charId,"/retiros");
        break;
        case "/modificar_email":
            $modificar_correo = true;
            enviar_mensaje($charId,"modificar_email");
        break;
        case (substr($mensaje,1,1)!="/"):
            if($modificar_correo==true){
               $validacion = filter_var($mensaje, FILTER_VALIDATE_EMAIL);
               if($validacion==false){
                   enviar_mensaje($chatId,"cambiando_correo_fallido");
                   $modificar_correo = false;
               }else{
                   mysqli_query($conexion,"UPDATE `participantes` SET ema_par='$mensaje' WHERE `id_par`='$usuario_id'");
                   $modificar_correo = false;
                   enviar_mensaje($chatId,"cambiando_correo_correcto");
               }
            }
        break;
        case "/soporte":
            enviar_mensaje($chatId,"/soporte");
        break;
 
    }
 
    function enviar_mensaje($chatId,$comando){
        $rang = mysqli_query($conexion,"select * from rango where id_rang = '".$arreglo["id_rang"]."'");
        $rango = mysqli_fetch_array($rang,MYSQLI_BOTH);
        if($comando=="ficha_duelista"){
            $respuesta = "
            Duelista: ".$usuario.".<br>
            Rango: ".$rango["rang_rang"].".<br>
            Balance:".$arreglo["bal_par"].".<br>
            Torneos Ganados:".$arreglo["tor_ga_par"].".<br>
            Participaciones en torneos:".$arreglo["tor_par_par"].".<br>
            Eventos Ganados:".$arreglo["ev_ga_par"].".<br>
            Participaciones en eventos:".$arreglo["ev_par_par"].".
            ";
        }
        if($comando=="/retirar"){
            $respuesta = "Ingrese el monto que desea retirar:";
            $retirar = true;
        }
        if($comando=="balance_bajo"){
            $respuesta = "No posees dinero suficiente para retirar";
            $retirar = false;
        }
        if($comando=="balanceado"){
          if($arreglo["ema_par"]==null){
               $respuesta = "Debes añadir un email para hacer la solicitud";
              $retirar = false;
          }else{
              $agregar = mysqli_query($conexion,"INSERT INTO retiros (id_par,mon_ret,cor_ret,est_ret,fec_ret) VALUES ('$usuario_id','$cantidad_bal','".$arreglo["ema_par"]."',0,'$fecha')");
              $nuevo_balance = $arreglo["bal_par"]-$cantidad_bal;
              mysqli_query($conexion,"UPDATE `participantes` SET bal_par='$nuevo_balance' WHERE `id_par`='$usuario_id'");
              $respuesta = "Su solicitud de pago ha sido realizada, por favor espere hasta que se haga efectiva";
              $retirar = false;
          }
        }
        if($comando=="/retiros"){
            $contador = 0;
            $estado = "nada";
            if($cantidad_retiros>0){
                for($j=0;$j<$cantidadretiros;$j++){
                    $contador++;
                    $historial_retiros = mysqli_fetch_array($historial,MYSQLI_BOTH);
                    if(historial_retiros[est_ret]==0){
                        $estado = "Pendiente";
                    }
                    if(historial_retiros[est_ret]==1){
                        $estado = "Pagado";
                    }
                    if(historial_retiros[est_ret]==2){
                        $estado = "Error";
                    }
                    if($j=0){
                        $respuesta = "<center> Historial de retiros </center><br>
                        <center>1</center> <br>
                        ID = ".$historial_retiros["id_ret"]."<br>
                        Monto = ".$historial_retiros["mon_ret"]."<br>
                        Paypal = ".$historial_retiros["ema_ret"]."<br>
                        Estado = ".$estado."<br>
                        Fecha = ".$historial_retiros["fec_ret"]."
                        ";
                    }else{
                          $respuesta += "<br>
                        <center>$contador</center> <br>
                        ID = ".$historial_retiros["id_ret"]."<br>
                        Monto = ".$historial_retiros["mon_ret"]."<br>
                        Paypal = ".$historial_retiros["ema_ret"]."<br>
                        Estado = ".$estado."<br>
                        Fecha = ".$historial_retiros["fec_ret"]."
                        ";
                    }
                }
            }else{
                $respuesta = "Usted no ha realizado retiros";
            }
        }
        if($comando=="/modificar_email"){
            $respuesta = "Ingrese el Email de paypal que desea agregar";
        }
         if($comando=="/start"){
            $respuesta = "Bienvenido al foro de creación de duelos de yugi";
        }
        if($comando=="cambiando_correo_fallido"){
            $respuesta = "Email inválido";
        }
        if($comando=="cambiando_correo_correcto"){
            $respuesta = "Correo modificado con éxito";
        }
        if($comando=="/soporte"){
            $btn = (new InlineKeyboardButton('Funciona'))->setUrl('www.google.co.ve');
            $respuesta = "Esto es una prueba para los botones".$btn;
        }
        $url = $GLOBALS[website].'sendMenssage?chat_id-'.$chatId.'&parse_mode-HTML&text-'.urlencode($respuesta);
    }
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Problema bot, recibir peticiones

Publicado por Mauro (1036 intervenciones) el 01/06/2021 15:00:00
Vale, gracias por el código :)

¿Pudiste constatar que las peticiones están llegando a tu servidor? Algo que puede ayudarte es ver el log de accesos al servidor.

Otra cosa que podrías mirar es el log de errores... ¿ves algo raro ahí?

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 17
Ha aumentado su posición en 7 puestos en PHP (en relación al último mes)
Gráfica de PHP

Problema bot, recibir peticiones

Publicado por Jesus Alonso (13 intervenciones) el 01/06/2021 15:02:12
No he revisado ninguno voy a hecharkes un vistazo y aviso
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar