Merge develop -> asyncio-dev

This commit is contained in:
Dan 2020-07-17 13:43:10 +02:00
commit aa078f103c
17 changed files with 40 additions and 39 deletions

View File

@ -26,7 +26,7 @@ NOTICE_PATH = "NOTICE"
SECTION_RE = re.compile(r"---(\w+)---")
LAYER_RE = re.compile(r"//\sLAYER\s(\d+)")
COMBINATOR_RE = re.compile(r"^([\w.]+)#([0-9a-f]+)\s(?:.*)=\s([\w<>.]+);(?: // Docs: (.+))?$", re.MULTILINE)
ARGS_RE = re.compile("[^{](\w+):([\w?!.<>#]+)")
ARGS_RE = re.compile(r"[^{](\w+):([\w?!.<>#]+)")
FLAGS_RE = re.compile(r"flags\.(\d+)\?")
FLAGS_RE_2 = re.compile(r"flags\.(\d+)\?([\w<>.]+)")
FLAGS_RE_3 = re.compile(r"flags:#")

View File

@ -106,7 +106,7 @@ Welcome to Pyrogram
@app.on_message(Filters.private)
def hello(client, message):
message.reply_text("Hello {}".format(message.from_user.first_name))
message.reply_text(f"Hello {message.from_user.first_name}")
app.run()

View File

@ -71,5 +71,15 @@ Projects Showcase
-----
`Pyrubrum <https://github.com/hearot/pyrubrum>`_
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| **An intuitive framework for creating Telegram bots**
| --- by `Hearot <https://t.me/hearot>`_
- Source Code: https://github.com/hearot/pyrubrum
-----
.. _Feature Request: https://github.com/pyrogram/pyrogram/issues/new?labels=enhancement&template=feature_request.md

View File

@ -26,7 +26,7 @@ import shutil
import tempfile
from configparser import ConfigParser
from hashlib import sha256, md5
from importlib import import_module, reload
from importlib import import_module
from pathlib import Path
from signal import signal, SIGINT, SIGTERM, SIGABRT
from typing import Union, List, BinaryIO
@ -1527,7 +1527,7 @@ class Client(Methods, BaseClient):
if not include:
for path in sorted(Path(root.replace(".", "/")).rglob("*.py")):
module_path = '.'.join(path.parent.parts + (path.stem,))
module = reload(import_module(module_path))
module = import_module(module_path)
for name in vars(module).keys():
# noinspection PyBroadException
@ -1549,7 +1549,7 @@ class Client(Methods, BaseClient):
warn_non_existent_functions = True
try:
module = reload(import_module(module_path))
module = import_module(module_path)
except ImportError:
log.warning('[{}] [LOAD] Ignoring non-existent module "{}"'.format(
self.session_name, module_path))
@ -1653,7 +1653,7 @@ class Client(Methods, BaseClient):
try:
return self.storage.get_peer_by_id(peer_id)
except KeyError:
if type(peer_id) is str:
if isinstance(peer_id, str):
if peer_id in ("self", "me"):
return types.InputPeerSelf()

View File

@ -277,11 +277,11 @@ class Filters:
return False
commands = commands if type(commands) is list else [commands]
commands = commands if isinstance(commands, list) else [commands]
commands = {c if case_sensitive else c.lower() for c in commands}
prefixes = [] if prefixes is None else prefixes
prefixes = prefixes if type(prefixes) is list else [prefixes]
prefixes = prefixes if isinstance(prefixes, list) else [prefixes]
prefixes = set(prefixes) if prefixes else {""}
return create(
@ -345,11 +345,11 @@ class Filters:
"""
def __init__(self, users: int or str or list = None):
users = [] if users is None else users if type(users) is list else [users]
users = [] if users is None else users if isinstance(users, list) else [users]
super().__init__(
"me" if u in ["me", "self"]
else u.lower().strip("@") if type(u) is str
else u.lower().strip("@") if isinstance(u, str)
else u for u in users
)
@ -376,11 +376,11 @@ class Filters:
"""
def __init__(self, chats: int or str or list = None):
chats = [] if chats is None else chats if type(chats) is list else [chats]
chats = [] if chats is None else chats if isinstance(chats, list) else [chats]
super().__init__(
"me" if c in ["me", "self"]
else c.lower().strip("@") if type(c) is str
else c.lower().strip("@") if isinstance(c, str)
else c for c in chats
)

View File

@ -18,7 +18,7 @@
from typing import Union
from pyrogram.api import functions, types
from pyrogram.api import functions
from pyrogram.client.ext import BaseClient

View File

@ -23,7 +23,6 @@ from typing import Union, List
import pyrogram
from pyrogram.api import functions
from pyrogram.client.ext import utils
from pyrogram.errors import FloodWait
from ...ext import BaseClient
log = logging.getLogger(__name__)

View File

@ -22,7 +22,6 @@ from typing import Union, Iterable, List
import pyrogram
from pyrogram.api import functions, types
from pyrogram.errors import FloodWait
from ...ext import BaseClient, utils
log = logging.getLogger(__name__)

View File

@ -33,7 +33,6 @@
from base64 import b64encode
from struct import pack
from typing import Union
import pyrogram
from pyrogram.api import types
@ -41,7 +40,6 @@ from pyrogram.client.types.object import Object
from pyrogram.client.types.update import Update
from pyrogram.client.types.user_and_chats import User
from pyrogram.client.types.messages_and_media import Location
from pyrogram.client.ext import utils
class ChosenInlineResult(Object, Update):

View File

@ -16,14 +16,9 @@
# You should have received a copy of the GNU Lesser General Public License
# along with Pyrogram. If not, see <http://www.gnu.org/licenses/>.
from struct import pack
from typing import List
import pyrogram
from pyrogram.api import types
from .thumbnail import Thumbnail
from ..object import Object
from ...ext.utils import encode_file_id, encode_file_ref
class Dice(Object):

View File

@ -23,7 +23,7 @@ from pyrogram.api.core import Message, MsgContainer, TLObject
from .msg_id import MsgId
from .seq_no import SeqNo
not_content_related = [Ping, HttpWait, MsgsAck, MsgContainer]
not_content_related = (Ping, HttpWait, MsgsAck, MsgContainer)
class MsgFactory:
@ -34,6 +34,6 @@ class MsgFactory:
return Message(
body,
MsgId(),
self.seq_no(type(body) not in not_content_related),
self.seq_no(not isinstance(body, not_content_related)),
len(body)
)