mirror of
https://github.com/python-telegram-bot/python-telegram-bot.git
synced 2024-12-28 07:20:17 +01:00
Use Error Messages for Pylint Instead of Codes (#2700)
This commit is contained in:
parent
99581abe05
commit
edb30cf342
85 changed files with 170 additions and 153 deletions
|
@ -91,6 +91,7 @@ The following wonderful people contributed directly or indirectly to this projec
|
|||
- `Patrick Hofmann <https://github.com/PH89>`_
|
||||
- `Paul Larsen <https://github.com/PaulSonOfLars>`_
|
||||
- `Pieter Schutz <https://github.com/eldinnie>`_
|
||||
- `Piraty <https://github.com/piraty>`_
|
||||
- `Poolitzer <https://github.com/Poolitzer>`_
|
||||
- `Pranjalya Tiwari <https://github.com/Pranjalya>`_
|
||||
- `Rahiel Kasim <https://github.com/rahiel>`_
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#!/usr/bin/env python
|
||||
# pylint: disable=C0116,W0613
|
||||
# pylint: disable=missing-function-docstring, unused-argument
|
||||
# This program is dedicated to the public domain under the CC0 license.
|
||||
|
||||
"""This example showcases how PTBs "arbitrary callback data" feature can be used.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#!/usr/bin/env python
|
||||
# pylint: disable=C0116,W0613
|
||||
# pylint: disable=missing-function-docstring, unused-argument
|
||||
# This program is dedicated to the public domain under the CC0 license.
|
||||
|
||||
"""
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#!/usr/bin/env python
|
||||
# pylint: disable=C0116,W0613
|
||||
# pylint: disable=missing-function-docstring, unused-argument
|
||||
# This program is dedicated to the public domain under the CC0 license.
|
||||
|
||||
"""
|
||||
|
@ -66,7 +66,8 @@ class CustomContext(CallbackContext[dict, ChatData, dict]):
|
|||
context = super().from_update(update, dispatcher)
|
||||
|
||||
if context.chat_data and isinstance(update, Update) and update.effective_message:
|
||||
context._message_id = update.effective_message.message_id # pylint: disable=W0212
|
||||
# pylint: disable=protected-access
|
||||
context._message_id = update.effective_message.message_id
|
||||
|
||||
# Remember to return the object
|
||||
return context
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#!/usr/bin/env python
|
||||
# pylint: disable=C0116,W0613
|
||||
# pylint: disable=missing-function-docstring, unused-argument
|
||||
# This program is dedicated to the public domain under the CC0 license.
|
||||
|
||||
"""
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#!/usr/bin/env python
|
||||
# pylint: disable=C0116,W0613
|
||||
# pylint: disable=missing-function-docstring, unused-argument
|
||||
# This program is dedicated to the public domain under the CC0 license.
|
||||
|
||||
"""
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#!/usr/bin/env python
|
||||
# pylint: disable=C0116,W0613
|
||||
# pylint: disable=missing-function-docstring, unused-argument
|
||||
# This program is dedicated to the public domain under the CC0 license.
|
||||
|
||||
"""Bot that explains Telegram's "Deep Linking Parameters" functionality.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#!/usr/bin/env python
|
||||
# pylint: disable=C0116,W0613
|
||||
# pylint: disable=missing-function-docstring, unused-argument
|
||||
# This program is dedicated to the public domain under the CC0 license.
|
||||
|
||||
"""
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#!/usr/bin/env python
|
||||
# pylint: disable=C0116,W0613
|
||||
# pylint: disable=missing-function-docstring, unused-argument
|
||||
# This program is dedicated to the public domain under the CC0 license.
|
||||
|
||||
"""This is a very simple example on how one could implement a custom error handler."""
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#!/usr/bin/env python
|
||||
# pylint: disable=C0116,W0613
|
||||
# pylint: disable=missing-function-docstring, unused-argument
|
||||
# This program is dedicated to the public domain under the CC0 license.
|
||||
|
||||
"""
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#!/usr/bin/env python
|
||||
# pylint: disable=C0116,W0613
|
||||
# pylint: disable=missing-function-docstring, unused-argument
|
||||
# This program is dedicated to the public domain under the CC0 license.
|
||||
|
||||
"""
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#!/usr/bin/env python
|
||||
# pylint: disable=C0116,W0613
|
||||
# pylint: disable=missing-function-docstring, unused-argument
|
||||
# This program is dedicated to the public domain under the CC0 license.
|
||||
|
||||
"""Simple inline keyboard bot with multiple CallbackQueryHandlers.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#!/usr/bin/env python
|
||||
# pylint: disable=C0116,W0613
|
||||
# pylint: disable=missing-function-docstring, unused-argument
|
||||
# This program is dedicated to the public domain under the CC0 license.
|
||||
|
||||
"""
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#!/usr/bin/env python
|
||||
# pylint: disable=C0116,W0613
|
||||
# pylint: disable=missing-function-docstring, unused-argument
|
||||
# This program is dedicated to the public domain under the CC0 license.
|
||||
|
||||
"""
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#!/usr/bin/env python
|
||||
# pylint: disable=C0116,W0613
|
||||
# pylint: disable=missing-function-docstring, unused-argument
|
||||
# This program is dedicated to the public domain under the CC0 license.
|
||||
|
||||
"""Basic example for a bot that can receive payment from user."""
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#!/usr/bin/env python
|
||||
# pylint: disable=C0116,W0613
|
||||
# pylint: disable=missing-function-docstring, unused-argument
|
||||
# This program is dedicated to the public domain under the CC0 license.
|
||||
|
||||
"""
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#!/usr/bin/env python
|
||||
# pylint: disable=C0116,W0613
|
||||
# pylint: disable=missing-function-docstring, unused-argument
|
||||
# This program is dedicated to the public domain under the CC0 license.
|
||||
|
||||
"""
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#!/usr/bin/env python
|
||||
# pylint: disable=W0603
|
||||
# pylint: disable=global-statement
|
||||
"""Simple Bot to reply to Telegram messages.
|
||||
|
||||
This is built on the API wrapper, see echobot.py to see the same example built
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#!/usr/bin/env python
|
||||
# pylint: disable=C0116,W0613
|
||||
# pylint: disable=missing-function-docstring, unused-argument
|
||||
# This program is dedicated to the public domain under the CC0 license.
|
||||
|
||||
"""
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
#
|
||||
# You should have received a copy of the GNU Lesser Public License
|
||||
# along with this program. If not, see [http://www.gnu.org/licenses/].
|
||||
# pylint: disable=C0114
|
||||
# pylint: disable=missing-module-docstring
|
||||
import subprocess
|
||||
import sys
|
||||
from typing import Optional
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
#!/usr/bin/env python
|
||||
# pylint: disable=E0611,E0213,E1102,E1101,R0913,R0904
|
||||
# pylint: disable=no-name-in-module, no-self-argument, not-callable, no-member, too-many-arguments
|
||||
# pylint: disable=too-many-public-methods
|
||||
#
|
||||
# A library that provides a Python interface to the Telegram Bot API
|
||||
# Copyright (C) 2015-2022
|
||||
|
@ -194,7 +195,7 @@ class Bot(TelegramObject):
|
|||
logger = logging.getLogger(func.__module__)
|
||||
|
||||
@functools.wraps(func)
|
||||
def decorator(*args, **kwargs): # type: ignore[no-untyped-def] # pylint: disable=W0613
|
||||
def decorator(*args, **kwargs): # type: ignore[no-untyped-def]
|
||||
logger.debug('Entering: %s', func.__name__)
|
||||
result = func(*args, **kwargs)
|
||||
logger.debug(result)
|
||||
|
@ -337,7 +338,7 @@ class Bot(TelegramObject):
|
|||
return self._bot
|
||||
|
||||
@property
|
||||
def id(self) -> int: # pylint: disable=C0103
|
||||
def id(self) -> int: # pylint: disable=invalid-name
|
||||
""":obj:`int`: Unique identifier for this bot."""
|
||||
return self.bot.id
|
||||
|
||||
|
@ -2087,7 +2088,7 @@ class Bot(TelegramObject):
|
|||
|
||||
return result # type: ignore[return-value]
|
||||
|
||||
def _effective_inline_results( # pylint: disable=R0201
|
||||
def _effective_inline_results( # pylint: disable=no-self-use
|
||||
self,
|
||||
results: Union[
|
||||
Sequence['InlineQueryResult'], Callable[[int], Optional[Sequence['InlineQueryResult']]]
|
||||
|
@ -2144,7 +2145,7 @@ class Bot(TelegramObject):
|
|||
return effective_results, next_offset
|
||||
|
||||
@no_type_check # mypy doesn't play too well with hasattr
|
||||
def _insert_defaults_for_ilq_results( # pylint: disable=R0201
|
||||
def _insert_defaults_for_ilq_results( # pylint: disable=no-self-use
|
||||
self, res: 'InlineQueryResult'
|
||||
) -> None:
|
||||
"""The reason why this method exists is similar to the description of _insert_defaults
|
||||
|
@ -2152,7 +2153,7 @@ class Bot(TelegramObject):
|
|||
DEFAULT_NONE to NONE *before* calling to_dict() makes it way easier to drop None entries
|
||||
from the json data.
|
||||
"""
|
||||
# pylint: disable=W0212
|
||||
# pylint: disable=protected-access
|
||||
if hasattr(res, 'parse_mode'):
|
||||
res.parse_mode = DefaultValue.get_value(res.parse_mode)
|
||||
if hasattr(res, 'input_message_content') and res.input_message_content:
|
||||
|
@ -3651,7 +3652,7 @@ class Bot(TelegramObject):
|
|||
)
|
||||
|
||||
@_log
|
||||
def answer_shipping_query( # pylint: disable=C0103
|
||||
def answer_shipping_query( # pylint: disable=invalid-name
|
||||
self,
|
||||
shipping_query_id: str,
|
||||
ok: bool,
|
||||
|
@ -3720,7 +3721,7 @@ class Bot(TelegramObject):
|
|||
return result # type: ignore[return-value]
|
||||
|
||||
@_log
|
||||
def answer_pre_checkout_query( # pylint: disable=C0103
|
||||
def answer_pre_checkout_query( # pylint: disable=invalid-name
|
||||
self,
|
||||
pre_checkout_query_id: str,
|
||||
ok: bool,
|
||||
|
@ -3762,7 +3763,7 @@ class Bot(TelegramObject):
|
|||
"""
|
||||
ok = bool(ok)
|
||||
|
||||
if not (ok ^ (error_message is not None)): # pylint: disable=C0325
|
||||
if not (ok ^ (error_message is not None)): # pylint: disable=superfluous-parens
|
||||
raise TelegramError(
|
||||
'answerPreCheckoutQuery: If ok is True, there should '
|
||||
'not be error_message; if ok is False, error_message '
|
||||
|
@ -5016,7 +5017,7 @@ class Bot(TelegramObject):
|
|||
question: str,
|
||||
options: List[str],
|
||||
is_anonymous: bool = True,
|
||||
type: str = Poll.REGULAR, # pylint: disable=W0622
|
||||
type: str = Poll.REGULAR, # pylint: disable=redefined-builtin
|
||||
allows_multiple_answers: bool = False,
|
||||
correct_option_id: int = None,
|
||||
is_closed: bool = None,
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#!/usr/bin/env python
|
||||
# pylint: disable=R0903
|
||||
# pylint: disable=too-few-public-methods
|
||||
#
|
||||
# A library that provides a Python interface to the Telegram Bot API
|
||||
# Copyright (C) 2015-2022
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
#
|
||||
# You should have received a copy of the GNU Lesser Public License
|
||||
# along with this program. If not, see [http://www.gnu.org/licenses/].
|
||||
# pylint: disable=W0622
|
||||
# pylint: disable=redefined-builtin
|
||||
"""This module contains objects representing Telegram bot command scopes."""
|
||||
from typing import Any, Union, Optional, TYPE_CHECKING, Dict, Type
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
#
|
||||
# You should have received a copy of the GNU Lesser Public License
|
||||
# along with this program. If not, see [http://www.gnu.org/licenses/].
|
||||
# pylint: disable=W0622
|
||||
# pylint: disable=redefined-builtin
|
||||
"""This module contains an object that represents a Telegram CallbackQuery"""
|
||||
from typing import TYPE_CHECKING, Any, List, Optional, Union, Tuple, ClassVar
|
||||
|
||||
|
@ -105,7 +105,7 @@ class CallbackQuery(TelegramObject):
|
|||
|
||||
def __init__(
|
||||
self,
|
||||
id: str, # pylint: disable=W0622
|
||||
id: str, # pylint: disable=redefined-builtin
|
||||
from_user: User,
|
||||
chat_instance: str,
|
||||
message: Message = None,
|
||||
|
@ -116,7 +116,7 @@ class CallbackQuery(TelegramObject):
|
|||
**_kwargs: Any,
|
||||
):
|
||||
# Required
|
||||
self.id = id # pylint: disable=C0103
|
||||
self.id = id # pylint: disable=invalid-name
|
||||
self.from_user = from_user
|
||||
self.chat_instance = chat_instance
|
||||
# Optionals
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#!/usr/bin/env python
|
||||
# pylint: disable=W0622
|
||||
# pylint: disable=redefined-builtin
|
||||
#
|
||||
# A library that provides a Python interface to the Telegram Bot API
|
||||
# Copyright (C) 2015-2022
|
||||
|
@ -229,7 +229,7 @@ class Chat(TelegramObject):
|
|||
**_kwargs: Any,
|
||||
):
|
||||
# Required
|
||||
self.id = int(id) # pylint: disable=C0103
|
||||
self.id = int(id) # pylint: disable=invalid-name
|
||||
self.type = type
|
||||
# Optionals
|
||||
self.title = title
|
||||
|
@ -294,7 +294,7 @@ class Chat(TelegramObject):
|
|||
return None
|
||||
|
||||
data['photo'] = ChatPhoto.de_json(data.get('photo'), bot)
|
||||
from telegram import Message # pylint: disable=C0415
|
||||
from telegram import Message # pylint: disable=import-outside-toplevel
|
||||
|
||||
data['pinned_message'] = Message.de_json(data.get('pinned_message'), bot)
|
||||
data['permissions'] = ChatPermissions.de_json(data.get('permissions'), bot)
|
||||
|
@ -1472,7 +1472,7 @@ class Chat(TelegramObject):
|
|||
options: List[str],
|
||||
is_anonymous: bool = True,
|
||||
# We use constant.POLL_REGULAR instead of Poll.REGULAR here to avoid circular imports
|
||||
type: str = constants.POLL_REGULAR, # pylint: disable=W0622
|
||||
type: str = constants.POLL_REGULAR, # pylint: disable=redefined-builtin
|
||||
allows_multiple_answers: bool = False,
|
||||
correct_option_id: int = None,
|
||||
is_closed: bool = None,
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#!/usr/bin/env python
|
||||
# pylint: disable=R0903
|
||||
# pylint: disable=too-few-public-methods
|
||||
#
|
||||
# A library that provides a Python interface to the Telegram Bot API
|
||||
# Copyright (C) 2015-2022
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#!/usr/bin/env python
|
||||
# pylint: disable=R0902,R0913
|
||||
# pylint: disable=too-many-instance-attributes, too-many-arguments
|
||||
#
|
||||
# A library that provides a Python interface to the Telegram Bot API
|
||||
# Copyright (C) 2015-2022
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#!/usr/bin/env python
|
||||
# pylint: disable=R0903
|
||||
# pylint: disable=too-few-public-methods
|
||||
#
|
||||
# A library that provides a Python interface to the Telegram Bot API
|
||||
# Copyright (C) 2015-2022
|
||||
|
|
|
@ -16,7 +16,6 @@
|
|||
#
|
||||
# You should have received a copy of the GNU Lesser Public License
|
||||
# along with this program. If not, see [http://www.gnu.org/licenses/].
|
||||
# pylint: disable=C0115
|
||||
"""This module contains an classes that represent Telegram errors."""
|
||||
from typing import Tuple, Union
|
||||
|
||||
|
|
|
@ -113,7 +113,7 @@ class BasePersistence(Generic[UD, CD, BD], ABC):
|
|||
)
|
||||
|
||||
def __new__(
|
||||
cls, *args: object, **kwargs: object # pylint: disable=W0613
|
||||
cls, *args: object, **kwargs: object # pylint: disable=unused-argument
|
||||
) -> 'BasePersistence':
|
||||
"""This overrides the get_* and update_* methods to use insert/replace_bot.
|
||||
That has the side effect that we always pass deepcopied data to those methods, so in
|
||||
|
@ -209,7 +209,9 @@ class BasePersistence(Generic[UD, CD, BD], ABC):
|
|||
return cls._replace_bot(obj, {})
|
||||
|
||||
@classmethod
|
||||
def _replace_bot(cls, obj: object, memo: Dict[int, object]) -> object: # pylint: disable=R0911
|
||||
def _replace_bot( # pylint: disable=too-many-return-statements
|
||||
cls, obj: object, memo: Dict[int, object]
|
||||
) -> object:
|
||||
obj_id = id(obj)
|
||||
if obj_id in memo:
|
||||
return memo[obj_id]
|
||||
|
@ -309,7 +311,8 @@ class BasePersistence(Generic[UD, CD, BD], ABC):
|
|||
"""
|
||||
return self._insert_bot(obj, {})
|
||||
|
||||
def _insert_bot(self, obj: object, memo: Dict[int, object]) -> object: # pylint: disable=R0911
|
||||
# pylint: disable=too-many-return-statements
|
||||
def _insert_bot(self, obj: object, memo: Dict[int, object]) -> object:
|
||||
obj_id = id(obj)
|
||||
if obj_id in memo:
|
||||
return memo[obj_id]
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
#
|
||||
# You should have received a copy of the GNU Lesser Public License
|
||||
# along with this program. If not, see [http://www.gnu.org/licenses/].
|
||||
# pylint: disable=R0201
|
||||
# pylint: disable=no-self-use
|
||||
"""This module contains the CallbackContext class."""
|
||||
from queue import Queue
|
||||
from typing import (
|
||||
|
@ -296,12 +296,12 @@ class CallbackContext(Generic[UD, CD, BD]):
|
|||
if chat:
|
||||
self._chat_id_and_data = (
|
||||
chat.id,
|
||||
dispatcher.chat_data[chat.id], # pylint: disable=W0212
|
||||
dispatcher.chat_data[chat.id], # pylint: disable=protected-access
|
||||
)
|
||||
if user:
|
||||
self._user_id_and_data = (
|
||||
user.id,
|
||||
dispatcher.user_data[user.id], # pylint: disable=W0212
|
||||
dispatcher.user_data[user.id], # pylint: disable=protected-access
|
||||
)
|
||||
return self
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ from threading import Lock
|
|||
from typing import Dict, Tuple, Union, Optional, MutableMapping, TYPE_CHECKING, cast
|
||||
from uuid import uuid4
|
||||
|
||||
from cachetools import LRUCache # pylint: disable=E0401
|
||||
from cachetools import LRUCache # pylint: disable=import-error
|
||||
|
||||
from telegram import (
|
||||
InlineKeyboardMarkup,
|
||||
|
|
|
@ -16,9 +16,9 @@
|
|||
#
|
||||
# You should have received a copy of the GNU Lesser Public License
|
||||
# along with this program. If not, see [http://www.gnu.org/licenses/].
|
||||
# pylint: disable=R0201
|
||||
# pylint: disable=no-self-use
|
||||
"""This module contains the auxiliary class ContextTypes."""
|
||||
from typing import Type, Generic, overload, Dict # pylint: disable=W0611
|
||||
from typing import Type, Generic, overload, Dict # pylint: disable=unused-import
|
||||
|
||||
from telegram.ext.callbackcontext import CallbackContext
|
||||
from telegram.ext.utils.types import CCT, UD, CD, BD
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
#
|
||||
# You should have received a copy of the GNU Lesser Public License
|
||||
# along with this program. If not, see [http://www.gnu.org/licenses/].
|
||||
# pylint: disable=R0201
|
||||
# pylint: disable=no-self-use
|
||||
"""This module contains the ConversationHandler."""
|
||||
|
||||
import logging
|
||||
|
@ -212,7 +212,7 @@ class ConversationHandler(Handler[Update, CCT]):
|
|||
WAITING: ClassVar[int] = -3
|
||||
""":obj:`int`: Used as a constant to handle state when a conversation is still waiting on the
|
||||
previous ``@run_sync`` decorated running handler to finish."""
|
||||
# pylint: disable=W0231
|
||||
# pylint: disable=super-init-not-called
|
||||
def __init__(
|
||||
self,
|
||||
entry_points: List[Handler[Update, CCT]],
|
||||
|
@ -511,7 +511,8 @@ class ConversationHandler(Handler[Update, CCT]):
|
|||
)
|
||||
self.logger.exception("%s", exc)
|
||||
|
||||
def check_update(self, update: object) -> CheckUpdateType: # pylint: disable=R0911
|
||||
# pylint: disable=too-many-return-statements
|
||||
def check_update(self, update: object) -> CheckUpdateType:
|
||||
"""
|
||||
Determines whether an update should be handled by this conversationhandler, and if so in
|
||||
which state the conversation currently is.
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
#
|
||||
# You should have received a copy of the GNU Lesser Public License
|
||||
# along with this program. If not, see [http://www.gnu.org/licenses/].
|
||||
# pylint: disable=R0201
|
||||
# pylint: disable=no-self-use
|
||||
"""This module contains the class Defaults, which allows to pass default values to Updater."""
|
||||
from typing import NoReturn, Optional, Dict, Any
|
||||
|
||||
|
|
|
@ -259,7 +259,8 @@ class Dispatcher(Generic[CCT, UD, CD, BD]):
|
|||
# For backward compatibility, we allow a "singleton" mode for the dispatcher. When there's
|
||||
# only one instance of Dispatcher, it will be possible to use the `run_async` decorator.
|
||||
with self.__singleton_lock:
|
||||
if self.__singleton_semaphore.acquire(blocking=False): # pylint: disable=R1732
|
||||
# pylint: disable=consider-using-with
|
||||
if self.__singleton_semaphore.acquire(blocking=False):
|
||||
self._set_singleton(self)
|
||||
else:
|
||||
self._set_singleton(None)
|
||||
|
@ -528,7 +529,8 @@ class Dispatcher(Generic[CCT, UD, CD, BD]):
|
|||
|
||||
"""
|
||||
# Unfortunately due to circular imports this has to be here
|
||||
from .conversationhandler import ConversationHandler # pylint: disable=C0415
|
||||
# pylint: disable=import-outside-toplevel
|
||||
from .conversationhandler import ConversationHandler
|
||||
|
||||
if not isinstance(handler, Handler):
|
||||
raise TypeError(f'handler is not an instance of {Handler.__name__}')
|
||||
|
@ -628,7 +630,7 @@ class Dispatcher(Generic[CCT, UD, CD, BD]):
|
|||
def add_error_handler(
|
||||
self,
|
||||
callback: Callable[[object, CCT], None],
|
||||
run_async: Union[bool, DefaultValue] = DEFAULT_FALSE, # pylint: disable=W0621
|
||||
run_async: Union[bool, DefaultValue] = DEFAULT_FALSE,
|
||||
) -> None:
|
||||
"""Registers an error handler in the Dispatcher. This handler will receive every error
|
||||
which happens in your bot. See the docs of :meth:`dispatch_error` for more details on how
|
||||
|
@ -708,7 +710,10 @@ class Dispatcher(Generic[CCT, UD, CD, BD]):
|
|||
async_kwargs = None if not promise else promise.kwargs
|
||||
|
||||
if self.error_handlers:
|
||||
for callback, run_async in self.error_handlers.items(): # pylint: disable=W0621
|
||||
for (
|
||||
callback,
|
||||
run_async,
|
||||
) in self.error_handlers.items(): # pylint: disable=redefined-outer-name
|
||||
context = self.context_types.context.from_error(
|
||||
update=update,
|
||||
error=error,
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
#!/usr/bin/env python
|
||||
# pylint: disable=E0611,E0213,E1102,C0103,E1101,R0913,R0904
|
||||
# pylint: disable=no-name-in-module, no-self-argument, not-callable, invalid-name, no-member
|
||||
# pylint: disable=too-many-arguments, too-many-public-methods
|
||||
#
|
||||
# A library that provides a Python interface to the Telegram Bot API
|
||||
# Copyright (C) 2015-2022
|
||||
|
@ -299,7 +300,7 @@ class ExtBot(telegram.bot.Bot):
|
|||
|
||||
return updates
|
||||
|
||||
def _effective_inline_results( # pylint: disable=R0201
|
||||
def _effective_inline_results( # pylint: disable=no-self-use
|
||||
self,
|
||||
results: Union[
|
||||
Sequence['InlineQueryResult'], Callable[[int], Optional[Sequence['InlineQueryResult']]]
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
#
|
||||
# You should have received a copy of the GNU Lesser Public License
|
||||
# along with this program. If not, see [http://www.gnu.org/licenses/].
|
||||
# pylint: disable=C0112, C0103, W0221
|
||||
# pylint: disable=empty-docstring, invalid-name, arguments-differ
|
||||
"""This module contains the Filters for use with the MessageHandler class."""
|
||||
|
||||
import re
|
||||
|
@ -112,7 +112,8 @@ class BaseFilter(ABC):
|
|||
|
||||
__slots__ = ('_name', '_data_filter')
|
||||
|
||||
def __new__(cls, *args: object, **kwargs: object) -> 'BaseFilter': # pylint: disable=W0613
|
||||
# pylint: disable=unused-argument
|
||||
def __new__(cls, *args: object, **kwargs: object) -> 'BaseFilter':
|
||||
# We do this here instead of in a __init__ so filter don't have to call __init__ or super()
|
||||
instance = super().__new__(cls)
|
||||
instance._name = None
|
||||
|
@ -150,7 +151,7 @@ class BaseFilter(ABC):
|
|||
|
||||
@name.setter
|
||||
def name(self, name: Optional[str]) -> None:
|
||||
self._name = name # pylint: disable=E0237
|
||||
self._name = name # pylint: disable=assigning-non-slot
|
||||
|
||||
def __repr__(self) -> str:
|
||||
# We do this here instead of in a __init__ so filter don't have to call __init__ or super()
|
||||
|
@ -299,7 +300,8 @@ class MergedFilter(UpdateFilter):
|
|||
base[k] = comp_value
|
||||
return base
|
||||
|
||||
def filter(self, update: Update) -> Union[bool, DataDict]: # pylint: disable=R0911
|
||||
# pylint: disable=too-many-return-statements
|
||||
def filter(self, update: Update) -> Union[bool, DataDict]:
|
||||
base_output = self.base_filter(update)
|
||||
# We need to check if the filters are data filters and if so return the merged data.
|
||||
# If it's not a data filter or an or_filter but no matches return bool
|
||||
|
@ -1523,7 +1525,7 @@ officedocument.wordprocessingml.document")``.
|
|||
raise RuntimeError(f'Cannot set name for Filters.{self.__class__.__name__}')
|
||||
|
||||
class user(_ChatUserBaseFilter):
|
||||
# pylint: disable=W0235
|
||||
# pylint: disable=useless-super-delegation
|
||||
"""Filters messages to allow only those which are from specified user ID(s) or
|
||||
username(s).
|
||||
|
||||
|
@ -1624,7 +1626,7 @@ officedocument.wordprocessingml.document")``.
|
|||
return super().remove_chat_ids(user_id)
|
||||
|
||||
class via_bot(_ChatUserBaseFilter):
|
||||
# pylint: disable=W0235
|
||||
# pylint: disable=useless-super-delegation
|
||||
"""Filters messages to allow only those which are from specified via_bot ID(s) or
|
||||
username(s).
|
||||
|
||||
|
@ -1726,7 +1728,7 @@ officedocument.wordprocessingml.document")``.
|
|||
return super().remove_chat_ids(bot_id)
|
||||
|
||||
class chat(_ChatUserBaseFilter):
|
||||
# pylint: disable=W0235
|
||||
# pylint: disable=useless-super-delegation
|
||||
"""Filters messages to allow only those which are from a specified chat ID or username.
|
||||
|
||||
Examples:
|
||||
|
@ -1809,7 +1811,7 @@ officedocument.wordprocessingml.document")``.
|
|||
return super().remove_chat_ids(chat_id)
|
||||
|
||||
class forwarded_from(_ChatUserBaseFilter):
|
||||
# pylint: disable=W0235
|
||||
# pylint: disable=useless-super-delegation
|
||||
"""Filters messages to allow only those which are forwarded from the specified chat ID(s)
|
||||
or username(s) based on :attr:`telegram.Message.forward_from` and
|
||||
:attr:`telegram.Message.forward_from_chat`.
|
||||
|
@ -1902,7 +1904,7 @@ officedocument.wordprocessingml.document")``.
|
|||
return super().remove_chat_ids(chat_id)
|
||||
|
||||
class sender_chat(_ChatUserBaseFilter):
|
||||
# pylint: disable=W0235
|
||||
# pylint: disable=useless-super-delegation
|
||||
"""Filters messages to allow only those which are from a specified sender chat's chat ID or
|
||||
username.
|
||||
|
||||
|
|
|
@ -61,7 +61,7 @@ class TypeHandler(Handler[UT, CCT]):
|
|||
|
||||
def __init__(
|
||||
self,
|
||||
type: Type[UT], # pylint: disable=W0622
|
||||
type: Type[UT], # pylint: disable=redefined-builtin
|
||||
callback: Callable[[UT, CCT], RT],
|
||||
strict: bool = False,
|
||||
run_async: Union[bool, DefaultValue] = DEFAULT_FALSE,
|
||||
|
@ -70,8 +70,8 @@ class TypeHandler(Handler[UT, CCT]):
|
|||
callback,
|
||||
run_async=run_async,
|
||||
)
|
||||
self.type = type # pylint: disable=E0237
|
||||
self.strict = strict # pylint: disable=E0237
|
||||
self.type = type # pylint: disable=assigning-non-slot
|
||||
self.strict = strict # pylint: disable=assigning-non-slot
|
||||
|
||||
def check_update(self, update: object) -> bool:
|
||||
"""Determines whether an update should be passed to this handlers :attr:`callback`.
|
||||
|
@ -85,4 +85,4 @@ class TypeHandler(Handler[UT, CCT]):
|
|||
"""
|
||||
if not self.strict:
|
||||
return isinstance(update, self.type)
|
||||
return type(update) is self.type # pylint: disable=C0123
|
||||
return type(update) is self.type # pylint: disable=unidiomatic-typecheck
|
||||
|
|
|
@ -158,7 +158,7 @@ class Updater(Generic[CCT, UD, CD, BD]):
|
|||
private_key_password: bytes = None,
|
||||
user_sig_handler: Callable = None,
|
||||
request_kwargs: Dict[str, Any] = None,
|
||||
persistence: 'BasePersistence' = None, # pylint: disable=E0601
|
||||
persistence: 'BasePersistence' = None, # pylint: disable=used-before-assignment
|
||||
defaults: 'Defaults' = None,
|
||||
base_file_url: str = None,
|
||||
arbitrary_callback_data: Union[DefaultValue, bool, int, None] = DEFAULT_FALSE,
|
||||
|
@ -810,7 +810,7 @@ class Updater(Generic[CCT, UD, CD, BD]):
|
|||
self.user_sig_handler(signum, frame)
|
||||
else:
|
||||
self.logger.warning('Exiting immediately!')
|
||||
# pylint: disable=C0415,W0212
|
||||
# pylint: disable=import-outside-toplevel, protected-access
|
||||
import os
|
||||
|
||||
os._exit(1)
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
#
|
||||
# You should have received a copy of the GNU Lesser Public License
|
||||
# along with this program. If not, see [http://www.gnu.org/licenses/].
|
||||
# pylint: disable=C0114
|
||||
# pylint: disable=missing-module-docstring
|
||||
|
||||
import logging
|
||||
from queue import Queue
|
||||
|
@ -88,7 +88,8 @@ class WebhookServer:
|
|||
return
|
||||
self.loop.add_callback(self.loop.stop) # type: ignore
|
||||
|
||||
def handle_error(self, request: object, client_address: str) -> None: # pylint: disable=W0613
|
||||
# pylint: disable=unused-argument
|
||||
def handle_error(self, request: object, client_address: str) -> None:
|
||||
"""Handle an error gracefully."""
|
||||
self.logger.debug(
|
||||
'Exception happened during processing of request from %s',
|
||||
|
@ -108,7 +109,7 @@ class WebhookAppClass(tornado.web.Application):
|
|||
|
||||
|
||||
# WebhookHandler, process webhook calls
|
||||
# pylint: disable=W0223
|
||||
# pylint: disable=abstract-method
|
||||
class WebhookHandler(tornado.web.RequestHandler):
|
||||
SUPPORTED_METHODS = ["POST"] # type: ignore
|
||||
|
||||
|
@ -122,7 +123,7 @@ class WebhookHandler(tornado.web.RequestHandler):
|
|||
self.logger = logging.getLogger(__name__)
|
||||
|
||||
def initialize(self, bot: 'Bot', update_queue: Queue) -> None:
|
||||
# pylint: disable=W0201
|
||||
# pylint: disable=attribute-defined-outside-init
|
||||
self.bot = bot
|
||||
self.update_queue = update_queue
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#!/usr/bin/env python
|
||||
# pylint: disable=W0622,E0611
|
||||
# pylint: disable=redefined-builtin, no-name-in-module
|
||||
#
|
||||
# A library that provides a Python interface to the Telegram Bot API
|
||||
# Copyright (C) 2015-2022
|
||||
|
|
|
@ -53,7 +53,7 @@ class InputMedia(TelegramObject):
|
|||
|
||||
if self.caption_entities:
|
||||
data['caption_entities'] = [
|
||||
ce.to_dict() for ce in self.caption_entities # pylint: disable=E1133
|
||||
ce.to_dict() for ce in self.caption_entities # pylint: disable=not-an-iterable
|
||||
]
|
||||
|
||||
return data
|
||||
|
|
|
@ -104,7 +104,7 @@ def effective_message_type(entity: Union['Message', 'Update']) -> Optional[str]:
|
|||
|
||||
"""
|
||||
# Importing on file-level yields cyclic Import Errors
|
||||
from telegram import Message, Update # pylint: disable=C0415
|
||||
from telegram import Message, Update # pylint: disable=import-outside-toplevel
|
||||
|
||||
if isinstance(entity, Message):
|
||||
message = entity
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#!/usr/bin/env python
|
||||
# pylint: disable=R0902,R0913
|
||||
# pylint: disable=too-many-instance-attributes, too-many-arguments
|
||||
#
|
||||
# A library that provides a Python interface to the Telegram Bot API
|
||||
# Copyright (C) 2015-2022
|
||||
|
@ -75,7 +75,7 @@ class InlineQuery(TelegramObject):
|
|||
|
||||
def __init__(
|
||||
self,
|
||||
id: str, # pylint: disable=W0622
|
||||
id: str, # pylint: disable=redefined-builtin
|
||||
from_user: User,
|
||||
query: str,
|
||||
offset: str,
|
||||
|
@ -85,7 +85,7 @@ class InlineQuery(TelegramObject):
|
|||
**_kwargs: Any,
|
||||
):
|
||||
# Required
|
||||
self.id = id # pylint: disable=C0103
|
||||
self.id = id # pylint: disable=invalid-name
|
||||
self.from_user = from_user
|
||||
self.query = query
|
||||
self.offset = offset
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
#
|
||||
# You should have received a copy of the GNU Lesser Public License
|
||||
# along with this program. If not, see [http://www.gnu.org/licenses/].
|
||||
# pylint: disable=W0622
|
||||
# pylint: disable=redefined-builtin
|
||||
"""This module contains the classes that represent Telegram InlineQueryResult."""
|
||||
|
||||
from typing import Any
|
||||
|
@ -51,7 +51,7 @@ class InlineQueryResult(TelegramObject):
|
|||
def __init__(self, type: str, id: str, **_kwargs: Any):
|
||||
# Required
|
||||
self.type = str(type)
|
||||
self.id = str(id) # pylint: disable=C0103
|
||||
self.id = str(id) # pylint: disable=invalid-name
|
||||
|
||||
self._id_attrs = (self.id,)
|
||||
|
||||
|
@ -59,7 +59,7 @@ class InlineQueryResult(TelegramObject):
|
|||
"""See :meth:`telegram.TelegramObject.to_dict`."""
|
||||
data = super().to_dict()
|
||||
|
||||
# pylint: disable=E1101
|
||||
# pylint: disable=no-member
|
||||
if (
|
||||
hasattr(self, 'caption_entities')
|
||||
and self.caption_entities # type: ignore[attr-defined]
|
||||
|
|
|
@ -77,7 +77,7 @@ class InlineQueryResultArticle(InlineQueryResult):
|
|||
|
||||
def __init__(
|
||||
self,
|
||||
id: str, # pylint: disable=W0622
|
||||
id: str, # pylint: disable=redefined-builtin
|
||||
title: str,
|
||||
input_message_content: 'InputMessageContent',
|
||||
reply_markup: 'ReplyMarkup' = None,
|
||||
|
|
|
@ -88,7 +88,7 @@ class InlineQueryResultAudio(InlineQueryResult):
|
|||
|
||||
def __init__(
|
||||
self,
|
||||
id: str, # pylint: disable=W0622
|
||||
id: str, # pylint: disable=redefined-builtin
|
||||
audio_url: str,
|
||||
title: str,
|
||||
performer: str = None,
|
||||
|
|
|
@ -79,7 +79,7 @@ class InlineQueryResultCachedAudio(InlineQueryResult):
|
|||
|
||||
def __init__(
|
||||
self,
|
||||
id: str, # pylint: disable=W0622
|
||||
id: str, # pylint: disable=redefined-builtin
|
||||
audio_file_id: str,
|
||||
caption: str = None,
|
||||
reply_markup: 'ReplyMarkup' = None,
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
#
|
||||
# You should have received a copy of the GNU Lesser Public License
|
||||
# along with this program. If not, see [http://www.gnu.org/licenses/].
|
||||
# pylint: disable=W0622
|
||||
# pylint: disable=redefined-builtin
|
||||
"""This module contains the classes that represent Telegram InlineQueryResultCachedDocument."""
|
||||
|
||||
from typing import TYPE_CHECKING, Any, Union, Tuple, List
|
||||
|
@ -88,7 +88,7 @@ class InlineQueryResultCachedDocument(InlineQueryResult):
|
|||
|
||||
def __init__(
|
||||
self,
|
||||
id: str, # pylint: disable=W0622
|
||||
id: str, # pylint: disable=redefined-builtin
|
||||
title: str,
|
||||
document_file_id: str,
|
||||
description: str = None,
|
||||
|
|
|
@ -85,7 +85,7 @@ class InlineQueryResultCachedGif(InlineQueryResult):
|
|||
|
||||
def __init__(
|
||||
self,
|
||||
id: str, # pylint: disable=W0622
|
||||
id: str, # pylint: disable=redefined-builtin
|
||||
gif_file_id: str,
|
||||
title: str = None,
|
||||
caption: str = None,
|
||||
|
|
|
@ -85,7 +85,7 @@ class InlineQueryResultCachedMpeg4Gif(InlineQueryResult):
|
|||
|
||||
def __init__(
|
||||
self,
|
||||
id: str, # pylint: disable=W0622
|
||||
id: str, # pylint: disable=redefined-builtin
|
||||
mpeg4_file_id: str,
|
||||
title: str = None,
|
||||
caption: str = None,
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
#
|
||||
# You should have received a copy of the GNU Lesser Public License
|
||||
# along with this program. If not, see [http://www.gnu.org/licenses/].
|
||||
# pylint: disable=W0622
|
||||
# pylint: disable=redefined-builtin
|
||||
"""This module contains the classes that represent Telegram InlineQueryResultPhoto"""
|
||||
|
||||
from typing import TYPE_CHECKING, Any, Union, Tuple, List
|
||||
|
@ -89,7 +89,7 @@ class InlineQueryResultCachedPhoto(InlineQueryResult):
|
|||
|
||||
def __init__(
|
||||
self,
|
||||
id: str, # pylint: disable=W0622
|
||||
id: str, # pylint: disable=redefined-builtin
|
||||
photo_file_id: str,
|
||||
title: str = None,
|
||||
description: str = None,
|
||||
|
|
|
@ -56,7 +56,7 @@ class InlineQueryResultCachedSticker(InlineQueryResult):
|
|||
|
||||
def __init__(
|
||||
self,
|
||||
id: str, # pylint: disable=W0622
|
||||
id: str, # pylint: disable=redefined-builtin
|
||||
sticker_file_id: str,
|
||||
reply_markup: 'ReplyMarkup' = None,
|
||||
input_message_content: 'InputMessageContent' = None,
|
||||
|
|
|
@ -88,7 +88,7 @@ class InlineQueryResultCachedVideo(InlineQueryResult):
|
|||
|
||||
def __init__(
|
||||
self,
|
||||
id: str, # pylint: disable=W0622
|
||||
id: str, # pylint: disable=redefined-builtin
|
||||
video_file_id: str,
|
||||
title: str,
|
||||
description: str = None,
|
||||
|
|
|
@ -82,7 +82,7 @@ class InlineQueryResultCachedVoice(InlineQueryResult):
|
|||
|
||||
def __init__(
|
||||
self,
|
||||
id: str, # pylint: disable=W0622
|
||||
id: str, # pylint: disable=redefined-builtin
|
||||
voice_file_id: str,
|
||||
title: str,
|
||||
caption: str = None,
|
||||
|
|
|
@ -80,7 +80,7 @@ class InlineQueryResultContact(InlineQueryResult):
|
|||
|
||||
def __init__(
|
||||
self,
|
||||
id: str, # pylint: disable=W0622
|
||||
id: str, # pylint: disable=redefined-builtin
|
||||
phone_number: str,
|
||||
first_name: str,
|
||||
last_name: str = None,
|
||||
|
|
|
@ -102,7 +102,7 @@ class InlineQueryResultDocument(InlineQueryResult):
|
|||
|
||||
def __init__(
|
||||
self,
|
||||
id: str, # pylint: disable=W0622
|
||||
id: str, # pylint: disable=redefined-builtin
|
||||
document_url: str,
|
||||
title: str,
|
||||
mime_type: str,
|
||||
|
|
|
@ -49,14 +49,14 @@ class InlineQueryResultGame(InlineQueryResult):
|
|||
|
||||
def __init__(
|
||||
self,
|
||||
id: str, # pylint: disable=W0622
|
||||
id: str, # pylint: disable=redefined-builtin
|
||||
game_short_name: str,
|
||||
reply_markup: 'ReplyMarkup' = None,
|
||||
**_kwargs: Any,
|
||||
):
|
||||
# Required
|
||||
super().__init__('game', id)
|
||||
self.id = id # pylint: disable=W0622
|
||||
self.id = id # pylint: disable=redefined-builtin
|
||||
self.game_short_name = game_short_name
|
||||
|
||||
self.reply_markup = reply_markup
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
#
|
||||
# You should have received a copy of the GNU Lesser Public License
|
||||
# along with this program. If not, see [http://www.gnu.org/licenses/].
|
||||
# pylint: disable=W0622
|
||||
# pylint: disable=redefined-builtin
|
||||
"""This module contains the classes that represent Telegram InlineQueryResultGif."""
|
||||
|
||||
from typing import TYPE_CHECKING, Any, Union, Tuple, List
|
||||
|
@ -103,7 +103,7 @@ class InlineQueryResultGif(InlineQueryResult):
|
|||
|
||||
def __init__(
|
||||
self,
|
||||
id: str, # pylint: disable=W0622
|
||||
id: str, # pylint: disable=redefined-builtin
|
||||
gif_url: str,
|
||||
thumb_url: str,
|
||||
gif_width: int = None,
|
||||
|
|
|
@ -96,7 +96,7 @@ class InlineQueryResultLocation(InlineQueryResult):
|
|||
|
||||
def __init__(
|
||||
self,
|
||||
id: str, # pylint: disable=W0622
|
||||
id: str, # pylint: disable=redefined-builtin
|
||||
latitude: float,
|
||||
longitude: float,
|
||||
title: str,
|
||||
|
|
|
@ -102,7 +102,7 @@ class InlineQueryResultMpeg4Gif(InlineQueryResult):
|
|||
|
||||
def __init__(
|
||||
self,
|
||||
id: str, # pylint: disable=W0622
|
||||
id: str, # pylint: disable=redefined-builtin
|
||||
mpeg4_url: str,
|
||||
thumb_url: str,
|
||||
mpeg4_width: int = None,
|
||||
|
|
|
@ -98,7 +98,7 @@ class InlineQueryResultPhoto(InlineQueryResult):
|
|||
|
||||
def __init__(
|
||||
self,
|
||||
id: str, # pylint: disable=W0622
|
||||
id: str, # pylint: disable=redefined-builtin
|
||||
photo_url: str,
|
||||
thumb_url: str,
|
||||
photo_width: int = None,
|
||||
|
|
|
@ -97,7 +97,7 @@ class InlineQueryResultVenue(InlineQueryResult):
|
|||
|
||||
def __init__(
|
||||
self,
|
||||
id: str, # pylint: disable=W0622
|
||||
id: str, # pylint: disable=redefined-builtin
|
||||
latitude: float,
|
||||
longitude: float,
|
||||
title: str,
|
||||
|
|
|
@ -110,7 +110,7 @@ class InlineQueryResultVideo(InlineQueryResult):
|
|||
|
||||
def __init__(
|
||||
self,
|
||||
id: str, # pylint: disable=W0622
|
||||
id: str, # pylint: disable=redefined-builtin
|
||||
video_url: str,
|
||||
mime_type: str,
|
||||
thumb_url: str,
|
||||
|
|
|
@ -86,7 +86,7 @@ class InlineQueryResultVoice(InlineQueryResult):
|
|||
|
||||
def __init__(
|
||||
self,
|
||||
id: str, # pylint: disable=W0622
|
||||
id: str, # pylint: disable=redefined-builtin
|
||||
voice_url: str,
|
||||
title: str,
|
||||
voice_duration: int = None,
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#!/usr/bin/env python
|
||||
# pylint: disable=R0903
|
||||
# pylint: disable=too-few-public-methods
|
||||
#
|
||||
# A library that provides a Python interface to the Telegram Bot API
|
||||
# Copyright (C) 2015-2022
|
||||
|
@ -39,7 +39,7 @@ class KeyboardButtonPollType(TelegramObject):
|
|||
|
||||
__slots__ = ('type',)
|
||||
|
||||
def __init__(self, type: str = None, **_kwargs: Any): # pylint: disable=W0622
|
||||
def __init__(self, type: str = None, **_kwargs: Any): # pylint: disable=redefined-builtin
|
||||
self.type = type
|
||||
|
||||
self._id_attrs = (self.type,)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#!/usr/bin/env python
|
||||
# pylint: disable=R0903
|
||||
# pylint: disable=too-few-public-methods
|
||||
#
|
||||
# A library that provides a Python interface to the Telegram Bot API
|
||||
# Copyright (C) 2015-2022
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#!/usr/bin/env python
|
||||
# pylint: disable=R0902,R0913
|
||||
# pylint: disable=too-many-instance-attributes, too-many-arguments
|
||||
#
|
||||
# A library that provides a Python interface to the Telegram Bot API
|
||||
# Copyright (C) 2015-2022
|
||||
|
@ -705,7 +705,7 @@ class Message(TelegramObject):
|
|||
|
||||
return self._effective_attachment # type: ignore
|
||||
|
||||
def __getitem__(self, item: str) -> Any: # pylint: disable=R1710
|
||||
def __getitem__(self, item: str) -> Any: # pylint: disable=inconsistent-return-statements
|
||||
return self.chat.id if item == 'chat_id' else super().__getitem__(item)
|
||||
|
||||
def to_dict(self) -> JSONDict:
|
||||
|
@ -1583,7 +1583,7 @@ class Message(TelegramObject):
|
|||
question: str,
|
||||
options: List[str],
|
||||
is_anonymous: bool = True,
|
||||
type: str = Poll.REGULAR, # pylint: disable=W0622
|
||||
type: str = Poll.REGULAR, # pylint: disable=redefined-builtin
|
||||
allows_multiple_answers: bool = False,
|
||||
correct_option_id: int = None,
|
||||
is_closed: bool = None,
|
||||
|
|
|
@ -64,7 +64,7 @@ class MessageEntity(TelegramObject):
|
|||
|
||||
def __init__(
|
||||
self,
|
||||
type: str, # pylint: disable=W0622
|
||||
type: str, # pylint: disable=redefined-builtin
|
||||
offset: int,
|
||||
length: int,
|
||||
url: str = None,
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#!/usr/bin/env python
|
||||
# pylint: disable=R0903
|
||||
# pylint: disable=too-few-public-methods
|
||||
#
|
||||
# A library that provides a Python interface to the Telegram Bot API
|
||||
# Copyright (C) 2015-2022
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
#
|
||||
# You should have received a copy of the GNU Lesser Public License
|
||||
# along with this program. If not, see [http://www.gnu.org/licenses/].
|
||||
# pylint: disable=C0114, W0622
|
||||
# pylint: disable=missing-module-docstring, redefined-builtin
|
||||
try:
|
||||
import ujson as json
|
||||
except ImportError:
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
#
|
||||
# You should have received a copy of the GNU Lesser Public License
|
||||
# along with this program. If not, see [http://www.gnu.org/licenses/].
|
||||
# pylint: disable=C0114
|
||||
# pylint: disable=missing-module-docstring
|
||||
from typing import TYPE_CHECKING, Any
|
||||
|
||||
from telegram import TelegramObject
|
||||
|
|
|
@ -134,8 +134,8 @@ class EncryptedPassportElement(TelegramObject):
|
|||
|
||||
def __init__(
|
||||
self,
|
||||
type: str, # pylint: disable=W0622
|
||||
hash: str, # pylint: disable=W0622
|
||||
type: str, # pylint: disable=redefined-builtin
|
||||
hash: str, # pylint: disable=redefined-builtin
|
||||
data: PersonalDetails = None,
|
||||
phone_number: str = None,
|
||||
email: str = None,
|
||||
|
@ -145,7 +145,7 @@ class EncryptedPassportElement(TelegramObject):
|
|||
selfie: PassportFile = None,
|
||||
translation: List[PassportFile] = None,
|
||||
bot: 'Bot' = None,
|
||||
credentials: 'Credentials' = None, # pylint: disable=W0613
|
||||
credentials: 'Credentials' = None, # pylint: disable=unused-argument
|
||||
**_kwargs: Any,
|
||||
):
|
||||
# Required
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
#
|
||||
# You should have received a copy of the GNU Lesser Public License
|
||||
# along with this program. If not, see [http://www.gnu.org/licenses/].
|
||||
# pylint: disable=W0622
|
||||
# pylint: disable=redefined-builtin
|
||||
"""This module contains the classes that represent Telegram PassportElementError."""
|
||||
|
||||
from typing import Any
|
||||
|
|
|
@ -80,7 +80,7 @@ class PreCheckoutQuery(TelegramObject):
|
|||
|
||||
def __init__(
|
||||
self,
|
||||
id: str, # pylint: disable=W0622
|
||||
id: str, # pylint: disable=redefined-builtin
|
||||
from_user: User,
|
||||
currency: str,
|
||||
total_amount: int,
|
||||
|
@ -90,7 +90,7 @@ class PreCheckoutQuery(TelegramObject):
|
|||
bot: 'Bot' = None,
|
||||
**_kwargs: Any,
|
||||
):
|
||||
self.id = id # pylint: disable=C0103
|
||||
self.id = id # pylint: disable=invalid-name
|
||||
self.from_user = from_user
|
||||
self.currency = currency
|
||||
self.total_amount = total_amount
|
||||
|
@ -115,7 +115,7 @@ class PreCheckoutQuery(TelegramObject):
|
|||
|
||||
return cls(bot=bot, **data)
|
||||
|
||||
def answer( # pylint: disable=C0103
|
||||
def answer( # pylint: disable=invalid-name
|
||||
self,
|
||||
ok: bool,
|
||||
error_message: str = None,
|
||||
|
|
|
@ -50,12 +50,12 @@ class ShippingOption(TelegramObject):
|
|||
|
||||
def __init__(
|
||||
self,
|
||||
id: str, # pylint: disable=W0622
|
||||
id: str, # pylint: disable=redefined-builtin
|
||||
title: str,
|
||||
prices: List['LabeledPrice'],
|
||||
**_kwargs: Any,
|
||||
):
|
||||
self.id = id # pylint: disable=C0103
|
||||
self.id = id # pylint: disable=invalid-name
|
||||
self.title = title
|
||||
self.prices = prices
|
||||
|
||||
|
|
|
@ -58,14 +58,14 @@ class ShippingQuery(TelegramObject):
|
|||
|
||||
def __init__(
|
||||
self,
|
||||
id: str, # pylint: disable=W0622
|
||||
id: str, # pylint: disable=redefined-builtin
|
||||
from_user: User,
|
||||
invoice_payload: str,
|
||||
shipping_address: ShippingAddress,
|
||||
bot: 'Bot' = None,
|
||||
**_kwargs: Any,
|
||||
):
|
||||
self.id = id # pylint: disable=C0103
|
||||
self.id = id # pylint: disable=invalid-name
|
||||
self.from_user = from_user
|
||||
self.invoice_payload = invoice_payload
|
||||
self.shipping_address = shipping_address
|
||||
|
@ -87,7 +87,7 @@ class ShippingQuery(TelegramObject):
|
|||
|
||||
return cls(bot=bot, **data)
|
||||
|
||||
def answer( # pylint: disable=C0103
|
||||
def answer( # pylint: disable=invalid-name
|
||||
self,
|
||||
ok: bool,
|
||||
shipping_options: List[ShippingOption] = None,
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#!/usr/bin/env python
|
||||
# pylint: disable=R0903
|
||||
# pylint: disable=too-few-public-methods
|
||||
#
|
||||
# A library that provides a Python interface to the Telegram Bot API
|
||||
# Copyright (C) 2015-2022
|
||||
|
@ -168,13 +168,13 @@ class Poll(TelegramObject):
|
|||
|
||||
def __init__(
|
||||
self,
|
||||
id: str, # pylint: disable=W0622
|
||||
id: str, # pylint: disable=redefined-builtin
|
||||
question: str,
|
||||
options: List[PollOption],
|
||||
total_voter_count: int,
|
||||
is_closed: bool,
|
||||
is_anonymous: bool,
|
||||
type: str, # pylint: disable=W0622
|
||||
type: str, # pylint: disable=redefined-builtin
|
||||
allows_multiple_answers: bool,
|
||||
correct_option_id: int = None,
|
||||
explanation: str = None,
|
||||
|
@ -183,7 +183,7 @@ class Poll(TelegramObject):
|
|||
close_date: datetime.datetime = None,
|
||||
**_kwargs: Any,
|
||||
):
|
||||
self.id = id # pylint: disable=C0103
|
||||
self.id = id # pylint: disable=invalid-name
|
||||
self.question = question
|
||||
self.options = options
|
||||
self.total_voter_count = total_voter_count
|
||||
|
|
|
@ -60,7 +60,7 @@ except ImportError: # pragma: no cover
|
|||
)
|
||||
raise
|
||||
|
||||
# pylint: disable=C0412
|
||||
# pylint: disable=ungrouped-imports
|
||||
from telegram import InputFile
|
||||
from telegram.error import (
|
||||
TelegramError,
|
||||
|
@ -76,7 +76,8 @@ from telegram.error import (
|
|||
from telegram.utils.types import JSONDict
|
||||
|
||||
|
||||
def _render_part(self: RequestField, name: str, value: str) -> str: # pylint: disable=W0613
|
||||
# pylint: disable=unused-argument
|
||||
def _render_part(self: RequestField, name: str, value: str) -> str:
|
||||
r"""
|
||||
Monkey patch urllib3.urllib3.fields.RequestField to make it *not* support RFC2231 compliant
|
||||
Content-Disposition headers since telegram servers don't understand it. Instead just escape
|
||||
|
@ -88,7 +89,7 @@ def _render_part(self: RequestField, name: str, value: str) -> str: # pylint: d
|
|||
return f'{name}="{value}"'
|
||||
|
||||
|
||||
RequestField._render_part = _render_part # type: ignore # pylint: disable=W0212
|
||||
RequestField._render_part = _render_part # type: ignore # pylint: disable=protected-access
|
||||
|
||||
logging.getLogger('telegram.vendor.ptb_urllib3.urllib3').setLevel(logging.WARNING)
|
||||
|
||||
|
@ -181,7 +182,7 @@ class Request:
|
|||
kwargs.update(urllib3_proxy_kwargs)
|
||||
if proxy_url.startswith('socks'):
|
||||
try:
|
||||
# pylint: disable=C0415
|
||||
# pylint: disable=import-outside-toplevel
|
||||
from telegram.vendor.ptb_urllib3.urllib3.contrib.socks import SOCKSProxyManager
|
||||
except ImportError as exc:
|
||||
raise RuntimeError('PySocks is missing') from exc
|
||||
|
@ -315,7 +316,7 @@ class Request:
|
|||
# Are we uploading files?
|
||||
files = False
|
||||
|
||||
# pylint: disable=R1702
|
||||
# pylint: disable=too-many-nested-blocks
|
||||
for key, val in data.copy().items():
|
||||
if isinstance(val, InputFile):
|
||||
# Convert the InputFile to urllib3 field format
|
||||
|
|
|
@ -45,7 +45,8 @@ class TelegramObject:
|
|||
# Only instance variables should be added to __slots__.
|
||||
__slots__ = ('_id_attrs',)
|
||||
|
||||
def __new__(cls, *args: object, **kwargs: object) -> 'TelegramObject': # pylint: disable=W0613
|
||||
# pylint: disable=unused-argument
|
||||
def __new__(cls, *args: object, **kwargs: object) -> 'TelegramObject':
|
||||
# We add _id_attrs in __new__ instead of __init__ since we want to add this to the slots
|
||||
# w/o calling __init__ in all of the subclasses. This is what we also do in BaseFilter.
|
||||
instance = super().__new__(cls)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#!/usr/bin/env python
|
||||
# pylint: disable=W0622
|
||||
# pylint: disable=redefined-builtin
|
||||
#
|
||||
# A library that provides a Python interface to the Telegram Bot API
|
||||
# Copyright (C) 2015-2022
|
||||
|
@ -124,7 +124,7 @@ class User(TelegramObject):
|
|||
**_kwargs: Any,
|
||||
):
|
||||
# Required
|
||||
self.id = int(id) # pylint: disable=C0103
|
||||
self.id = int(id) # pylint: disable=invalid-name
|
||||
self.first_name = first_name
|
||||
self.is_bot = is_bot
|
||||
# Optionals
|
||||
|
@ -1062,7 +1062,7 @@ class User(TelegramObject):
|
|||
options: List[str],
|
||||
is_anonymous: bool = True,
|
||||
# We use constant.POLL_REGULAR instead of Poll.REGULAR here to avoid circular imports
|
||||
type: str = constants.POLL_REGULAR, # pylint: disable=W0622
|
||||
type: str = constants.POLL_REGULAR, # pylint: disable=redefined-builtin
|
||||
allows_multiple_answers: bool = False,
|
||||
correct_option_id: int = None,
|
||||
is_closed: bool = None,
|
||||
|
|
|
@ -87,7 +87,7 @@ def parse_file_input(
|
|||
:attr:`file_input`, in case it's no valid file input.
|
||||
"""
|
||||
# Importing on file-level yields cyclic Import Errors
|
||||
from telegram import InputFile # pylint: disable=C0415
|
||||
from telegram import InputFile # pylint: disable=import-outside-toplevel
|
||||
|
||||
if isinstance(file_input, str) and file_input.startswith('file://'):
|
||||
return file_input
|
||||
|
|
|
@ -16,9 +16,9 @@
|
|||
#
|
||||
# You should have received a copy of the GNU Lesser Public License
|
||||
# along with this program. If not, see [http://www.gnu.org/licenses/].
|
||||
# pylint: disable=C0114
|
||||
# pylint: disable=missing-module-docstring
|
||||
|
||||
from telegram import constants
|
||||
|
||||
__version__ = '13.11'
|
||||
bot_api_version = constants.BOT_API_VERSION # pylint: disable=C0103
|
||||
bot_api_version = constants.BOT_API_VERSION # pylint: disable=invalid-name
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#!/usr/bin/env python
|
||||
# pylint: disable=R0903
|
||||
# pylint: disable=too-few-public-methods
|
||||
#
|
||||
# A library that provides a Python interface to the Telegram Bot API
|
||||
# Copyright (C) 2015-2022
|
||||
|
|
Loading…
Reference in a new issue