mirror of
https://github.com/aiogram/aiogram.git
synced 2026-04-08 16:37:47 +00:00
emit warning if command starts with command prefix
This commit is contained in:
parent
9d94ac62c9
commit
927fec5829
1 changed files with 14 additions and 0 deletions
|
|
@ -4,6 +4,7 @@ import typing
|
|||
from contextvars import ContextVar
|
||||
from dataclasses import dataclass, field
|
||||
from typing import Any, Dict, Iterable, Optional, Union
|
||||
from warnings import warn
|
||||
|
||||
from babel.support import LazyProxy
|
||||
|
||||
|
|
@ -50,6 +51,19 @@ class Command(Filter):
|
|||
self.prefixes = prefixes
|
||||
self.ignore_case = ignore_case
|
||||
self.ignore_mention = ignore_mention
|
||||
for command in self.commands:
|
||||
if not isinstance(self.prefixes, str):
|
||||
for prefix in self.prefixes:
|
||||
if command.startswith(prefix):
|
||||
warn(
|
||||
f'command "{command}" starts with command prefix "{prefix}", so handler will trigger '
|
||||
f'only on "{prefix + command}" command. Remove leading command prefix to avoid this '
|
||||
f'behavior.', UserWarning)
|
||||
else:
|
||||
if command.startswith(self.prefixes):
|
||||
warn(f'command "{command}" starts with command prefix "{self.prefixes}", so handler will trigger '
|
||||
f'only on "{self.prefixes + command}" command. Remove leading command prefix to avoid this '
|
||||
f'behavior.', UserWarning)
|
||||
|
||||
@classmethod
|
||||
def validate(cls, full_config: Dict[str, Any]) -> Optional[Dict[str, Any]]:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue