【问题标题】:My Php telegram robot (php) has error我的 PHP 电报机器人 (php) 有错误
【发布时间】:2017-04-25 13:44:02
【问题描述】:

[Mon Apr 24 15:27:18.386224 2017] [:error] [pid 13455:tid 140239221724928] [client 66.102.9.3:51192] PHP 注意:试图在 /home/parsprog/ 中获取非对象的属性domain/parsprog.ir/private_html/bot/whoseeprofile/index.php 第 51 行,引用者:Google

<?php
date_default_timezone_set('UTC');
//connect To DB
$servername = "localhost";
$dbusername = "parsprog_wsmpp";
$dbpassword = "13721372";
$dbname = "parsprog_wsmpp";
$conn = new mysqli($servername, $dbusername, $dbpassword, $dbname);
if ($conn->connect_error) {
    die("Connection failed: ".$conn->connect_error);
}
//show welcome message From DB
$result = $conn->query("SELECT * FROM messages WHERE subject LIKE 'welcome'") or die($conn->error);
while($row = $result->fetch_assoc()) {
   $welcomemsg =  $row['message'];
   echo $welcomemsg;
}
    $userid = '';
    $username = '';
    $fname = '';
    $lname = '';
    $date = '';
//Telegram BOT Connection
$url = "https://api.telegram.org/token";
$data = json_decode(file_get_contents("php://input"));
$keyboard = array(
    'keyboard' => array(
        array('A'),
        array('B'),
        array('C'),
    ),
'resize_keyboard' => true
);
//IF text is: /start
$welcometxt = "hi ".$data->message->from->first_name." dear";
if($data->message->text == '/start'){
    file_get_contents($url.'sendmessage?chat_id='.$data->message->chat->id."&text=".urlencode($welcometxt).".&reply_markup=".json_encode($keyboard));
    $userid = $data->message->chat->id;
    $username = $data->message->from->username;
    $fname = $data->message->from->first_name;
    $lname = $data->message->from->last_name;
    $date = date("y-m-d");
    $result = $conn->query("INSERT INTO members (id,userid,username,fname,lname,datesignup) VALUES (,$userid,$username,$fname,$lname,$date)");
}
if($data->message->text == 'A'){
    file_get_contents($url."sendmessage?chat_id=".$data->message->chat->id."&text=hi ".$data->message->from->first_name." dear .&reply_markup=".json_encode($keyboard));
}
$conn->close();
?>

【问题讨论】:

  • 我们需要更多的代码和输入......
  • 什么是$input?你确定它是你认为的那样吗?你确定吗?
  • 你把 json_decode() 放到代码里了吗?
  • 请重新审核

标签: php telegram-bot


【解决方案1】:

我不能评论 jet 所以:你在你的代码中写了一个纯文本密码并发布了它!我建议您立即更改!

对于您最初的问题:如果您想发送消息,您需要以下 https://api.telegram.org/botYOURBOTTOKEN/sendmessage?chat_id=YOURCHATID&amp;text=YOURMESSAGE 简要查看您的代码,我发现有 $url = "https://api.telegram.org/token"; 和后来的 file_get_contents($url.'sendmessage?chat_id='.$data-&gt;message-&gt;chat-&gt;id."&amp;text=".urlencode($welcometxt).".&amp;reply_markup=".json_encode($keyboard)); 无法发送任何内容。从那里开始,看看它是怎么回事,我不能向你保证这是唯一的错误。

顺便说一句,你提交的代码只有 49 行,而你提供的错误代码是第 51 行,所以我猜你没有提交正确的代码或其他什么?

【讨论】:

    猜你喜欢
    • 2019-03-14
    • 2022-06-14
    • 1970-01-01
    • 2015-12-12
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-01
    相关资源
    最近更新 更多