Botman对话缓存时间不起作用

问题描述

BotMan版本:2.6

PHP版本:7.3.23

Laravel版本:7.16.1

缓存驱动程序:LaravelCache

我正在将botman用于电报机器人。 botman一切正常,只是会话缓存时间不起作用。 这是我的僵尸配置代码

use BotMan\BotMan\Cache\LaravelCache;
use BotMan\BotMan\Drivers\DriverManager;
use BotMan\BotMan\BotManFactory;

$config = [
    // Your driver-specific configuration
    "botman" => [
        'conversation_cache_time' => 720,'user_cache_time' => 720,],"telegram" => [
        "token" => env('TELEGRAM_TOKEN'),]
];
// Load the driver(s) you want to use
DriverManager::loadDriver(\BotMan\Drivers\Telegram\TelegramDriver::class);

// Create an instance
$botman = BotManFactory::create($config,new LaravelCache());

//  and other hears,fallback and conversations functions ...

关于漫游器和对话的一切都很好,但是问题在于对话可节省时间 基于conversation document,我们必须使用驱动器缓存来进行对话,而我正在使用的驱动程序是laravelCache,但我将conversation_cache_time设置为720分钟,但只需要认的30分钟。

我该怎么办?

提前谢谢。

解决方法

在github中的这些行中:

https://github.com/botman/botman/blob/79310f6e6464436aaa2d0522267b2ca00a07fda5/tests/BotManConversationTest.php#L79-L83

https://github.com/botman/botman/blob/4ec6e3f30d620cbcb73a0cf8e1dbf6b34e47f75d/src/Traits/HandlesConversations.php#L47

https://github.com/botman/botman/blob/203e7f5ef68473dd4d71ca7ee31275eae9a92745/src/BotMan.php#L238-L239

必须是这样的:

$config = [
    'user_cache_time' => 720,'config' => [
        'conversation_cache_time' => 720,],// Your driver-specific configuration
    "telegram" => [
        "token" => env('TELEGRAM_TOKEN'),]
];

它有效。