Fix get_me being called for every command
It needs to be called once only
This commit is contained in:
parent
636ff776d6
commit
934091d8ea
@ -740,10 +740,15 @@ async def linked_channel_filter(_, __, m: Message):
|
|||||||
linked_channel = create(linked_channel_filter)
|
linked_channel = create(linked_channel_filter)
|
||||||
"""Filter messages that are automatically forwarded from the linked channel to the group chat."""
|
"""Filter messages that are automatically forwarded from the linked channel to the group chat."""
|
||||||
|
|
||||||
|
|
||||||
# endregion
|
# endregion
|
||||||
|
|
||||||
|
|
||||||
|
# region command_filter
|
||||||
|
|
||||||
|
# Used by the command filter below
|
||||||
|
username = None
|
||||||
|
|
||||||
|
|
||||||
def command(commands: Union[str, List[str]], prefixes: Union[str, List[str]] = "/", case_sensitive: bool = False):
|
def command(commands: Union[str, List[str]], prefixes: Union[str, List[str]] = "/", case_sensitive: bool = False):
|
||||||
"""Filter commands, i.e.: text messages starting with "/" or any other custom prefix.
|
"""Filter commands, i.e.: text messages starting with "/" or any other custom prefix.
|
||||||
|
|
||||||
@ -764,10 +769,10 @@ def command(commands: Union[str, List[str]], prefixes: Union[str, List[str]] = "
|
|||||||
Examples: when True, command="Start" would trigger /Start but not /start.
|
Examples: when True, command="Start" would trigger /Start but not /start.
|
||||||
"""
|
"""
|
||||||
command_re = re.compile(r"([\"'])(.*?)(?<!\\)\1|(\S+)")
|
command_re = re.compile(r"([\"'])(.*?)(?<!\\)\1|(\S+)")
|
||||||
username = None
|
|
||||||
|
|
||||||
async def func(flt, client: pyrogram.Client, message: Message):
|
async def func(flt, client: pyrogram.Client, message: Message):
|
||||||
nonlocal username
|
# Username shared among all commands; used for mention commands, e.g.: /start@username
|
||||||
|
global username
|
||||||
|
|
||||||
if username is None:
|
if username is None:
|
||||||
username = (await client.get_me()).username or ""
|
username = (await client.get_me()).username or ""
|
||||||
@ -820,6 +825,8 @@ def command(commands: Union[str, List[str]], prefixes: Union[str, List[str]] = "
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
# endregion
|
||||||
|
|
||||||
def regex(pattern: Union[str, Pattern], flags: int = 0):
|
def regex(pattern: Union[str, Pattern], flags: int = 0):
|
||||||
"""Filter updates that match a given regular expression pattern.
|
"""Filter updates that match a given regular expression pattern.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user