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

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

 

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

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

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

  1. // New proccess, start main cycle
  2. while(true) {
  3. //logic here o.o
  4. botMonitoring();
  5. if (date('His') == 080000) {
  6. newYearCountDown(getDialogRandom()[0],getDialogRandom()[1]);
  7. sendSticker();
  8. };
  9. if((date('D') == 'Sat' || date('D') == 'Sun') && (date('H') > 08 & date('H') < 22) && $time==date('H')) {
  10. $time+=1;
  11. sendMessage(toDoRandom());
  12. }
  13. sleep(1);
  14. };


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

Спасибо.

0
20090
Dimitry @Dimitry
Ошибку?

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


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

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

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

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

Trying to access array offset on value of type null in

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

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



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

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

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

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

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

Trying to access array offset on value of type null in

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



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

0





Согласие на обработку данных на нашем сайте

Продолжая просматривать страницу, вы соглашаетесь с использованием файлов «Cookie» и с Политикой конфиденциальности «Privacy».
Наверху или внизу страницы вы можете изменить валюту и язык по умолчанию. Английская версия сайта ещё находится в доработке и доступна не полностью.