ОсновноеRadiotalkПользовательское
Программирование
6   •   Посмотреть все темы

Переписать код

 

3363
Влад @4ih-pqh
в общем отрыл я у себя старого бота, но вот засада. Похоже писался под php5.6

я уже давно не в курсе как развивается php. Сидел мудрил пол дня и не вымудрил.

Помогите разобраться с датами:

// New proccess, start main cycle
while(true) {
//logic here o.o
botMonitoring();
if (date('His') == 080000) {
newYearCountDown(getDialogRandom()[0],getDialogRandom()[1]);
sendSticker();
};
if((date('D') == 'Sat' || date('D') == 'Sun') && (date('H') > 08 & date('H') < 22) && $time==date('H')) {
$time+=1;
sendMessage(toDoRandom());
}
sleep(1);
};


Конкретно тут выдаёт ошибку на 7.4
Может смогу дальше двигаться по вашей наводке, если нет, готов оплатить работу.

Спасибо.

20089
Dimitry @Dimitry
Ошибку?

3363
Влад @4ih-pqh
конкретно 5-я строка тут


PHP Parse error: Invalid numeric literal in /var/www/bot/app/telegram_bot.php on line 154

Но я боюсь что остальное тоже устарело, хотя сейчас прогнал по анализаторам кода, и все грешат именно на эту строку, пытался по мануалам понять как изменить, но это приводит к другим ошибкам повсеместно.

20089
Dimitry @Dimitry
Ну там же всё написано, таких чисел не бывает, сделай так
if (date('His') == '080000') {

3363
Влад @4ih-pqh
теперь 4, 5, 6

Trying to access array offset on value of type null in

Я так понимаю дело в массиве и его надо переделать под php 7,4?

function botMonitoring(){
$content = file_get_contents(API_URL.'getUpdates?offset=-1');
$update = json_decode($content,true);
$message = $update['result'][0]['message']; // count($update['result'])-1
$text = $message['text'];
$date = $message['date'];
if($date > getdate()[0] - 1){
sendMessage(findAnswer($text));
};
};



или так можно?

$date = isset($message['date']);

Отредактировано 4ih-pqh - 04.12.2022
20089
Dimitry @Dimitry
Trying to access array offset on value of type null in

Это предупреждение что в $update нет массива.
Это не ошибка, это проблема с данными полученными от API.
Вообще судя по всему очень старый скрипт, поищи новее.

3363
Влад @4ih-pqh
Dimitry пишет:

Trying to access array offset on value of type null in

Это предупреждение что в $update нет массива.
Это не ошибка, это проблема с данными полученными от API.
Вообще судя по всему очень старый скрипт, поищи новее.



Жаль, хотелось оживить старого бота) при чём один раз в чат написал и ... умер...