PHP: API-Webhook запоминает переменные

Я строю бот на Telegram Bot API. Для конкретной функции мой бот должен помнить переменные при повторной отправке данных через веб-крючок.

Чтобы сделать это коротким; каждый раз, когда я отправляю сообщение, загружается PHP-файл (работает на Google App Engine), который вызывается Telegram Bot API.

Бот «перезагружается» каждый раз, когда API отправляет данные в webhook, все переменные сброшены конечно. Я думал об использовании $_SESSION-Переменный, но это также не работает.

Кроме сохранения данных в базе данных MySQL или записи в файл, есть ли другие возможности временно хранить данные где-то?

Спасибо!

0

Решение

Если веб-зацепки Telegram API не учитывают куки-файлы, вам нужно где-то сохранять свое состояние. Похоже, в этом случае лучше всего сохранить файл.

Google App Engine позволяет использовать потоки PHP, чтобы их было легко читать и записывать в Google Cloud Storage. https://cloud.google.com/appengine/docs/php/googlestorage/

Один из способов сделать это — поместить в массив любые переменные, которые вам нужно сохранить, а затем закодировать как JSON перед сохранением. Затем, когда вы читаете файл, просто декодируйте JSON как ассоциативный массив и продолжайте свой путь.

$path = 'gs://my_bucket/my_vars.json';

// read the variables - you'll want to check for existence, etc.
$myVarsJson = file_get_contents($path);
$myVarsArr = json_decode($myVarsJson,true);

// now you can access and modify the values of $myVarsArray

// DO SOMETHING...

// then save them
$myVarsJson = json_encode($myVarsArr);
file_put_contents($path);
1

Другие решения

Вы могли бы использовать

file_get_contents

а также file_put_contents

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

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector