diff --git a/.pylintrc b/.pylintrc
index a79ab5801..058b9d7d1 100644
--- a/.pylintrc
+++ b/.pylintrc
@@ -338,6 +338,7 @@ valid-metaclass-classmethod-first-arg=mcs
 
 # Maximum number of arguments for function / method
 max-args=8
+max-positional-arguments=14
 
 # Maximum number of attributes for a class (see R0902).
 max-attributes=20
diff --git a/requirements-dev.txt b/requirements-dev.txt
index 7d119a804..607d34760 100644
--- a/requirements-dev.txt
+++ b/requirements-dev.txt
@@ -2,7 +2,7 @@ mock==5.1.0
 nose2[coverage_plugin]==0.15.1
 cov-core==1.15.0
 black==24.3.0
-pylint==3.2.7
+pylint==3.3.1
 splinter==0.21.0
 selenium==4.25.0
 Pallets-Sphinx-Themes==2.1.3
diff --git a/searx/engines/hackernews.py b/searx/engines/hackernews.py
index a9e29bf0a..d3ba47f65 100644
--- a/searx/engines/hackernews.py
+++ b/searx/engines/hackernews.py
@@ -57,7 +57,11 @@ def request(query, params):
 
         if params['time_range']:
             search_type = 'search_by_date'
-            timestamp = (datetime.now() - relativedelta(**{f"{params['time_range']}s": 1})).timestamp()
+            timestamp = (
+                # pylint: disable=unexpected-keyword-arg
+                datetime.now()
+                - relativedelta(**{f"{params['time_range']}s": 1})  # type: ignore
+            ).timestamp()
             query_params["numericFilters"] = f"created_at_i>{timestamp}"
 
     params["url"] = f"{base_url}/{search_type}?{urlencode(query_params)}"