Доброго времени суток.
Для телеграм бота делаю ответы для сообщений в которых есть ключевые слова, у их удаление.
Работает так:
Если нашел в сообщении триггер то вызывает шаблон кода связанный с триггером ->
eval(stripslashes($code));
Пример кода вызываемого через
eval(); ->
$inter = 10; //интервал перед авто удаления сообщения отправленного ботом (сек)
$next = strval(strtotime(date("m/d/Y h:i:s a", time() + $inter)));
$msg_id = (intval($data['message']['message_id'])+1);
$msg_chat_id = $data['message']['chat']['id'];
sendTelegram(
'sendMessage',
array(
'chat_id' => $msg_chat_id,
'reply_to_message_id' => $data['message']['message_id'],
'parse_mode' => 'html',
'text' => 'текст'
)
);
call_user_func_array('autoremove_add', array($next,$msg_chat_id,$msg_id));
//autoremove_add($next,$msg_chat_id,$msg_id);
причем вызов
sendTelegram работает, а
autoremove_add не работает.
Код функции
autoremove_add:
function autoremove_add($time,$chat_id,$message_id){
global $modx;
$modx->log(MODX_LOG_LEVEL_ERROR, "write_message autoremove");
$sql_1 = "INSERT INTO `crontab_telegram` (`id`, `time`, `chat_id`, `message_id`) VALUES (NULL, '$time','$chat_id','$message_id');";
$modx->exec($sql_1);
}
Подскажите куда копать.
И да eval зло, но поля с кодом редактирую только я.