Page
Feed
Catalog
Files
Igromir
Forums
Services
Программирование
5 •
Посмотреть все темы
Переписать код
1
3363
Влад
@4ih-pqh
Цитировать
02.12.2022
в общем отрыл я у себя старого бота, но вот засада. Похоже писался под php5.6
я уже давно не в курсе как развивается php. Сидел мудрил пол дня и не вымудрил.
Помогите разобраться с датами:
[code] // 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);
};[/code]
Конкретно тут выдаёт ошибку на 7.4
Может смогу дальше двигаться по вашей наводке, если нет, готов оплатить работу.
Спасибо.
19808
Dimitry
@Dimitry
Цитировать
02.12.2022
Ошибку?
3363
Влад
@4ih-pqh
Цитировать
02.12.2022
конкретно 5-я строка тут
PHP Parse error: Invalid numeric literal in /var/www/bot/app/telegram_bot.php on line 154
Но я боюсь что остальное тоже устарело, хотя сейчас прогнал по анализаторам кода, и все грешат именно на эту строку, пытался по мануалам понять как изменить, но это приводит к другим ошибкам повсеместно.
19808
Dimitry
@Dimitry
Цитировать
02.12.2022
Ну там же всё написано, таких чисел не бывает, сделай так
if (date('His') == '080000') {
3363
Влад
@4ih-pqh
Цитировать
04.12.2022
теперь 4, 5, 6
Trying to access array offset on value of type null in
Я так понимаю дело в массиве и его надо переделать под php 7,4?
[code]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));
};
};[/code]
или так можно?
[code] $date = isset($message['date']);[/code]
Отредактировано 4ih-pqh -
04.12.2022
19808
Dimitry
@Dimitry
Цитировать
04.12.2022
Trying to access array offset on value of type null in
Это предупреждение что в $update нет массива.
Это не ошибка, это проблема с данными полученными от API.
Вообще судя по всему очень старый скрипт, поищи новее.
3363
Влад
@4ih-pqh
Цитировать
05.12.2022
[quote=Dimitry]Trying to access array offset on value of type null in
Это предупреждение что в $update нет массива.
Это не ошибка, это проблема с данными полученными от API.
Вообще судя по всему очень старый скрипт, поищи новее.[/quote]
Жаль, хотелось оживить старого бота) при чём один раз в чат написал и ... умер...
Неавторизованные и новички не могут отправлять сообщения.