mirror of
https://github.com/aiogram/aiogram.git
synced 2025-12-11 18:01:04 +00:00
Remove filters factory, introduce docs translation (#978)
* Rewrite filters * Update README.rst * Fixed tests * Small optimization of the Text filter (TY to @bomzheg) * Remove dataclass slots argument in due to the only Python 3.10 has an slots argument * Fixed mypy * Update tests * Disable Python 3.11 * Fixed #1013: Empty mention should be None instead of empty string. * Added #990 to the changelog * Added #942 to the changelog * Fixed coverage * Update poetry and dependencies * Fixed mypy * Remove deprecated code * Added more tests, update pyproject.toml * Partial update docs * Added initial Docs translation files * Added more changes * Added log message when connection is established in polling process * Fixed action * Disable lint for PyPy * Added changelog for docs translation
This commit is contained in:
parent
94030903ec
commit
f4251382e8
610 changed files with 61738 additions and 1687 deletions
8
.github/workflows/tests.yml
vendored
8
.github/workflows/tests.yml
vendored
|
|
@ -41,6 +41,7 @@ jobs:
|
||||||
- '3.8'
|
- '3.8'
|
||||||
- '3.9'
|
- '3.9'
|
||||||
- '3.10'
|
- '3.10'
|
||||||
|
#- '3.11'
|
||||||
- 'pypy3.8'
|
- 'pypy3.8'
|
||||||
- 'pypy3.9'
|
- 'pypy3.9'
|
||||||
|
|
||||||
|
|
@ -77,7 +78,7 @@ jobs:
|
||||||
uses: snok/install-poetry@v1
|
uses: snok/install-poetry@v1
|
||||||
if: "env.IS_PYPY == 'false' || env.IS_WINDOWS == 'false'"
|
if: "env.IS_PYPY == 'false' || env.IS_WINDOWS == 'false'"
|
||||||
with:
|
with:
|
||||||
version: 1.1.11
|
version: 1.2.1
|
||||||
virtualenvs-create: true
|
virtualenvs-create: true
|
||||||
virtualenvs-in-project: true
|
virtualenvs-in-project: true
|
||||||
installer-parallel: true
|
installer-parallel: true
|
||||||
|
|
@ -86,7 +87,7 @@ jobs:
|
||||||
if: "env.IS_PYPY == 'true' && env.IS_WINDOWS == 'true'"
|
if: "env.IS_PYPY == 'true' && env.IS_WINDOWS == 'true'"
|
||||||
run: |
|
run: |
|
||||||
set -eu
|
set -eu
|
||||||
pip install "poetry==1.1.11"
|
pip install "poetry==1.2.1"
|
||||||
poetry config virtualenvs.create true
|
poetry config virtualenvs.create true
|
||||||
poetry config virtualenvs.in-project true
|
poetry config virtualenvs.in-project true
|
||||||
poetry config installer.parallel true
|
poetry config installer.parallel true
|
||||||
|
|
@ -109,9 +110,10 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
flags=""
|
flags=""
|
||||||
[[ "$IS_PYPY" == "false" ]] && flags="$flags -E fast"
|
[[ "$IS_PYPY" == "false" ]] && flags="$flags -E fast"
|
||||||
poetry install --no-interaction -E redis -E proxy -E i18n -E docs $flags
|
poetry install --no-interaction -E redis -E proxy -E i18n $flags
|
||||||
|
|
||||||
- name: Lint code
|
- name: Lint code
|
||||||
|
if: "env.IS_PYPY == 'false'"
|
||||||
run: |
|
run: |
|
||||||
poetry run flake8 aiogram
|
poetry run flake8 aiogram
|
||||||
poetry run mypy aiogram
|
poetry run mypy aiogram
|
||||||
|
|
|
||||||
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -4,6 +4,8 @@
|
||||||
__pycache__/
|
__pycache__/
|
||||||
*.py[cod]
|
*.py[cod]
|
||||||
|
|
||||||
|
*.mo
|
||||||
|
|
||||||
env/
|
env/
|
||||||
build/
|
build/
|
||||||
_build/
|
_build/
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,3 @@
|
||||||
|
|
||||||
|
|
||||||
repos:
|
repos:
|
||||||
- repo: https://github.com/pre-commit/pre-commit-hooks
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||||
rev: v4.2.0
|
rev: v4.2.0
|
||||||
|
|
@ -15,7 +13,7 @@ repos:
|
||||||
- id: "check-toml"
|
- id: "check-toml"
|
||||||
|
|
||||||
- repo: https://github.com/psf/black
|
- repo: https://github.com/psf/black
|
||||||
rev: 22.6.0
|
rev: 22.8.0
|
||||||
hooks:
|
hooks:
|
||||||
- id: black
|
- id: black
|
||||||
files: &files '^(aiogram|tests|examples)'
|
files: &files '^(aiogram|tests|examples)'
|
||||||
|
|
@ -38,3 +36,15 @@ repos:
|
||||||
rev: 0.2.0
|
rev: 0.2.0
|
||||||
hooks:
|
hooks:
|
||||||
- id: sync_with_poetry
|
- id: sync_with_poetry
|
||||||
|
|
||||||
|
- repo: https://github.com/python-poetry/poetry
|
||||||
|
rev: '1.2.1'
|
||||||
|
hooks:
|
||||||
|
- id: poetry-check
|
||||||
|
- id: poetry-lock
|
||||||
|
- id: poetry-export
|
||||||
|
args: [ "-f", "requirements.txt", "--without-hashes", "-o", "requirements/base.txt" ]
|
||||||
|
- id: poetry-export
|
||||||
|
args: [ "-f", "requirements.txt", "--without-hashes", "-o", "requirements/docs.txt",
|
||||||
|
"-E", "fast", "-E", "redis", "-E", "proxy", "-E", "i18n",
|
||||||
|
"--with", "docs" ]
|
||||||
|
|
|
||||||
|
|
@ -6,10 +6,6 @@ sphinx:
|
||||||
formats: all
|
formats: all
|
||||||
|
|
||||||
python:
|
python:
|
||||||
version: 3.8
|
version: "3.8"
|
||||||
install:
|
install:
|
||||||
- method: pip
|
- requirements: requirements/docs.txt
|
||||||
path: .
|
|
||||||
extra_requirements:
|
|
||||||
- docs
|
|
||||||
- redis
|
|
||||||
|
|
|
||||||
1
CHANGES/1013.bugfix.rst
Normal file
1
CHANGES/1013.bugfix.rst
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
Fixed empty mention in command parsing, now it will be None instead of an empty string
|
||||||
1
CHANGES/898.misc.rst
Normal file
1
CHANGES/898.misc.rst
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
Reworked error event, introduced :class:`aiogram.types.error_event.ErrorEvent` object.
|
||||||
1
CHANGES/925.docs.rst
Normal file
1
CHANGES/925.docs.rst
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
Initialized Docs translation (added Ukrainian language)
|
||||||
1
CHANGES/942.misc.rst
Normal file
1
CHANGES/942.misc.rst
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
**BREAKING**: Removed filters factory as described in corresponding issue.
|
||||||
1
CHANGES/982.misc.rst
Normal file
1
CHANGES/982.misc.rst
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
Now Router/Dispatcher accepts only keyword arguments.
|
||||||
2
CHANGES/990.misc.rst
Normal file
2
CHANGES/990.misc.rst
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
Added warning about using magic filter from `magic_filter` instead of `aiogram`'s ones.
|
||||||
|
Is recommended to use `from aiogram import F` instead of `from magic_filter import F`
|
||||||
15
Makefile
15
Makefile
|
|
@ -47,7 +47,7 @@ help:
|
||||||
|
|
||||||
.PHONY: install
|
.PHONY: install
|
||||||
install:
|
install:
|
||||||
poetry install -E fast -E redis -E proxy -E i18n -E docs --remove-untracked
|
poetry install -E fast -E redis -E proxy -E i18n --sync
|
||||||
$(py) pre-commit install
|
$(py) pre-commit install
|
||||||
|
|
||||||
.PHONY: clean
|
.PHONY: clean
|
||||||
|
|
@ -105,7 +105,7 @@ test-coverage-view:
|
||||||
# Docs
|
# Docs
|
||||||
# =================================================================================================
|
# =================================================================================================
|
||||||
|
|
||||||
locales := en uk_UA ru
|
locales := en uk_UA
|
||||||
locale_targets := $(addprefix docs-serve-, $(locales))
|
locale_targets := $(addprefix docs-serve-, $(locales))
|
||||||
|
|
||||||
docs-gettext:
|
docs-gettext:
|
||||||
|
|
@ -114,8 +114,8 @@ docs-gettext:
|
||||||
.PHONY: docs-gettext
|
.PHONY: docs-gettext
|
||||||
|
|
||||||
docs-serve:
|
docs-serve:
|
||||||
rm -rf docs/_build
|
#rm -rf docs/_build
|
||||||
$(py) sphinx-autobuild --watch aiogram/ docs/ docs/_build/ $(OPTS)
|
$(py) sphinx-autobuild --watch aiogram/ --watch CHANGELOG.rst --watch README.rst docs/ docs/_build/ $(OPTS)
|
||||||
.PHONY: docs-serve
|
.PHONY: docs-serve
|
||||||
|
|
||||||
$(locale_targets): docs-serve-%:
|
$(locale_targets): docs-serve-%:
|
||||||
|
|
@ -158,3 +158,10 @@ release:
|
||||||
git add .
|
git add .
|
||||||
git commit -m "Release $(shell poetry version -s)"
|
git commit -m "Release $(shell poetry version -s)"
|
||||||
git tag v$(shell poetry version -s)
|
git tag v$(shell poetry version -s)
|
||||||
|
|
||||||
|
_poetry_export_args := --format requirements.txt --without-hashes
|
||||||
|
|
||||||
|
.PHONY: export-requirements
|
||||||
|
export-requirements:
|
||||||
|
poetry export $(_poetry_export_args) --output requirements/base.txt
|
||||||
|
poetry export $(_poetry_export_args) --output requirements/docs.txt -E fast -E redis -E proxy -E i18n --with docs
|
||||||
|
|
|
||||||
|
|
@ -62,14 +62,16 @@ Features
|
||||||
- Asynchronous (`asyncio docs <https://docs.python.org/3/library/asyncio.html>`_, :pep:`492`)
|
- Asynchronous (`asyncio docs <https://docs.python.org/3/library/asyncio.html>`_, :pep:`492`)
|
||||||
- Has type hints (:pep:`484`) and can be used with `mypy <http://mypy-lang.org/>`_
|
- Has type hints (:pep:`484`) and can be used with `mypy <http://mypy-lang.org/>`_
|
||||||
- Supports `PyPy <https://www.pypy.org/>`_
|
- Supports `PyPy <https://www.pypy.org/>`_
|
||||||
- Supports `Telegram Bot API 5.3 <https://core.telegram.org/bots/api>`_
|
- Supports `Telegram Bot API 6.3 <https://core.telegram.org/bots/api>`_ and gets fast updates to the latest versions of the Bot API
|
||||||
- Telegram Bot API integration code was `autogenerated <https://github.com/aiogram/tg-codegen>`_ and can be easily re-generated when API gets updated
|
- Telegram Bot API integration code was `autogenerated <https://github.com/aiogram/tg-codegen>`_ and can be easily re-generated when API gets updated
|
||||||
- Updates router (Blueprints)
|
- Updates router (Blueprints)
|
||||||
- Has Finite State Machine
|
- Has Finite State Machine
|
||||||
|
- Uses powerful :ref:`magic filters <magic-filters>`
|
||||||
- Middlewares (incoming updates and API calls)
|
- Middlewares (incoming updates and API calls)
|
||||||
- Provides `Replies into Webhook <https://core.telegram.org/bots/faq#how-can-i-make-requests-in-response-to-updates>`_
|
- Provides `Replies into Webhook <https://core.telegram.org/bots/faq#how-can-i-make-requests-in-response-to-updates>`_
|
||||||
- Integrated I18n/L10n support with GNU Gettext (or Fluent)
|
- Integrated I18n/L10n support with GNU Gettext (or Fluent)
|
||||||
|
|
||||||
|
|
||||||
.. warning::
|
.. warning::
|
||||||
|
|
||||||
It is strongly advised that you have prior experience working
|
It is strongly advised that you have prior experience working
|
||||||
|
|
|
||||||
|
|
@ -35,5 +35,5 @@ __all__ = (
|
||||||
"flags",
|
"flags",
|
||||||
)
|
)
|
||||||
|
|
||||||
__version__ = "3.0.0b4"
|
__version__ = "3.0.0b5"
|
||||||
__api_version__ = "6.2"
|
__api_version__ = "6.2"
|
||||||
|
|
|
||||||
|
|
@ -33,10 +33,12 @@ class Dispatcher(Router):
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
|
*, # * - Preventing to pass instance of Bot to the FSM storage
|
||||||
storage: Optional[BaseStorage] = None,
|
storage: Optional[BaseStorage] = None,
|
||||||
fsm_strategy: FSMStrategy = FSMStrategy.USER_IN_CHAT,
|
fsm_strategy: FSMStrategy = FSMStrategy.USER_IN_CHAT,
|
||||||
events_isolation: Optional[BaseEventIsolation] = None,
|
events_isolation: Optional[BaseEventIsolation] = None,
|
||||||
disable_fsm: bool = False,
|
disable_fsm: bool = False,
|
||||||
|
name: Optional[str] = None,
|
||||||
**kwargs: Any,
|
**kwargs: Any,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""
|
"""
|
||||||
|
|
@ -49,11 +51,16 @@ class Dispatcher(Router):
|
||||||
then you should not use storage and events isolation
|
then you should not use storage and events isolation
|
||||||
:param kwargs: Other arguments, will be passed as keyword arguments to handlers
|
:param kwargs: Other arguments, will be passed as keyword arguments to handlers
|
||||||
"""
|
"""
|
||||||
super(Dispatcher, self).__init__(**kwargs)
|
super(Dispatcher, self).__init__(name=name)
|
||||||
|
|
||||||
|
if storage and not isinstance(storage, BaseStorage):
|
||||||
|
raise TypeError(
|
||||||
|
f"FSM storage should be instance of 'BaseStorage' not {type(storage).__name__}"
|
||||||
|
)
|
||||||
|
|
||||||
# Telegram API provides originally only one event type - Update
|
# Telegram API provides originally only one event type - Update
|
||||||
# For making easily interactions with events here is registered handler which helps
|
# For making easily interactions with events here is registered handler which helps
|
||||||
# to separate Update to different event types like Message, CallbackQuery and etc.
|
# to separate Update to different event types like Message, CallbackQuery etc.
|
||||||
self.update = self.observers["update"] = TelegramEventObserver(
|
self.update = self.observers["update"] = TelegramEventObserver(
|
||||||
router=self, event_name="update"
|
router=self, event_name="update"
|
||||||
)
|
)
|
||||||
|
|
@ -80,7 +87,7 @@ class Dispatcher(Router):
|
||||||
self.update.outer_middleware(self.fsm)
|
self.update.outer_middleware(self.fsm)
|
||||||
self.shutdown.register(self.fsm.close)
|
self.shutdown.register(self.fsm.close)
|
||||||
|
|
||||||
self.workflow_data: Dict[str, Any] = {}
|
self.workflow_data: Dict[str, Any] = kwargs
|
||||||
self._running_lock = Lock()
|
self._running_lock = Lock()
|
||||||
|
|
||||||
def __getitem__(self, item: str) -> Any:
|
def __getitem__(self, item: str) -> Any:
|
||||||
|
|
@ -186,10 +193,12 @@ class Dispatcher(Router):
|
||||||
# Request timeout can be lower than session timeout and that's OK.
|
# Request timeout can be lower than session timeout and that's OK.
|
||||||
# To prevent false-positive TimeoutError we should wait longer than polling timeout
|
# To prevent false-positive TimeoutError we should wait longer than polling timeout
|
||||||
kwargs["request_timeout"] = int(bot.session.timeout + polling_timeout)
|
kwargs["request_timeout"] = int(bot.session.timeout + polling_timeout)
|
||||||
|
failed = False
|
||||||
while True:
|
while True:
|
||||||
try:
|
try:
|
||||||
updates = await bot(get_updates, **kwargs)
|
updates = await bot(get_updates, **kwargs)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
failed = True
|
||||||
# In cases when Telegram Bot API was inaccessible don't need to stop polling
|
# In cases when Telegram Bot API was inaccessible don't need to stop polling
|
||||||
# process because some developers can't make auto-restarting of the script
|
# process because some developers can't make auto-restarting of the script
|
||||||
loggers.dispatcher.error("Failed to fetch updates - %s: %s", type(e).__name__, e)
|
loggers.dispatcher.error("Failed to fetch updates - %s: %s", type(e).__name__, e)
|
||||||
|
|
@ -205,7 +214,14 @@ class Dispatcher(Router):
|
||||||
|
|
||||||
# In case when network connection was fixed let's reset the backoff
|
# In case when network connection was fixed let's reset the backoff
|
||||||
# to initial value and then process updates
|
# to initial value and then process updates
|
||||||
backoff.reset()
|
if failed:
|
||||||
|
loggers.dispatcher.info(
|
||||||
|
"Connection established (tryings = %d, bot id = %d)",
|
||||||
|
backoff.counter,
|
||||||
|
bot.id,
|
||||||
|
)
|
||||||
|
backoff.reset()
|
||||||
|
failed = False
|
||||||
|
|
||||||
for update in updates:
|
for update in updates:
|
||||||
yield update
|
yield update
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,18 @@
|
||||||
import asyncio
|
import asyncio
|
||||||
import contextvars
|
import contextvars
|
||||||
import inspect
|
import inspect
|
||||||
|
import warnings
|
||||||
from dataclasses import dataclass, field
|
from dataclasses import dataclass, field
|
||||||
from functools import partial
|
from functools import partial
|
||||||
from typing import Any, Callable, Dict, List, Optional, Tuple
|
from typing import Any, Callable, Dict, List, Optional, Tuple
|
||||||
|
|
||||||
from magic_filter import MagicFilter
|
from magic_filter.magic import MagicFilter as OriginalMagicFilter
|
||||||
|
|
||||||
from aiogram.dispatcher.flags import extract_flags_from_object
|
from aiogram.dispatcher.flags import extract_flags_from_object
|
||||||
|
from aiogram.filters.base import Filter
|
||||||
from aiogram.handlers import BaseHandler
|
from aiogram.handlers import BaseHandler
|
||||||
|
from aiogram.utils.magic_filter import MagicFilter
|
||||||
|
from aiogram.utils.warnings import Recommendation
|
||||||
|
|
||||||
CallbackType = Callable[..., Any]
|
CallbackType = Callable[..., Any]
|
||||||
|
|
||||||
|
|
@ -45,20 +49,33 @@ class CallableMixin:
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class FilterObject(CallableMixin):
|
class FilterObject(CallableMixin):
|
||||||
callback: CallbackType
|
magic: Optional[MagicFilter] = None
|
||||||
|
|
||||||
def __post_init__(self) -> None:
|
def __post_init__(self) -> None:
|
||||||
# TODO: Make possibility to extract and explain magic from filter object.
|
if isinstance(self.callback, OriginalMagicFilter):
|
||||||
# Current solution is hard for debugging because the MagicFilter instance can't be extracted
|
# MagicFilter instance is callable but generates
|
||||||
if isinstance(self.callback, MagicFilter):
|
# only "CallOperation" instead of applying the filter
|
||||||
# MagicFilter instance is callable but generates only "CallOperation" instead of applying the filter
|
self.magic = self.callback
|
||||||
self.callback = self.callback.resolve
|
self.callback = self.callback.resolve
|
||||||
super().__post_init__()
|
if not isinstance(self.magic, MagicFilter):
|
||||||
|
# Issue: https://github.com/aiogram/aiogram/issues/990
|
||||||
|
warnings.warn(
|
||||||
|
category=Recommendation,
|
||||||
|
message="You are using F provided by magic_filter package directly, "
|
||||||
|
"but it lacks `.as_()` extension."
|
||||||
|
"\n Please change the import statement: from `from magic_filter import F` "
|
||||||
|
"to `from aiogram import F` to silence this warning.",
|
||||||
|
stacklevel=6,
|
||||||
|
)
|
||||||
|
|
||||||
|
super(FilterObject, self).__post_init__()
|
||||||
|
|
||||||
|
if isinstance(self.callback, Filter):
|
||||||
|
self.awaitable = True
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class HandlerObject(CallableMixin):
|
class HandlerObject(CallableMixin):
|
||||||
callback: CallbackType
|
|
||||||
filters: Optional[List[FilterObject]] = None
|
filters: Optional[List[FilterObject]] = None
|
||||||
flags: Dict[str, Any] = field(default_factory=dict)
|
flags: Dict[str, Any] = field(default_factory=dict)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,17 +1,10 @@
|
||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
import warnings
|
from typing import TYPE_CHECKING, Any, Callable, Dict, List, Optional
|
||||||
from inspect import isclass
|
|
||||||
from itertools import chain
|
|
||||||
from typing import TYPE_CHECKING, Any, Callable, Dict, Generator, List, Optional, Tuple, Type
|
|
||||||
|
|
||||||
from pydantic import ValidationError
|
|
||||||
|
|
||||||
from aiogram.dispatcher.middlewares.manager import MiddlewareManager
|
from aiogram.dispatcher.middlewares.manager import MiddlewareManager
|
||||||
from aiogram.filters.base import BaseFilter
|
|
||||||
|
|
||||||
from ...exceptions import FiltersResolveError
|
from ...filters.base import Filter
|
||||||
from ...filters import BUILTIN_FILTERS_SET
|
|
||||||
from ...types import TelegramObject
|
from ...types import TelegramObject
|
||||||
from .bases import REJECTED, UNHANDLED, MiddlewareType, SkipHandler
|
from .bases import REJECTED, UNHANDLED, MiddlewareType, SkipHandler
|
||||||
from .handler import CallbackType, FilterObject, HandlerObject
|
from .handler import CallbackType, FilterObject, HandlerObject
|
||||||
|
|
@ -33,7 +26,6 @@ class TelegramEventObserver:
|
||||||
self.event_name: str = event_name
|
self.event_name: str = event_name
|
||||||
|
|
||||||
self.handlers: List[HandlerObject] = []
|
self.handlers: List[HandlerObject] = []
|
||||||
self.filters: List[Type[BaseFilter]] = []
|
|
||||||
|
|
||||||
self.middleware = MiddlewareManager()
|
self.middleware = MiddlewareManager()
|
||||||
self.outer_middleware = MiddlewareManager()
|
self.outer_middleware = MiddlewareManager()
|
||||||
|
|
@ -42,63 +34,16 @@ class TelegramEventObserver:
|
||||||
# with dummy callback which never will be used
|
# with dummy callback which never will be used
|
||||||
self._handler = HandlerObject(callback=lambda: True, filters=[])
|
self._handler = HandlerObject(callback=lambda: True, filters=[])
|
||||||
|
|
||||||
def filter(self, *filters: CallbackType, _stacklevel: int = 2, **bound_filters: Any) -> None:
|
def filter(self, *filters: CallbackType) -> None:
|
||||||
"""
|
"""
|
||||||
Register filter for all handlers of this event observer
|
Register filter for all handlers of this event observer
|
||||||
|
|
||||||
:param filters: positional filters
|
:param filters: positional filters
|
||||||
:param bound_filters: keyword filters
|
:param bound_filters: keyword filters
|
||||||
"""
|
"""
|
||||||
resolved_filters = self.resolve_filters(
|
|
||||||
filters, bound_filters, _stacklevel=_stacklevel + 1
|
|
||||||
)
|
|
||||||
if self._handler.filters is None:
|
if self._handler.filters is None:
|
||||||
self._handler.filters = []
|
self._handler.filters = []
|
||||||
self._handler.filters.extend(
|
self._handler.filters.extend([FilterObject(filter_) for filter_ in filters])
|
||||||
[
|
|
||||||
FilterObject(filter_) # type: ignore
|
|
||||||
for filter_ in chain(
|
|
||||||
resolved_filters,
|
|
||||||
filters,
|
|
||||||
)
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
def bind_filter(self, bound_filter: Type[BaseFilter]) -> None:
|
|
||||||
"""
|
|
||||||
Register filter class in factory
|
|
||||||
|
|
||||||
:param bound_filter:
|
|
||||||
"""
|
|
||||||
if not isclass(bound_filter) or not issubclass(bound_filter, BaseFilter):
|
|
||||||
raise TypeError(
|
|
||||||
"bound_filter() argument 'bound_filter' must be subclass of BaseFilter"
|
|
||||||
)
|
|
||||||
if bound_filter not in BUILTIN_FILTERS_SET:
|
|
||||||
warnings.warn(
|
|
||||||
category=DeprecationWarning,
|
|
||||||
message="filters factory deprecated and will be removed in 3.0b5,"
|
|
||||||
" use filters directly instead (Example: "
|
|
||||||
f"`{bound_filter.__name__}(<argument>=<value>)` instead of `<argument>=<value>`)",
|
|
||||||
stacklevel=2,
|
|
||||||
)
|
|
||||||
self.filters.append(bound_filter)
|
|
||||||
|
|
||||||
def _resolve_filters_chain(self) -> Generator[Type[BaseFilter], None, None]:
|
|
||||||
"""
|
|
||||||
Get all bounded filters from current observer and from the parents
|
|
||||||
with the same event type without duplicates
|
|
||||||
"""
|
|
||||||
registry: List[Type[BaseFilter]] = []
|
|
||||||
|
|
||||||
for router in reversed(tuple(self.router.chain_head)):
|
|
||||||
observer = router.observers[self.event_name]
|
|
||||||
|
|
||||||
for filter_ in observer.filters:
|
|
||||||
if filter_ in registry:
|
|
||||||
continue
|
|
||||||
yield filter_
|
|
||||||
registry.append(filter_)
|
|
||||||
|
|
||||||
def _resolve_middlewares(self) -> List[MiddlewareType[TelegramObject]]:
|
def _resolve_middlewares(self) -> List[MiddlewareType[TelegramObject]]:
|
||||||
middlewares: List[MiddlewareType[TelegramObject]] = []
|
middlewares: List[MiddlewareType[TelegramObject]] = []
|
||||||
|
|
@ -108,112 +53,30 @@ class TelegramEventObserver:
|
||||||
|
|
||||||
return middlewares
|
return middlewares
|
||||||
|
|
||||||
def resolve_filters(
|
|
||||||
self,
|
|
||||||
filters: Tuple[CallbackType, ...],
|
|
||||||
full_config: Dict[str, Any],
|
|
||||||
ignore_default: bool = True,
|
|
||||||
_stacklevel: int = 2,
|
|
||||||
) -> List[BaseFilter]:
|
|
||||||
"""
|
|
||||||
Resolve keyword filters via filters factory
|
|
||||||
|
|
||||||
:param filters: positional filters
|
|
||||||
:param full_config: keyword arguments to initialize bounded filters for router/handler
|
|
||||||
:param ignore_default: ignore to resolving filters with only default arguments that are not in full_config
|
|
||||||
"""
|
|
||||||
bound_filters: List[BaseFilter] = []
|
|
||||||
|
|
||||||
if ignore_default and not full_config:
|
|
||||||
return bound_filters
|
|
||||||
|
|
||||||
filter_types = set(type(f) for f in filters)
|
|
||||||
|
|
||||||
validation_errors = []
|
|
||||||
for bound_filter in self._resolve_filters_chain():
|
|
||||||
# skip filter if filter was used as positional filter:
|
|
||||||
if bound_filter in filter_types:
|
|
||||||
continue
|
|
||||||
|
|
||||||
# skip filter with no fields in full_config
|
|
||||||
if ignore_default:
|
|
||||||
full_config_keys = set(full_config.keys())
|
|
||||||
filter_fields = set(bound_filter.__fields__.keys())
|
|
||||||
|
|
||||||
if not full_config_keys.intersection(filter_fields):
|
|
||||||
continue
|
|
||||||
|
|
||||||
# Try to initialize filter.
|
|
||||||
try:
|
|
||||||
f = bound_filter(**full_config)
|
|
||||||
except ValidationError as e:
|
|
||||||
validation_errors.append(e)
|
|
||||||
continue
|
|
||||||
|
|
||||||
# Clean full config to prevent to re-initialize another filter
|
|
||||||
# with the same configuration
|
|
||||||
for key in f.__fields__:
|
|
||||||
full_config.pop(key, None)
|
|
||||||
|
|
||||||
bound_filters.append(f)
|
|
||||||
|
|
||||||
if full_config:
|
|
||||||
possible_cases = []
|
|
||||||
for error in validation_errors:
|
|
||||||
for sum_error in error.errors():
|
|
||||||
if sum_error["loc"][0] in full_config:
|
|
||||||
possible_cases.append(error)
|
|
||||||
break
|
|
||||||
|
|
||||||
raise FiltersResolveError(
|
|
||||||
unresolved_fields=set(full_config.keys()), possible_cases=possible_cases
|
|
||||||
)
|
|
||||||
|
|
||||||
if bound_filters:
|
|
||||||
warnings.warn(
|
|
||||||
category=DeprecationWarning,
|
|
||||||
message="Filters factory deprecated and will be removed in 3.0b5.\n"
|
|
||||||
"Use filters directly, for example instead of "
|
|
||||||
"`@router.message(commands=['help']')` "
|
|
||||||
"use `@router.message(Command(commands=['help'])`",
|
|
||||||
stacklevel=_stacklevel,
|
|
||||||
)
|
|
||||||
return bound_filters
|
|
||||||
|
|
||||||
def register(
|
def register(
|
||||||
self,
|
self,
|
||||||
callback: CallbackType,
|
callback: CallbackType,
|
||||||
*filters: CallbackType,
|
*filters: CallbackType,
|
||||||
flags: Optional[Dict[str, Any]] = None,
|
flags: Optional[Dict[str, Any]] = None,
|
||||||
_stacklevel: int = 2,
|
|
||||||
**bound_filters: Any,
|
|
||||||
) -> CallbackType:
|
) -> CallbackType:
|
||||||
"""
|
"""
|
||||||
Register event handler
|
Register event handler
|
||||||
"""
|
"""
|
||||||
if flags is None:
|
if flags is None:
|
||||||
flags = {}
|
flags = {}
|
||||||
resolved_filters = self.resolve_filters(
|
|
||||||
filters,
|
for item in filters:
|
||||||
bound_filters,
|
if isinstance(item, Filter):
|
||||||
ignore_default=False,
|
item.update_handler_flags(flags=flags)
|
||||||
_stacklevel=_stacklevel + 1,
|
|
||||||
)
|
|
||||||
for resolved_filter in resolved_filters:
|
|
||||||
resolved_filter.update_handler_flags(flags=flags)
|
|
||||||
self.handlers.append(
|
self.handlers.append(
|
||||||
HandlerObject(
|
HandlerObject(
|
||||||
callback=callback,
|
callback=callback,
|
||||||
filters=[
|
filters=[FilterObject(filter_) for filter_ in filters],
|
||||||
FilterObject(filter_) # type: ignore
|
|
||||||
for filter_ in chain(
|
|
||||||
resolved_filters,
|
|
||||||
filters,
|
|
||||||
)
|
|
||||||
],
|
|
||||||
flags=flags,
|
flags=flags,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
return callback
|
return callback
|
||||||
|
|
||||||
def wrap_outer_middleware(
|
def wrap_outer_middleware(
|
||||||
|
|
@ -253,19 +116,15 @@ class TelegramEventObserver:
|
||||||
|
|
||||||
def __call__(
|
def __call__(
|
||||||
self,
|
self,
|
||||||
*args: CallbackType,
|
*filters: CallbackType,
|
||||||
flags: Optional[Dict[str, Any]] = None,
|
flags: Optional[Dict[str, Any]] = None,
|
||||||
_stacklevel: int = 2,
|
|
||||||
**bound_filters: Any,
|
|
||||||
) -> Callable[[CallbackType], CallbackType]:
|
) -> Callable[[CallbackType], CallbackType]:
|
||||||
"""
|
"""
|
||||||
Decorator for registering event handlers
|
Decorator for registering event handlers
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def wrapper(callback: CallbackType) -> CallbackType:
|
def wrapper(callback: CallbackType) -> CallbackType:
|
||||||
self.register(
|
self.register(callback, *filters, flags=flags)
|
||||||
callback, *args, flags=flags, **bound_filters, _stacklevel=_stacklevel + 1
|
|
||||||
)
|
|
||||||
return callback
|
return callback
|
||||||
|
|
||||||
return wrapper
|
return wrapper
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,9 @@
|
||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
from typing import TYPE_CHECKING, Any, Awaitable, Callable, Dict
|
from typing import TYPE_CHECKING, Any, Awaitable, Callable, Dict, cast
|
||||||
|
|
||||||
from ...types import TelegramObject
|
from ...types import TelegramObject, Update
|
||||||
|
from ...types.error_event import ErrorEvent
|
||||||
from ..event.bases import UNHANDLED, CancelHandler, SkipHandler
|
from ..event.bases import UNHANDLED, CancelHandler, SkipHandler
|
||||||
from .base import BaseMiddleware
|
from .base import BaseMiddleware
|
||||||
|
|
||||||
|
|
@ -26,7 +27,9 @@ class ErrorsMiddleware(BaseMiddleware):
|
||||||
raise
|
raise
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
response = await self.router.propagate_event(
|
response = await self.router.propagate_event(
|
||||||
update_type="error", event=event, **data, exception=e
|
update_type="error",
|
||||||
|
event=ErrorEvent(update=cast(Update, event), exception=e),
|
||||||
|
**data,
|
||||||
)
|
)
|
||||||
if response is not UNHANDLED:
|
if response is not UNHANDLED:
|
||||||
return response
|
return response
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,8 @@
|
||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
import warnings
|
|
||||||
from typing import Any, Dict, Final, Generator, List, Optional, Set, Union
|
from typing import Any, Dict, Final, Generator, List, Optional, Set, Union
|
||||||
|
|
||||||
from aiogram.filters import BUILTIN_FILTERS
|
|
||||||
|
|
||||||
from ..types import TelegramObject
|
from ..types import TelegramObject
|
||||||
from ..utils.warnings import CodeHasNoEffect
|
|
||||||
from .event.bases import REJECTED, UNHANDLED
|
from .event.bases import REJECTED, UNHANDLED
|
||||||
from .event.event import EventObserver
|
from .event.event import EventObserver
|
||||||
from .event.telegram import TelegramEventObserver
|
from .event.telegram import TelegramEventObserver
|
||||||
|
|
@ -25,14 +21,11 @@ class Router:
|
||||||
- By decorator - :obj:`@router.<event_type>(<filters, ...>)`
|
- By decorator - :obj:`@router.<event_type>(<filters, ...>)`
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self, use_builtin_filters: bool = True, name: Optional[str] = None) -> None:
|
def __init__(self, *, name: Optional[str] = None) -> None:
|
||||||
"""
|
"""
|
||||||
|
|
||||||
:param use_builtin_filters: `aiogram` has many builtin filters and you can controll automatic registration of this filters in factory
|
|
||||||
:param name: Optional router name, can be useful for debugging
|
:param name: Optional router name, can be useful for debugging
|
||||||
"""
|
"""
|
||||||
|
|
||||||
self.use_builtin_filters = use_builtin_filters
|
|
||||||
self.name = name or hex(id(self))
|
self.name = name or hex(id(self))
|
||||||
|
|
||||||
self._parent_router: Optional[Router] = None
|
self._parent_router: Optional[Router] = None
|
||||||
|
|
@ -83,12 +76,6 @@ class Router:
|
||||||
"error": self.errors,
|
"error": self.errors,
|
||||||
}
|
}
|
||||||
|
|
||||||
# Builtin filters
|
|
||||||
if use_builtin_filters:
|
|
||||||
for name, observer in self.observers.items():
|
|
||||||
for builtin_filter in BUILTIN_FILTERS.get(name, ()):
|
|
||||||
observer.bind_filter(builtin_filter)
|
|
||||||
|
|
||||||
def __str__(self) -> str:
|
def __str__(self) -> str:
|
||||||
return f"{type(self).__name__} {self.name!r}"
|
return f"{type(self).__name__} {self.name!r}"
|
||||||
|
|
||||||
|
|
@ -187,15 +174,6 @@ class Router:
|
||||||
if parent == self:
|
if parent == self:
|
||||||
raise RuntimeError("Circular referencing of Router is not allowed")
|
raise RuntimeError("Circular referencing of Router is not allowed")
|
||||||
|
|
||||||
if not self.use_builtin_filters and parent.use_builtin_filters:
|
|
||||||
warnings.warn(
|
|
||||||
f"{type(self).__name__}(use_builtin_filters=False) has no effect"
|
|
||||||
f" for router {self} in due to builtin filters is already registered"
|
|
||||||
f" in parent router",
|
|
||||||
CodeHasNoEffect,
|
|
||||||
stacklevel=3,
|
|
||||||
)
|
|
||||||
|
|
||||||
parent = parent.parent_router
|
parent = parent.parent_router
|
||||||
|
|
||||||
self._parent_router = router
|
self._parent_router = router
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,4 @@
|
||||||
from textwrap import indent
|
from typing import Optional
|
||||||
from typing import List, Optional, Set
|
|
||||||
|
|
||||||
from pydantic import ValidationError
|
|
||||||
|
|
||||||
from aiogram.methods import TelegramMethod
|
from aiogram.methods import TelegramMethod
|
||||||
from aiogram.methods.base import TelegramType
|
from aiogram.methods.base import TelegramType
|
||||||
|
|
@ -107,17 +104,3 @@ class RestartingTelegram(TelegramServerError):
|
||||||
|
|
||||||
class TelegramEntityTooLarge(TelegramNetworkError):
|
class TelegramEntityTooLarge(TelegramNetworkError):
|
||||||
url = "https://core.telegram.org/bots/api#sending-files"
|
url = "https://core.telegram.org/bots/api#sending-files"
|
||||||
|
|
||||||
|
|
||||||
class FiltersResolveError(DetailedAiogramError):
|
|
||||||
def __init__(self, unresolved_fields: Set[str], possible_cases: List[ValidationError]) -> None:
|
|
||||||
possible_cases_str = "\n".join(
|
|
||||||
" - " + indent(str(e), " " * 4).lstrip() for e in possible_cases
|
|
||||||
)
|
|
||||||
message = f"Unknown keyword filters: {unresolved_fields}"
|
|
||||||
if possible_cases_str:
|
|
||||||
message += f"\n Possible cases:\n{possible_cases_str}"
|
|
||||||
|
|
||||||
super().__init__(message=message)
|
|
||||||
self.unresolved_fields = unresolved_fields
|
|
||||||
self.possible_cases = possible_cases
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
from itertools import chain
|
|
||||||
from typing import Dict, Tuple, Type
|
from typing import Dict, Tuple, Type
|
||||||
|
|
||||||
from .base import BaseFilter
|
from .base import Filter
|
||||||
from .chat_member_updated import (
|
from .chat_member_updated import (
|
||||||
ADMINISTRATOR,
|
ADMINISTRATOR,
|
||||||
CREATOR,
|
CREATOR,
|
||||||
|
|
@ -18,21 +17,21 @@ from .chat_member_updated import (
|
||||||
ChatMemberUpdatedFilter,
|
ChatMemberUpdatedFilter,
|
||||||
)
|
)
|
||||||
from .command import Command, CommandObject, CommandStart
|
from .command import Command, CommandObject, CommandStart
|
||||||
from .content_types import ContentTypesFilter
|
|
||||||
from .exception import ExceptionMessageFilter, ExceptionTypeFilter
|
from .exception import ExceptionMessageFilter, ExceptionTypeFilter
|
||||||
from .logic import and_f, invert_f, or_f
|
|
||||||
from .magic_data import MagicData
|
from .magic_data import MagicData
|
||||||
from .state import StateFilter
|
from .state import StateFilter
|
||||||
from .text import Text
|
from .text import Text
|
||||||
|
|
||||||
|
BaseFilter = Filter
|
||||||
|
|
||||||
__all__ = (
|
__all__ = (
|
||||||
"BUILTIN_FILTERS",
|
"BUILTIN_FILTERS",
|
||||||
|
"Filter",
|
||||||
"BaseFilter",
|
"BaseFilter",
|
||||||
"Text",
|
"Text",
|
||||||
"Command",
|
"Command",
|
||||||
"CommandObject",
|
"CommandObject",
|
||||||
"CommandStart",
|
"CommandStart",
|
||||||
"ContentTypesFilter",
|
|
||||||
"ExceptionMessageFilter",
|
"ExceptionMessageFilter",
|
||||||
"ExceptionTypeFilter",
|
"ExceptionTypeFilter",
|
||||||
"StateFilter",
|
"StateFilter",
|
||||||
|
|
@ -50,90 +49,6 @@ __all__ = (
|
||||||
"IS_NOT_MEMBER",
|
"IS_NOT_MEMBER",
|
||||||
"JOIN_TRANSITION",
|
"JOIN_TRANSITION",
|
||||||
"LEAVE_TRANSITION",
|
"LEAVE_TRANSITION",
|
||||||
"and_f",
|
|
||||||
"or_f",
|
|
||||||
"invert_f",
|
|
||||||
)
|
)
|
||||||
|
|
||||||
_ALL_EVENTS_FILTERS: Tuple[Type[BaseFilter], ...] = (MagicData,)
|
BUILTIN_FILTERS: Dict[str, Tuple[Type[Filter], ...]] = {}
|
||||||
_TELEGRAM_EVENTS_FILTERS: Tuple[Type[BaseFilter], ...] = (StateFilter,)
|
|
||||||
|
|
||||||
BUILTIN_FILTERS: Dict[str, Tuple[Type[BaseFilter], ...]] = {
|
|
||||||
"message": (
|
|
||||||
Text,
|
|
||||||
Command,
|
|
||||||
ContentTypesFilter,
|
|
||||||
*_ALL_EVENTS_FILTERS,
|
|
||||||
*_TELEGRAM_EVENTS_FILTERS,
|
|
||||||
),
|
|
||||||
"edited_message": (
|
|
||||||
Text,
|
|
||||||
Command,
|
|
||||||
ContentTypesFilter,
|
|
||||||
*_ALL_EVENTS_FILTERS,
|
|
||||||
*_TELEGRAM_EVENTS_FILTERS,
|
|
||||||
),
|
|
||||||
"channel_post": (
|
|
||||||
Text,
|
|
||||||
ContentTypesFilter,
|
|
||||||
*_ALL_EVENTS_FILTERS,
|
|
||||||
*_TELEGRAM_EVENTS_FILTERS,
|
|
||||||
),
|
|
||||||
"edited_channel_post": (
|
|
||||||
Text,
|
|
||||||
ContentTypesFilter,
|
|
||||||
*_ALL_EVENTS_FILTERS,
|
|
||||||
*_TELEGRAM_EVENTS_FILTERS,
|
|
||||||
),
|
|
||||||
"inline_query": (
|
|
||||||
Text,
|
|
||||||
*_ALL_EVENTS_FILTERS,
|
|
||||||
*_TELEGRAM_EVENTS_FILTERS,
|
|
||||||
),
|
|
||||||
"chosen_inline_result": (
|
|
||||||
*_ALL_EVENTS_FILTERS,
|
|
||||||
*_TELEGRAM_EVENTS_FILTERS,
|
|
||||||
),
|
|
||||||
"callback_query": (
|
|
||||||
Text,
|
|
||||||
*_ALL_EVENTS_FILTERS,
|
|
||||||
*_TELEGRAM_EVENTS_FILTERS,
|
|
||||||
),
|
|
||||||
"shipping_query": (
|
|
||||||
*_ALL_EVENTS_FILTERS,
|
|
||||||
*_TELEGRAM_EVENTS_FILTERS,
|
|
||||||
),
|
|
||||||
"pre_checkout_query": (
|
|
||||||
*_ALL_EVENTS_FILTERS,
|
|
||||||
*_TELEGRAM_EVENTS_FILTERS,
|
|
||||||
),
|
|
||||||
"poll": (
|
|
||||||
*_ALL_EVENTS_FILTERS,
|
|
||||||
*_TELEGRAM_EVENTS_FILTERS,
|
|
||||||
),
|
|
||||||
"poll_answer": (
|
|
||||||
*_ALL_EVENTS_FILTERS,
|
|
||||||
*_TELEGRAM_EVENTS_FILTERS,
|
|
||||||
),
|
|
||||||
"my_chat_member": (
|
|
||||||
*_ALL_EVENTS_FILTERS,
|
|
||||||
*_TELEGRAM_EVENTS_FILTERS,
|
|
||||||
ChatMemberUpdatedFilter,
|
|
||||||
),
|
|
||||||
"chat_member": (
|
|
||||||
*_ALL_EVENTS_FILTERS,
|
|
||||||
*_TELEGRAM_EVENTS_FILTERS,
|
|
||||||
ChatMemberUpdatedFilter,
|
|
||||||
),
|
|
||||||
"chat_join_request": (
|
|
||||||
*_ALL_EVENTS_FILTERS,
|
|
||||||
*_TELEGRAM_EVENTS_FILTERS,
|
|
||||||
),
|
|
||||||
"error": (
|
|
||||||
ExceptionMessageFilter,
|
|
||||||
ExceptionTypeFilter,
|
|
||||||
*_ALL_EVENTS_FILTERS,
|
|
||||||
),
|
|
||||||
}
|
|
||||||
|
|
||||||
BUILTIN_FILTERS_SET = set(chain.from_iterable(BUILTIN_FILTERS.values()))
|
|
||||||
|
|
|
||||||
|
|
@ -1,19 +1,15 @@
|
||||||
from abc import ABC, abstractmethod
|
from abc import ABC, abstractmethod
|
||||||
from typing import TYPE_CHECKING, Any, Awaitable, Callable, Dict, Union
|
from typing import TYPE_CHECKING, Any, Awaitable, Callable, Dict, Union
|
||||||
|
|
||||||
from pydantic import BaseModel
|
if TYPE_CHECKING:
|
||||||
|
from aiogram.dispatcher.event.handler import CallbackType, FilterObject
|
||||||
from aiogram.filters.logic import _LogicFilter
|
|
||||||
|
|
||||||
|
|
||||||
class BaseFilter(BaseModel, ABC, _LogicFilter):
|
class Filter(ABC):
|
||||||
"""
|
"""
|
||||||
If you want to register own filters like builtin filters you will need to write subclass
|
If you want to register own filters like builtin filters you will need to write subclass
|
||||||
of this class with overriding the :code:`__call__`
|
of this class with overriding the :code:`__call__`
|
||||||
method and adding filter attributes.
|
method and adding filter attributes.
|
||||||
|
|
||||||
BaseFilter is subclass of :class:`pydantic.BaseModel` that's mean all subclasses of BaseFilter has
|
|
||||||
the validators based on class attributes and custom validator.
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
|
|
@ -34,9 +30,42 @@ class BaseFilter(BaseModel, ABC, _LogicFilter):
|
||||||
"""
|
"""
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
def __invert__(self) -> "_InvertFilter":
|
||||||
|
return invert_f(self)
|
||||||
|
|
||||||
def update_handler_flags(self, flags: Dict[str, Any]) -> None:
|
def update_handler_flags(self, flags: Dict[str, Any]) -> None:
|
||||||
|
"""
|
||||||
|
Also if you want to extend handler flags with using this filter you should implement this method
|
||||||
|
|
||||||
|
:param flags: existing flags, can be updated directly
|
||||||
|
"""
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
def _signature_to_string(self, *args: Any, **kwargs: Any) -> str:
|
||||||
|
items = [repr(arg) for arg in args]
|
||||||
|
items.extend([f"{k}={v!r}" for k, v in kwargs.items() if v is not None])
|
||||||
|
|
||||||
|
return f"{type(self).__name__}({', '.join(items)})"
|
||||||
|
|
||||||
def __await__(self): # type: ignore # pragma: no cover
|
def __await__(self): # type: ignore # pragma: no cover
|
||||||
# Is needed only for inspection and this method is never be called
|
# Is needed only for inspection and this method is never be called
|
||||||
return self.__call__
|
return self.__call__
|
||||||
|
|
||||||
|
|
||||||
|
class _InvertFilter(Filter):
|
||||||
|
__slots__ = ("target",)
|
||||||
|
|
||||||
|
def __init__(self, target: "FilterObject") -> None:
|
||||||
|
self.target = target
|
||||||
|
|
||||||
|
async def __call__(self, *args: Any, **kwargs: Any) -> Union[bool, Dict[str, Any]]:
|
||||||
|
return not bool(await self.target.call(*args, **kwargs))
|
||||||
|
|
||||||
|
def __str__(self) -> str:
|
||||||
|
return f"~{self.target.callback}"
|
||||||
|
|
||||||
|
|
||||||
|
def invert_f(target: "CallbackType") -> _InvertFilter:
|
||||||
|
from aiogram.dispatcher.event.handler import FilterObject
|
||||||
|
|
||||||
|
return _InvertFilter(target=FilterObject(target))
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ from uuid import UUID
|
||||||
from magic_filter import MagicFilter
|
from magic_filter import MagicFilter
|
||||||
from pydantic import BaseModel
|
from pydantic import BaseModel
|
||||||
|
|
||||||
from aiogram.filters import BaseFilter
|
from aiogram.filters.base import Filter
|
||||||
from aiogram.types import CallbackQuery
|
from aiogram.types import CallbackQuery
|
||||||
|
|
||||||
T = TypeVar("T", bound="CallbackData")
|
T = TypeVar("T", bound="CallbackData")
|
||||||
|
|
@ -122,11 +122,8 @@ class CallbackData(BaseModel):
|
||||||
"""
|
"""
|
||||||
return CallbackQueryFilter(callback_data=cls, rule=rule)
|
return CallbackQueryFilter(callback_data=cls, rule=rule)
|
||||||
|
|
||||||
# class Config:
|
|
||||||
# use_enum_values = True
|
|
||||||
|
|
||||||
|
class CallbackQueryFilter(Filter):
|
||||||
class CallbackQueryFilter(BaseFilter):
|
|
||||||
"""
|
"""
|
||||||
This filter helps to handle callback query.
|
This filter helps to handle callback query.
|
||||||
|
|
||||||
|
|
@ -134,10 +131,24 @@ class CallbackQueryFilter(BaseFilter):
|
||||||
via callback data instance
|
via callback data instance
|
||||||
"""
|
"""
|
||||||
|
|
||||||
callback_data: Type[CallbackData]
|
def __init__(
|
||||||
"""Expected type of callback data"""
|
self,
|
||||||
rule: Optional[MagicFilter] = None
|
*,
|
||||||
"""Magic rule"""
|
callback_data: Type[CallbackData],
|
||||||
|
rule: Optional[MagicFilter] = None,
|
||||||
|
):
|
||||||
|
"""
|
||||||
|
:param callback_data: Expected type of callback data
|
||||||
|
:param rule: Magic rule
|
||||||
|
"""
|
||||||
|
self.callback_data = callback_data
|
||||||
|
self.rule = rule
|
||||||
|
|
||||||
|
def __str__(self) -> str:
|
||||||
|
return self._signature_to_string(
|
||||||
|
callback_data=self.callback_data,
|
||||||
|
rule=self.rule,
|
||||||
|
)
|
||||||
|
|
||||||
async def __call__(self, query: CallbackQuery) -> Union[Literal[False], Dict[str, Any]]:
|
async def __call__(self, query: CallbackQuery) -> Union[Literal[False], Dict[str, Any]]:
|
||||||
if not isinstance(query, CallbackQuery) or not query.data:
|
if not isinstance(query, CallbackQuery) or not query.data:
|
||||||
|
|
@ -150,7 +161,3 @@ class CallbackQueryFilter(BaseFilter):
|
||||||
if self.rule is None or self.rule.resolve(callback_data):
|
if self.rule is None or self.rule.resolve(callback_data):
|
||||||
return {"callback_data": callback_data}
|
return {"callback_data": callback_data}
|
||||||
return False
|
return False
|
||||||
|
|
||||||
class Config:
|
|
||||||
arbitrary_types_allowed = True
|
|
||||||
use_enum_values = True
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
from typing import Any, Dict, Optional, TypeVar, Union
|
from typing import Any, Dict, Optional, TypeVar, Union
|
||||||
|
|
||||||
from aiogram.filters import BaseFilter
|
from aiogram.filters.base import Filter
|
||||||
from aiogram.types import ChatMember, ChatMemberUpdated
|
from aiogram.types import ChatMember, ChatMemberUpdated
|
||||||
|
|
||||||
MarkerT = TypeVar("MarkerT", bound="_MemberStatusMarker")
|
MarkerT = TypeVar("MarkerT", bound="_MemberStatusMarker")
|
||||||
|
|
@ -154,16 +154,21 @@ LEAVE_TRANSITION = ~JOIN_TRANSITION
|
||||||
PROMOTED_TRANSITION = (MEMBER | RESTRICTED | LEFT | KICKED) >> ADMINISTRATOR
|
PROMOTED_TRANSITION = (MEMBER | RESTRICTED | LEFT | KICKED) >> ADMINISTRATOR
|
||||||
|
|
||||||
|
|
||||||
class ChatMemberUpdatedFilter(BaseFilter):
|
class ChatMemberUpdatedFilter(Filter):
|
||||||
member_status_changed: Union[
|
def __init__(
|
||||||
_MemberStatusMarker,
|
self,
|
||||||
_MemberStatusGroupMarker,
|
member_status_changed: Union[
|
||||||
_MemberStatusTransition,
|
_MemberStatusMarker,
|
||||||
]
|
_MemberStatusGroupMarker,
|
||||||
"""Accepts the status transition or new status of the member (see usage in docs)"""
|
_MemberStatusTransition,
|
||||||
|
],
|
||||||
|
):
|
||||||
|
self.member_status_changed = member_status_changed
|
||||||
|
|
||||||
class Config:
|
def __str__(self) -> str:
|
||||||
arbitrary_types_allowed = True
|
return self._signature_to_string(
|
||||||
|
member_status_changed=self.member_status_changed,
|
||||||
|
)
|
||||||
|
|
||||||
async def __call__(self, member_updated: ChatMemberUpdated) -> Union[bool, Dict[str, Any]]:
|
async def __call__(self, member_updated: ChatMemberUpdated) -> Union[bool, Dict[str, Any]]:
|
||||||
old = member_updated.old_chat_member
|
old = member_updated.old_chat_member
|
||||||
|
|
|
||||||
|
|
@ -2,57 +2,111 @@ from __future__ import annotations
|
||||||
|
|
||||||
import re
|
import re
|
||||||
from dataclasses import dataclass, field, replace
|
from dataclasses import dataclass, field, replace
|
||||||
from typing import TYPE_CHECKING, Any, Dict, Match, Optional, Pattern, Sequence, Tuple, Union, cast
|
from typing import (
|
||||||
|
TYPE_CHECKING,
|
||||||
|
Any,
|
||||||
|
Dict,
|
||||||
|
Iterable,
|
||||||
|
Match,
|
||||||
|
Optional,
|
||||||
|
Pattern,
|
||||||
|
Sequence,
|
||||||
|
Union,
|
||||||
|
cast,
|
||||||
|
)
|
||||||
|
|
||||||
from magic_filter import MagicFilter
|
from magic_filter import MagicFilter
|
||||||
from pydantic import Field, validator
|
|
||||||
|
|
||||||
from aiogram.filters import BaseFilter
|
from aiogram.filters.base import Filter
|
||||||
from aiogram.types import Message
|
from aiogram.types import BotCommand, Message
|
||||||
from aiogram.utils.deep_linking import decode_payload
|
from aiogram.utils.deep_linking import decode_payload
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from aiogram import Bot
|
from aiogram import Bot
|
||||||
|
|
||||||
CommandPatternType = Union[str, re.Pattern]
|
CommandPatternType = Union[str, re.Pattern, BotCommand]
|
||||||
|
|
||||||
|
|
||||||
class CommandException(Exception):
|
class CommandException(Exception):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
class Command(BaseFilter):
|
class Command(Filter):
|
||||||
"""
|
"""
|
||||||
This filter can be helpful for handling commands from the text messages.
|
This filter can be helpful for handling commands from the text messages.
|
||||||
|
|
||||||
Works only with :class:`aiogram.types.message.Message` events which have the :code:`text`.
|
Works only with :class:`aiogram.types.message.Message` events which have the :code:`text`.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
commands: Union[Sequence[CommandPatternType], CommandPatternType]
|
def __init__(
|
||||||
"""List of commands (string or compiled regexp patterns)"""
|
self,
|
||||||
commands_prefix: str = "/"
|
*values: CommandPatternType,
|
||||||
"""Prefix for command. Prefix is always is single char but here you can pass all of allowed prefixes,
|
commands: Optional[Union[Sequence[CommandPatternType], CommandPatternType]] = None,
|
||||||
for example: :code:`"/!"` will work with commands prefixed by :code:`"/"` or :code:`"!"`."""
|
prefix: str = "/",
|
||||||
commands_ignore_case: bool = False
|
ignore_case: bool = False,
|
||||||
"""Ignore case (Does not work with regexp, use flags instead)"""
|
ignore_mention: bool = False,
|
||||||
commands_ignore_mention: bool = False
|
magic: Optional[MagicFilter] = None,
|
||||||
"""Ignore bot mention. By default bot can not handle commands intended for other bots"""
|
):
|
||||||
command_magic: Optional[MagicFilter] = None
|
"""
|
||||||
"""Validate command object via Magic filter after all checks done"""
|
List of commands (string or compiled regexp patterns)
|
||||||
|
|
||||||
|
:param prefix: Prefix for command.
|
||||||
|
Prefix is always a single char but here you can pass all of allowed prefixes,
|
||||||
|
for example: :code:`"/!"` will work with commands prefixed
|
||||||
|
by :code:`"/"` or :code:`"!"`.
|
||||||
|
:param ignore_case: Ignore case (Does not work with regexp, use flags instead)
|
||||||
|
:param ignore_mention: Ignore bot mention. By default,
|
||||||
|
bot can not handle commands intended for other bots
|
||||||
|
:param magic: Validate command object via Magic filter after all checks done
|
||||||
|
"""
|
||||||
|
if commands is None:
|
||||||
|
commands = []
|
||||||
|
if isinstance(commands, (str, re.Pattern, BotCommand)):
|
||||||
|
commands = [commands]
|
||||||
|
|
||||||
|
if not isinstance(commands, Iterable):
|
||||||
|
raise ValueError(
|
||||||
|
"Command filter only supports str, re.Pattern, BotCommand object"
|
||||||
|
" or their Iterable"
|
||||||
|
)
|
||||||
|
|
||||||
|
items = []
|
||||||
|
for command in (*values, *commands):
|
||||||
|
if isinstance(command, BotCommand):
|
||||||
|
command = command.command
|
||||||
|
if not isinstance(command, (str, re.Pattern)):
|
||||||
|
raise ValueError(
|
||||||
|
"Command filter only supports str, re.Pattern, BotCommand object"
|
||||||
|
" or their Iterable"
|
||||||
|
)
|
||||||
|
items.append(command)
|
||||||
|
|
||||||
|
if not items:
|
||||||
|
raise ValueError("At least one command should be specified")
|
||||||
|
|
||||||
|
self.commands = tuple(items)
|
||||||
|
self.prefix = prefix
|
||||||
|
self.ignore_case = ignore_case
|
||||||
|
self.ignore_mention = ignore_mention
|
||||||
|
self.magic = magic
|
||||||
|
|
||||||
|
def __str__(self) -> str:
|
||||||
|
return self._signature_to_string(
|
||||||
|
*self.commands,
|
||||||
|
prefix=self.prefix,
|
||||||
|
ignore_case=self.ignore_case,
|
||||||
|
ignore_mention=self.ignore_mention,
|
||||||
|
magic=self.magic,
|
||||||
|
)
|
||||||
|
|
||||||
def update_handler_flags(self, flags: Dict[str, Any]) -> None:
|
def update_handler_flags(self, flags: Dict[str, Any]) -> None:
|
||||||
commands = flags.setdefault("commands", [])
|
commands = flags.setdefault("commands", [])
|
||||||
commands.append(self)
|
commands.append(self)
|
||||||
|
|
||||||
@validator("commands", always=True)
|
|
||||||
def _validate_commands(
|
|
||||||
cls, value: Union[Sequence[CommandPatternType], CommandPatternType]
|
|
||||||
) -> Sequence[CommandPatternType]:
|
|
||||||
if isinstance(value, (str, re.Pattern)):
|
|
||||||
value = [value]
|
|
||||||
return value
|
|
||||||
|
|
||||||
async def __call__(self, message: Message, bot: Bot) -> Union[bool, Dict[str, Any]]:
|
async def __call__(self, message: Message, bot: Bot) -> Union[bool, Dict[str, Any]]:
|
||||||
|
if not isinstance(message, Message):
|
||||||
|
return False
|
||||||
|
|
||||||
text = message.text or message.caption
|
text = message.text or message.caption
|
||||||
if not text:
|
if not text:
|
||||||
return False
|
return False
|
||||||
|
|
@ -78,15 +132,18 @@ class Command(BaseFilter):
|
||||||
# "/command@mention" -> "/", ("command", "@", "mention")
|
# "/command@mention" -> "/", ("command", "@", "mention")
|
||||||
prefix, (command, _, mention) = full_command[0], full_command[1:].partition("@")
|
prefix, (command, _, mention) = full_command[0], full_command[1:].partition("@")
|
||||||
return CommandObject(
|
return CommandObject(
|
||||||
prefix=prefix, command=command, mention=mention, args=args[0] if args else None
|
prefix=prefix,
|
||||||
|
command=command,
|
||||||
|
mention=mention or None,
|
||||||
|
args=args[0] if args else None,
|
||||||
)
|
)
|
||||||
|
|
||||||
def validate_prefix(self, command: CommandObject) -> None:
|
def validate_prefix(self, command: CommandObject) -> None:
|
||||||
if command.prefix not in self.commands_prefix:
|
if command.prefix not in self.prefix:
|
||||||
raise CommandException("Invalid command prefix")
|
raise CommandException("Invalid command prefix")
|
||||||
|
|
||||||
async def validate_mention(self, bot: Bot, command: CommandObject) -> None:
|
async def validate_mention(self, bot: Bot, command: CommandObject) -> None:
|
||||||
if command.mention and not self.commands_ignore_mention:
|
if command.mention and not self.ignore_mention:
|
||||||
me = await bot.me()
|
me = await bot.me()
|
||||||
if me.username and command.mention.lower() != me.username.lower():
|
if me.username and command.mention.lower() != me.username.lower():
|
||||||
raise CommandException("Mention did not match")
|
raise CommandException("Mention did not match")
|
||||||
|
|
@ -119,16 +176,13 @@ class Command(BaseFilter):
|
||||||
return command
|
return command
|
||||||
|
|
||||||
def do_magic(self, command: CommandObject) -> Any:
|
def do_magic(self, command: CommandObject) -> Any:
|
||||||
if not self.command_magic:
|
if not self.magic:
|
||||||
return command
|
return command
|
||||||
result = self.command_magic.resolve(command)
|
result = self.magic.resolve(command)
|
||||||
if not result:
|
if not result:
|
||||||
raise CommandException("Rejected via magic filter")
|
raise CommandException("Rejected via magic filter")
|
||||||
return replace(command, magic_result=result)
|
return replace(command, magic_result=result)
|
||||||
|
|
||||||
class Config:
|
|
||||||
arbitrary_types_allowed = True
|
|
||||||
|
|
||||||
|
|
||||||
@dataclass(frozen=True)
|
@dataclass(frozen=True)
|
||||||
class CommandObject:
|
class CommandObject:
|
||||||
|
|
@ -170,10 +224,32 @@ class CommandObject:
|
||||||
|
|
||||||
|
|
||||||
class CommandStart(Command):
|
class CommandStart(Command):
|
||||||
commands: Tuple[str] = Field(("start",), const=True)
|
def __init__(
|
||||||
commands_prefix: str = Field("/", const=True)
|
self,
|
||||||
deep_link: bool = False
|
deep_link: bool = False,
|
||||||
deep_link_encoded: bool = False
|
deep_link_encoded: bool = False,
|
||||||
|
ignore_case: bool = False,
|
||||||
|
ignore_mention: bool = False,
|
||||||
|
magic: Optional[MagicFilter] = None,
|
||||||
|
):
|
||||||
|
super().__init__(
|
||||||
|
"start",
|
||||||
|
prefix="/",
|
||||||
|
ignore_case=ignore_case,
|
||||||
|
ignore_mention=ignore_mention,
|
||||||
|
magic=magic,
|
||||||
|
)
|
||||||
|
self.deep_link = deep_link
|
||||||
|
self.deep_link_encoded = deep_link_encoded
|
||||||
|
|
||||||
|
def __str__(self) -> str:
|
||||||
|
return self._signature_to_string(
|
||||||
|
ignore_case=self.ignore_case,
|
||||||
|
ignore_mention=self.ignore_mention,
|
||||||
|
magic=self.magic,
|
||||||
|
deep_link=self.deep_link,
|
||||||
|
deep_link_encoded=self.deep_link_encoded,
|
||||||
|
)
|
||||||
|
|
||||||
async def parse_command(self, text: str, bot: Bot) -> CommandObject:
|
async def parse_command(self, text: str, bot: Bot) -> CommandObject:
|
||||||
"""
|
"""
|
||||||
|
|
|
||||||
|
|
@ -1,34 +0,0 @@
|
||||||
from typing import Any, Dict, Optional, Sequence, Union
|
|
||||||
|
|
||||||
from pydantic import validator
|
|
||||||
|
|
||||||
from aiogram.types import Message
|
|
||||||
from aiogram.types.message import ContentType
|
|
||||||
|
|
||||||
from .base import BaseFilter
|
|
||||||
|
|
||||||
|
|
||||||
class ContentTypesFilter(BaseFilter):
|
|
||||||
"""
|
|
||||||
Is useful for handling specific types of messages (For example separate text and stickers handlers).
|
|
||||||
"""
|
|
||||||
|
|
||||||
content_types: Union[Sequence[str], str]
|
|
||||||
"""Sequence of allowed content types"""
|
|
||||||
|
|
||||||
@validator("content_types")
|
|
||||||
def _validate_content_types(
|
|
||||||
cls, value: Optional[Union[Sequence[str], str]]
|
|
||||||
) -> Optional[Sequence[str]]:
|
|
||||||
if not value:
|
|
||||||
return value
|
|
||||||
if isinstance(value, str):
|
|
||||||
value = [value]
|
|
||||||
allowed_content_types = set(ContentType.all())
|
|
||||||
bad_content_types = set(value) - allowed_content_types
|
|
||||||
if bad_content_types:
|
|
||||||
raise ValueError(f"Invalid content types {bad_content_types} is not allowed here")
|
|
||||||
return value
|
|
||||||
|
|
||||||
async def __call__(self, message: Message) -> Union[bool, Dict[str, Any]]:
|
|
||||||
return ContentType.ANY in self.content_types or message.content_type in self.content_types
|
|
||||||
|
|
@ -1,51 +1,51 @@
|
||||||
import re
|
import re
|
||||||
from typing import Any, Dict, Pattern, Tuple, Type, Union, cast
|
from typing import Any, Dict, Pattern, Type, Union, cast
|
||||||
|
|
||||||
from pydantic import validator
|
from aiogram.filters.base import Filter
|
||||||
|
|
||||||
from aiogram.filters import BaseFilter
|
|
||||||
from aiogram.types import TelegramObject
|
from aiogram.types import TelegramObject
|
||||||
|
from aiogram.types.error_event import ErrorEvent
|
||||||
|
|
||||||
|
|
||||||
class ExceptionTypeFilter(BaseFilter):
|
class ExceptionTypeFilter(Filter):
|
||||||
"""
|
"""
|
||||||
Allows to match exception by type
|
Allows to match exception by type
|
||||||
"""
|
"""
|
||||||
|
|
||||||
exception: Union[Type[Exception], Tuple[Type[Exception]]]
|
def __init__(self, *exceptions: Type[Exception]):
|
||||||
"""Exception type(s)"""
|
"""
|
||||||
|
:param exceptions: Exception type(s)
|
||||||
|
"""
|
||||||
|
if not exceptions:
|
||||||
|
raise ValueError("At least one exception type is required")
|
||||||
|
self.exceptions = exceptions
|
||||||
|
|
||||||
class Config:
|
async def __call__(self, obj: TelegramObject) -> Union[bool, Dict[str, Any]]:
|
||||||
arbitrary_types_allowed = True
|
return isinstance(cast(ErrorEvent, obj).exception, self.exceptions)
|
||||||
|
|
||||||
async def __call__(
|
|
||||||
self, obj: TelegramObject, exception: Exception
|
|
||||||
) -> Union[bool, Dict[str, Any]]:
|
|
||||||
return isinstance(exception, self.exception)
|
|
||||||
|
|
||||||
|
|
||||||
class ExceptionMessageFilter(BaseFilter):
|
class ExceptionMessageFilter(Filter):
|
||||||
"""
|
"""
|
||||||
Allow to match exception by message
|
Allow to match exception by message
|
||||||
"""
|
"""
|
||||||
|
|
||||||
pattern: Union[str, Pattern[str]]
|
def __init__(self, pattern: Union[str, Pattern[str]]):
|
||||||
"""Regexp pattern"""
|
"""
|
||||||
|
:param pattern: Regexp pattern
|
||||||
|
"""
|
||||||
|
if isinstance(pattern, str):
|
||||||
|
pattern = re.compile(pattern)
|
||||||
|
self.pattern = pattern
|
||||||
|
|
||||||
class Config:
|
def __str__(self) -> str:
|
||||||
arbitrary_types_allowed = True
|
return self._signature_to_string(
|
||||||
|
pattern=self.pattern,
|
||||||
@validator("pattern")
|
)
|
||||||
def _validate_match(cls, value: Union[str, Pattern[str]]) -> Union[str, Pattern[str]]:
|
|
||||||
if isinstance(value, str):
|
|
||||||
return re.compile(value)
|
|
||||||
return value
|
|
||||||
|
|
||||||
async def __call__(
|
async def __call__(
|
||||||
self, obj: TelegramObject, exception: Exception
|
self,
|
||||||
|
obj: TelegramObject,
|
||||||
) -> Union[bool, Dict[str, Any]]:
|
) -> Union[bool, Dict[str, Any]]:
|
||||||
pattern = cast(Pattern[str], self.pattern)
|
result = self.pattern.match(str(cast(ErrorEvent, obj).exception))
|
||||||
result = pattern.match(str(exception))
|
|
||||||
if not result:
|
if not result:
|
||||||
return False
|
return False
|
||||||
return {"match_exception": result}
|
return {"match_exception": result}
|
||||||
|
|
|
||||||
|
|
@ -1,87 +0,0 @@
|
||||||
from typing import TYPE_CHECKING, Any, Awaitable, Callable, Dict, Union
|
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
|
||||||
from aiogram.dispatcher.event.handler import CallbackType, FilterObject
|
|
||||||
|
|
||||||
|
|
||||||
class _LogicFilter:
|
|
||||||
__call__: Callable[..., Awaitable[Union[bool, Dict[str, Any]]]]
|
|
||||||
|
|
||||||
def __and__(self, other: "CallbackType") -> "_AndFilter":
|
|
||||||
return and_f(self, other)
|
|
||||||
|
|
||||||
def __or__(self, other: "CallbackType") -> "_OrFilter":
|
|
||||||
return or_f(self, other)
|
|
||||||
|
|
||||||
def __invert__(self) -> "_InvertFilter":
|
|
||||||
return invert_f(self)
|
|
||||||
|
|
||||||
def __await__(self): # type: ignore # pragma: no cover
|
|
||||||
# Is needed only for inspection and this method is never be called
|
|
||||||
return self.__call__
|
|
||||||
|
|
||||||
|
|
||||||
class _InvertFilter(_LogicFilter):
|
|
||||||
__slots__ = ("target",)
|
|
||||||
|
|
||||||
def __init__(self, target: "FilterObject") -> None:
|
|
||||||
self.target = target
|
|
||||||
|
|
||||||
async def __call__(self, *args: Any, **kwargs: Any) -> Union[bool, Dict[str, Any]]:
|
|
||||||
return not bool(await self.target.call(*args, **kwargs))
|
|
||||||
|
|
||||||
|
|
||||||
class _AndFilter(_LogicFilter):
|
|
||||||
__slots__ = ("targets",)
|
|
||||||
|
|
||||||
def __init__(self, *targets: "FilterObject") -> None:
|
|
||||||
self.targets = targets
|
|
||||||
|
|
||||||
async def __call__(self, *args: Any, **kwargs: Any) -> Union[bool, Dict[str, Any]]:
|
|
||||||
final_result = {}
|
|
||||||
|
|
||||||
for target in self.targets:
|
|
||||||
result = await target.call(*args, **kwargs)
|
|
||||||
if not result:
|
|
||||||
return False
|
|
||||||
if isinstance(result, dict):
|
|
||||||
final_result.update(result)
|
|
||||||
|
|
||||||
if final_result:
|
|
||||||
return final_result
|
|
||||||
return True
|
|
||||||
|
|
||||||
|
|
||||||
class _OrFilter(_LogicFilter):
|
|
||||||
__slots__ = ("targets",)
|
|
||||||
|
|
||||||
def __init__(self, *targets: "FilterObject") -> None:
|
|
||||||
self.targets = targets
|
|
||||||
|
|
||||||
async def __call__(self, *args: Any, **kwargs: Any) -> Union[bool, Dict[str, Any]]:
|
|
||||||
for target in self.targets:
|
|
||||||
result = await target.call(*args, **kwargs)
|
|
||||||
if not result:
|
|
||||||
continue
|
|
||||||
if isinstance(result, dict):
|
|
||||||
return result
|
|
||||||
return bool(result)
|
|
||||||
return False
|
|
||||||
|
|
||||||
|
|
||||||
def and_f(target1: "CallbackType", target2: "CallbackType") -> _AndFilter:
|
|
||||||
from aiogram.dispatcher.event.handler import FilterObject
|
|
||||||
|
|
||||||
return _AndFilter(FilterObject(target1), FilterObject(target2))
|
|
||||||
|
|
||||||
|
|
||||||
def or_f(target1: "CallbackType", target2: "CallbackType") -> _OrFilter:
|
|
||||||
from aiogram.dispatcher.event.handler import FilterObject
|
|
||||||
|
|
||||||
return _OrFilter(FilterObject(target1), FilterObject(target2))
|
|
||||||
|
|
||||||
|
|
||||||
def invert_f(target: "CallbackType") -> _InvertFilter:
|
|
||||||
from aiogram.dispatcher.event.handler import FilterObject
|
|
||||||
|
|
||||||
return _InvertFilter(FilterObject(target))
|
|
||||||
|
|
@ -2,17 +2,20 @@ from typing import Any
|
||||||
|
|
||||||
from magic_filter import AttrDict, MagicFilter
|
from magic_filter import AttrDict, MagicFilter
|
||||||
|
|
||||||
from aiogram.filters import BaseFilter
|
from aiogram.filters.base import Filter
|
||||||
from aiogram.types import TelegramObject
|
from aiogram.types import TelegramObject
|
||||||
|
|
||||||
|
|
||||||
class MagicData(BaseFilter):
|
class MagicData(Filter):
|
||||||
magic_data: MagicFilter
|
def __init__(self, magic_data: MagicFilter) -> None:
|
||||||
|
self.magic_data = magic_data
|
||||||
class Config:
|
|
||||||
arbitrary_types_allowed = True
|
|
||||||
|
|
||||||
async def __call__(self, event: TelegramObject, *args: Any, **kwargs: Any) -> Any:
|
async def __call__(self, event: TelegramObject, *args: Any, **kwargs: Any) -> Any:
|
||||||
return self.magic_data.resolve(
|
return self.magic_data.resolve(
|
||||||
AttrDict({"event": event, **{k: v for k, v in enumerate(args)}, **kwargs})
|
AttrDict({"event": event, **{k: v for k, v in enumerate(args)}, **kwargs})
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def __str__(self) -> str:
|
||||||
|
return self._signature_to_string(
|
||||||
|
magic_data=self.magic_data,
|
||||||
|
)
|
||||||
|
|
|
||||||
|
|
@ -1,40 +1,33 @@
|
||||||
from inspect import isclass
|
from inspect import isclass
|
||||||
from typing import Any, Dict, Optional, Sequence, Type, Union, cast, no_type_check
|
from typing import Any, Dict, Optional, Sequence, Type, Union, cast
|
||||||
|
|
||||||
from pydantic import Field, validator
|
from aiogram.filters.base import Filter
|
||||||
|
|
||||||
from aiogram.filters import BaseFilter
|
|
||||||
from aiogram.fsm.state import State, StatesGroup
|
from aiogram.fsm.state import State, StatesGroup
|
||||||
from aiogram.types import TelegramObject
|
from aiogram.types import TelegramObject
|
||||||
|
|
||||||
StateType = Union[str, None, State, StatesGroup, Type[StatesGroup]]
|
StateType = Union[str, None, State, StatesGroup, Type[StatesGroup]]
|
||||||
|
|
||||||
|
|
||||||
class StateFilter(BaseFilter):
|
class StateFilter(Filter):
|
||||||
"""
|
"""
|
||||||
State filter
|
State filter
|
||||||
"""
|
"""
|
||||||
|
|
||||||
state: Union[StateType, Sequence[StateType]] = Field(...)
|
def __init__(self, *states: StateType) -> None:
|
||||||
|
if not states:
|
||||||
|
raise ValueError("At least one state is required")
|
||||||
|
|
||||||
class Config:
|
self.states = states
|
||||||
arbitrary_types_allowed = True
|
|
||||||
|
|
||||||
@validator("state")
|
def __str__(self) -> str:
|
||||||
@no_type_check # issubclass breaks things
|
return self._signature_to_string(
|
||||||
def _validate_state(cls, v: Union[StateType, Sequence[StateType]]) -> Sequence[StateType]:
|
*self.states,
|
||||||
if (
|
)
|
||||||
isinstance(v, (str, State, StatesGroup))
|
|
||||||
or (isclass(v) and issubclass(v, StatesGroup))
|
|
||||||
or v is None
|
|
||||||
):
|
|
||||||
return [v]
|
|
||||||
return v
|
|
||||||
|
|
||||||
async def __call__(
|
async def __call__(
|
||||||
self, obj: Union[TelegramObject], raw_state: Optional[str] = None
|
self, obj: Union[TelegramObject], raw_state: Optional[str] = None
|
||||||
) -> Union[bool, Dict[str, Any]]:
|
) -> Union[bool, Dict[str, Any]]:
|
||||||
allowed_states = cast(Sequence[StateType], self.state)
|
allowed_states = cast(Sequence[StateType], self.states)
|
||||||
for allowed_state in allowed_states:
|
for allowed_state in allowed_states:
|
||||||
if isinstance(allowed_state, str) or allowed_state is None:
|
if isinstance(allowed_state, str) or allowed_state is None:
|
||||||
if allowed_state == "*" or raw_state == allowed_state:
|
if allowed_state == "*" or raw_state == allowed_state:
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,6 @@
|
||||||
from typing import TYPE_CHECKING, Any, Dict, Optional, Sequence, Union
|
from typing import TYPE_CHECKING, Any, Dict, Optional, Sequence, Union
|
||||||
|
|
||||||
from pydantic import root_validator
|
from aiogram.filters.base import Filter
|
||||||
|
|
||||||
from aiogram.filters import BaseFilter
|
|
||||||
from aiogram.types import CallbackQuery, InlineQuery, Message, Poll
|
from aiogram.types import CallbackQuery, InlineQuery, Message, Poll
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
|
|
@ -11,7 +9,7 @@ if TYPE_CHECKING:
|
||||||
TextType = Union[str, "LazyProxy"]
|
TextType = Union[str, "LazyProxy"]
|
||||||
|
|
||||||
|
|
||||||
class Text(BaseFilter):
|
class Text(Filter):
|
||||||
"""
|
"""
|
||||||
Is useful for filtering text :class:`aiogram.types.message.Message`,
|
Is useful for filtering text :class:`aiogram.types.message.Message`,
|
||||||
any :class:`aiogram.types.callback_query.CallbackQuery` with `data`,
|
any :class:`aiogram.types.callback_query.CallbackQuery` with `data`,
|
||||||
|
|
@ -19,7 +17,7 @@ class Text(BaseFilter):
|
||||||
|
|
||||||
.. warning::
|
.. warning::
|
||||||
|
|
||||||
Only one of `text`, `text_contains`, `text_startswith` or `text_endswith` argument can be used at once.
|
Only one of `text`, `contains`, `startswith` or `endswith` argument can be used at once.
|
||||||
Any of that arguments can be string, list, set or tuple of strings.
|
Any of that arguments can be string, list, set or tuple of strings.
|
||||||
|
|
||||||
.. deprecated:: 3.0
|
.. deprecated:: 3.0
|
||||||
|
|
@ -27,40 +25,63 @@ class Text(BaseFilter):
|
||||||
use :ref:`magic-filter <magic-filters>`. For example do :pycode:`F.text == "text"` instead
|
use :ref:`magic-filter <magic-filters>`. For example do :pycode:`F.text == "text"` instead
|
||||||
"""
|
"""
|
||||||
|
|
||||||
text: Optional[Union[Sequence[TextType], TextType]] = None
|
def __init__(
|
||||||
"""Text equals value or one of values"""
|
self,
|
||||||
text_contains: Optional[Union[Sequence[TextType], TextType]] = None
|
text: Optional[Union[Sequence[TextType], TextType]] = None,
|
||||||
"""Text contains value or one of values"""
|
*,
|
||||||
text_startswith: Optional[Union[Sequence[TextType], TextType]] = None
|
contains: Optional[Union[Sequence[TextType], TextType]] = None,
|
||||||
"""Text starts with value or one of values"""
|
startswith: Optional[Union[Sequence[TextType], TextType]] = None,
|
||||||
text_endswith: Optional[Union[Sequence[TextType], TextType]] = None
|
endswith: Optional[Union[Sequence[TextType], TextType]] = None,
|
||||||
"""Text ends with value or one of values"""
|
ignore_case: bool = False,
|
||||||
text_ignore_case: bool = False
|
):
|
||||||
"""Ignore case when checks"""
|
"""
|
||||||
|
|
||||||
class Config:
|
:param text: Text equals value or one of values
|
||||||
arbitrary_types_allowed = True
|
:param contains: Text contains value or one of values
|
||||||
|
:param startswith: Text starts with value or one of values
|
||||||
@root_validator
|
:param endswith: Text ends with value or one of values
|
||||||
def _validate_constraints(cls, values: Dict[str, Any]) -> Dict[str, Any]:
|
:param ignore_case: Ignore case when checks
|
||||||
# Validate that only one text filter type is presented
|
"""
|
||||||
used_args = set(
|
self._validate_constraints(
|
||||||
key for key, value in values.items() if key != "text_ignore_case" and value is not None
|
text=text,
|
||||||
|
contains=contains,
|
||||||
|
startswith=startswith,
|
||||||
|
endswith=endswith,
|
||||||
)
|
)
|
||||||
|
self.text = self._prepare_argument(text)
|
||||||
|
self.contains = self._prepare_argument(contains)
|
||||||
|
self.startswith = self._prepare_argument(startswith)
|
||||||
|
self.endswith = self._prepare_argument(endswith)
|
||||||
|
self.ignore_case = ignore_case
|
||||||
|
|
||||||
|
def __str__(self) -> str:
|
||||||
|
return self._signature_to_string(
|
||||||
|
text=self.text,
|
||||||
|
contains=self.contains,
|
||||||
|
startswith=self.startswith,
|
||||||
|
endswith=self.endswith,
|
||||||
|
ignore_case=self.ignore_case,
|
||||||
|
)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def _prepare_argument(
|
||||||
|
cls, value: Optional[Union[Sequence[TextType], TextType]]
|
||||||
|
) -> Optional[Sequence[TextType]]:
|
||||||
|
from aiogram.utils.i18n.lazy_proxy import LazyProxy
|
||||||
|
|
||||||
|
if isinstance(value, (str, LazyProxy)):
|
||||||
|
return [value]
|
||||||
|
return value
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def _validate_constraints(cls, **values: Any) -> None:
|
||||||
|
# Validate that only one text filter type is presented
|
||||||
|
used_args = set(key for key, value in values.items() if value is not None)
|
||||||
if len(used_args) < 1:
|
if len(used_args) < 1:
|
||||||
raise ValueError(
|
raise ValueError(f"Filter should contain one of arguments: {set(values.keys())}")
|
||||||
"Filter should contain one of arguments: {'text', 'text_contains', 'text_startswith', 'text_endswith'}"
|
|
||||||
)
|
|
||||||
if len(used_args) > 1:
|
if len(used_args) > 1:
|
||||||
raise ValueError(f"Arguments {used_args} cannot be used together")
|
raise ValueError(f"Arguments {used_args} cannot be used together")
|
||||||
|
|
||||||
# Convert single value to list
|
|
||||||
for arg in used_args:
|
|
||||||
if isinstance(values[arg], str):
|
|
||||||
values[arg] = [values[arg]]
|
|
||||||
|
|
||||||
return values
|
|
||||||
|
|
||||||
async def __call__(
|
async def __call__(
|
||||||
self, obj: Union[Message, CallbackQuery, InlineQuery, Poll]
|
self, obj: Union[Message, CallbackQuery, InlineQuery, Poll]
|
||||||
) -> Union[bool, Dict[str, Any]]:
|
) -> Union[bool, Dict[str, Any]]:
|
||||||
|
|
@ -79,30 +100,30 @@ class Text(BaseFilter):
|
||||||
|
|
||||||
if not text:
|
if not text:
|
||||||
return False
|
return False
|
||||||
if self.text_ignore_case:
|
if self.ignore_case:
|
||||||
text = text.lower()
|
text = text.lower()
|
||||||
|
|
||||||
if self.text is not None:
|
if self.text is not None:
|
||||||
equals = list(map(self.prepare_text, self.text))
|
equals = map(self.prepare_text, self.text)
|
||||||
return text in equals
|
return text in equals
|
||||||
|
|
||||||
if self.text_contains is not None:
|
if self.contains is not None:
|
||||||
contains = list(map(self.prepare_text, self.text_contains))
|
contains = map(self.prepare_text, self.contains)
|
||||||
return all(map(text.__contains__, contains))
|
return all(map(text.__contains__, contains))
|
||||||
|
|
||||||
if self.text_startswith is not None:
|
if self.startswith is not None:
|
||||||
startswith = list(map(self.prepare_text, self.text_startswith))
|
startswith = map(self.prepare_text, self.startswith)
|
||||||
return any(map(text.startswith, startswith))
|
return any(map(text.startswith, startswith))
|
||||||
|
|
||||||
if self.text_endswith is not None:
|
if self.endswith is not None:
|
||||||
endswith = list(map(self.prepare_text, self.text_endswith))
|
endswith = map(self.prepare_text, self.endswith)
|
||||||
return any(map(text.endswith, endswith))
|
return any(map(text.endswith, endswith))
|
||||||
|
|
||||||
# Impossible because the validator prevents this situation
|
# Impossible because the validator prevents this situation
|
||||||
return False # pragma: no cover
|
return False # pragma: no cover
|
||||||
|
|
||||||
def prepare_text(self, text: str) -> str:
|
def prepare_text(self, text: str) -> str:
|
||||||
if self.text_ignore_case:
|
if self.ignore_case:
|
||||||
return str(text).lower()
|
return str(text).lower()
|
||||||
else:
|
else:
|
||||||
return str(text)
|
return str(text)
|
||||||
|
|
|
||||||
16
aiogram/types/error_event.py
Normal file
16
aiogram/types/error_event.py
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
from aiogram.types import Update
|
||||||
|
from aiogram.types.base import MutableTelegramObject
|
||||||
|
|
||||||
|
|
||||||
|
class ErrorEvent(MutableTelegramObject):
|
||||||
|
"""
|
||||||
|
Internal event, should be used to receive errors while processing Updates from Telegram
|
||||||
|
"""
|
||||||
|
|
||||||
|
update: Update
|
||||||
|
"""Received update"""
|
||||||
|
exception: Exception
|
||||||
|
"""Exception"""
|
||||||
|
|
||||||
|
class Config:
|
||||||
|
arbitrary_types_allowed = True
|
||||||
|
|
@ -67,7 +67,7 @@ class BufferedInputFile(InputFile):
|
||||||
|
|
||||||
:param path: Path to file
|
:param path: Path to file
|
||||||
:param filename: Filename to be propagated to telegram.
|
:param filename: Filename to be propagated to telegram.
|
||||||
By default will be parsed from path
|
By default, will be parsed from path
|
||||||
:param chunk_size: Uploading chunk size
|
:param chunk_size: Uploading chunk size
|
||||||
:return: instance of :obj:`BufferedInputFile`
|
:return: instance of :obj:`BufferedInputFile`
|
||||||
"""
|
"""
|
||||||
|
|
@ -95,7 +95,7 @@ class FSInputFile(InputFile):
|
||||||
|
|
||||||
:param path: Path to file
|
:param path: Path to file
|
||||||
:param filename: Filename to be propagated to telegram.
|
:param filename: Filename to be propagated to telegram.
|
||||||
By default will be parsed from path
|
By default, will be parsed from path
|
||||||
:param chunk_size: Uploading chunk size
|
:param chunk_size: Uploading chunk size
|
||||||
"""
|
"""
|
||||||
if filename is None:
|
if filename is None:
|
||||||
|
|
@ -106,10 +106,8 @@ class FSInputFile(InputFile):
|
||||||
|
|
||||||
async def read(self, chunk_size: int) -> AsyncGenerator[bytes, None]:
|
async def read(self, chunk_size: int) -> AsyncGenerator[bytes, None]:
|
||||||
async with aiofiles.open(self.path, "rb") as f:
|
async with aiofiles.open(self.path, "rb") as f:
|
||||||
chunk = await f.read(chunk_size)
|
while chunk := await f.read(chunk_size):
|
||||||
while chunk:
|
|
||||||
yield chunk
|
yield chunk
|
||||||
chunk = await f.read(chunk_size)
|
|
||||||
|
|
||||||
|
|
||||||
class URLInputFile(InputFile):
|
class URLInputFile(InputFile):
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
import warnings
|
|
||||||
from typing import TYPE_CHECKING, Optional
|
from typing import TYPE_CHECKING, Optional
|
||||||
|
|
||||||
from ..utils.text_decorations import add_surrogates, remove_surrogates
|
from ..utils.text_decorations import add_surrogates, remove_surrogates
|
||||||
|
|
@ -36,11 +35,3 @@ class MessageEntity(MutableTelegramObject):
|
||||||
return remove_surrogates(
|
return remove_surrogates(
|
||||||
add_surrogates(text)[self.offset * 2 : (self.offset + self.length) * 2]
|
add_surrogates(text)[self.offset * 2 : (self.offset + self.length) * 2]
|
||||||
)
|
)
|
||||||
|
|
||||||
def extract(self, text: str) -> str:
|
|
||||||
warnings.warn(
|
|
||||||
"Method `MessageEntity.extract(...)` deprecated and will be removed in 3.0b5.\n"
|
|
||||||
" Use `MessageEntity.extract_from(...)` instead.",
|
|
||||||
DeprecationWarning,
|
|
||||||
)
|
|
||||||
return self.extract_from(text=text)
|
|
||||||
|
|
|
||||||
|
|
@ -61,7 +61,7 @@ class Update(TelegramObject):
|
||||||
def __hash__(self) -> int:
|
def __hash__(self) -> int:
|
||||||
return hash((type(self), self.update_id))
|
return hash((type(self), self.update_id))
|
||||||
|
|
||||||
@property # type: ignore
|
@property
|
||||||
@lru_cache()
|
@lru_cache()
|
||||||
def event_type(self) -> str:
|
def event_type(self) -> str:
|
||||||
"""
|
"""
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ account to their account on some external service.
|
||||||
You can read detailed description in the source:
|
You can read detailed description in the source:
|
||||||
https://core.telegram.org/bots#deep-linking
|
https://core.telegram.org/bots#deep-linking
|
||||||
|
|
||||||
We have add some utils to get deep links more handy.
|
We have added some utils to get deep links more handy.
|
||||||
|
|
||||||
Basic link example:
|
Basic link example:
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -200,7 +200,7 @@ class ItemsList(List[str]):
|
||||||
self.extend(other)
|
self.extend(other)
|
||||||
return self
|
return self
|
||||||
|
|
||||||
__iadd__ = __add__ = __rand__ = __and__ = __ror__ = __or__ = add
|
__iadd__ = __add__ = __rand__ = __and__ = __ror__ = __or__ = add # type: ignore
|
||||||
|
|
||||||
|
|
||||||
class OrderedHelperMeta(type):
|
class OrderedHelperMeta(type):
|
||||||
|
|
|
||||||
|
|
@ -2,5 +2,5 @@ class AiogramWarning(Warning):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
class CodeHasNoEffect(AiogramWarning):
|
class Recommendation(AiogramWarning):
|
||||||
pass
|
pass
|
||||||
|
|
|
||||||
9
docs/api/types/error_event.rst
Normal file
9
docs/api/types/error_event.rst
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
##########
|
||||||
|
ErrorEvent
|
||||||
|
##########
|
||||||
|
|
||||||
|
|
||||||
|
.. automodule:: aiogram.types.error_event
|
||||||
|
:members:
|
||||||
|
:member-order: bysource
|
||||||
|
:undoc-members: True
|
||||||
|
|
@ -189,3 +189,12 @@ Games
|
||||||
game
|
game
|
||||||
callback_game
|
callback_game
|
||||||
game_high_score
|
game_high_score
|
||||||
|
|
||||||
|
|
||||||
|
Internal events
|
||||||
|
===============
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
error_event
|
||||||
|
|
|
||||||
|
|
@ -62,3 +62,5 @@ texinfo_documents = [
|
||||||
"Miscellaneous",
|
"Miscellaneous",
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
add_module_names = False
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ CallbackQueryHandler
|
||||||
####################
|
####################
|
||||||
|
|
||||||
|
|
||||||
.. automodule:: aiogram.handler.callback_query
|
.. automodule:: aiogram.handlers.callback_query
|
||||||
:members:
|
:members:
|
||||||
:member-order: bysource
|
:member-order: bysource
|
||||||
:undoc-members: True
|
:undoc-members: True
|
||||||
|
|
|
||||||
|
|
@ -86,10 +86,10 @@ Handle user leave or join events
|
||||||
|
|
||||||
from aiogram.filters import IS_MEMBER, IS_NOT_MEMBER
|
from aiogram.filters import IS_MEMBER, IS_NOT_MEMBER
|
||||||
|
|
||||||
@router.chat_member(ChatMemberUpdatedFilter(member_status_changed=IS_MEMBER >> IS_NOT_MEMBER))
|
@router.chat_member(ChatMemberUpdatedFilter(IS_MEMBER >> IS_NOT_MEMBER))
|
||||||
async def on_user_leave(event: ChatMemberUpdated): ...
|
async def on_user_leave(event: ChatMemberUpdated): ...
|
||||||
|
|
||||||
@router.chat_member(ChatMemberUpdatedFilter(member_status_changed=IS_NOT_MEMBER >> IS_MEMBER))
|
@router.chat_member(ChatMemberUpdatedFilter(IS_NOT_MEMBER >> IS_MEMBER))
|
||||||
async def on_user_join(event: ChatMemberUpdated): ...
|
async def on_user_join(event: ChatMemberUpdated): ...
|
||||||
|
|
||||||
Or construct your own terms via using pre-defined set of statuses and transitions.
|
Or construct your own terms via using pre-defined set of statuses and transitions.
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ Command
|
||||||
=======
|
=======
|
||||||
|
|
||||||
.. autoclass:: aiogram.filters.command.Command
|
.. autoclass:: aiogram.filters.command.Command
|
||||||
:members:
|
:members: __init__
|
||||||
:member-order: bysource
|
:member-order: bysource
|
||||||
:undoc-members: False
|
:undoc-members: False
|
||||||
|
|
||||||
|
|
@ -18,10 +18,11 @@ When filter is passed the :class:`aiogram.filters.command.CommandObject` will be
|
||||||
Usage
|
Usage
|
||||||
=====
|
=====
|
||||||
|
|
||||||
1. Filter single variant of commands: :code:`Command(commands=["start"])` or :code:`Command(commands="start")`
|
1. Filter single variant of commands: :code:`Command("start")`
|
||||||
2. Handle command by regexp pattern: :code:`Command(commands=[re.compile(r"item_(\d+)")])`
|
2. Handle command by regexp pattern: :code:`Command(re.compile(r"item_(\d+)"))`
|
||||||
3. Match command by multiple variants: :code:`Command(commands=["item", re.compile(r"item_(\d+)")])`
|
3. Match command by multiple variants: :code:`Command("item", re.compile(r"item_(\d+)"))`
|
||||||
4. Handle commands in public chats intended for other bots: :code:`Command(commands=["command"], commands_ignore_mention=True)`
|
4. Handle commands in public chats intended for other bots: :code:`Command("command", ignore_mention=True)`
|
||||||
|
5. Use :class:`aiogram.types.bot_command.BotCommand` object as command reference :code:`Command(BotCommand(command="command", description="My awesome command")`
|
||||||
|
|
||||||
.. warning::
|
.. warning::
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
||||||
==================
|
|
||||||
ContentTypesFilter
|
|
||||||
==================
|
|
||||||
|
|
||||||
.. autoclass:: aiogram.filters.content_types.ContentTypesFilter
|
|
||||||
:members:
|
|
||||||
:member-order: bysource
|
|
||||||
:undoc-members: False
|
|
||||||
|
|
||||||
Can be imported:
|
|
||||||
|
|
||||||
- :code:`from aiogram.filters.content_types import ContentTypesFilter`
|
|
||||||
- :code:`from aiogram.filters import ContentTypesFilter`
|
|
||||||
|
|
||||||
Or used from filters factory by passing corresponding arguments to handler registration line
|
|
||||||
|
|
||||||
Usage
|
|
||||||
=====
|
|
||||||
|
|
||||||
1. Single content type: :code:`ContentTypesFilter(content_types=["sticker"])` or :code:`ContentTypesFilter(content_types="sticker")`
|
|
||||||
2. Multiple content types: :code:`ContentTypesFilter(content_types=["sticker", "photo"])`
|
|
||||||
3. Recommended: With usage of `ContentType` helper: :code:`ContentTypesFilter(content_types=[ContentType.PHOTO])`
|
|
||||||
4. Any content type: :code:`ContentTypesFilter(content_types=[ContentType.ANY])`
|
|
||||||
|
|
||||||
Allowed handlers
|
|
||||||
================
|
|
||||||
|
|
||||||
Allowed update types for this filter:
|
|
||||||
|
|
||||||
- :code:`message`
|
|
||||||
- :code:`edited_message`
|
|
||||||
- :code:`channel_post`
|
|
||||||
- :code:`edited_channel_post`
|
|
||||||
|
|
@ -2,13 +2,6 @@
|
||||||
Filtering events
|
Filtering events
|
||||||
================
|
================
|
||||||
|
|
||||||
|
|
||||||
.. danger::
|
|
||||||
|
|
||||||
Note that the design of filters will be changed in 3.0b5
|
|
||||||
|
|
||||||
`Read more >> <https://github.com/aiogram/aiogram/issues/942>`_
|
|
||||||
|
|
||||||
Filters is needed for routing updates to the specific handler.
|
Filters is needed for routing updates to the specific handler.
|
||||||
Searching of handler is always stops on first match set of filters are pass.
|
Searching of handler is always stops on first match set of filters are pass.
|
||||||
|
|
||||||
|
|
@ -23,91 +16,40 @@ Here is list of builtin filters:
|
||||||
:maxdepth: 1
|
:maxdepth: 1
|
||||||
|
|
||||||
command
|
command
|
||||||
content_types
|
|
||||||
text
|
text
|
||||||
chat_member_updated
|
chat_member_updated
|
||||||
exception
|
|
||||||
magic_filters
|
magic_filters
|
||||||
magic_data
|
magic_data
|
||||||
callback_data
|
callback_data
|
||||||
|
exception
|
||||||
|
|
||||||
Own filters specification
|
Writing own filters
|
||||||
=========================
|
=========================
|
||||||
|
|
||||||
Filters can be:
|
Filters can be:
|
||||||
|
|
||||||
- Asynchronous function (:code:`async def my_filter(*args, **kwargs): pass`)
|
- Asynchronous function (:code:`async def my_filter(*args, **kwargs): pass`)
|
||||||
|
|
||||||
- Synchronous function (:code:`def my_filter(*args, **kwargs): pass`)
|
- Synchronous function (:code:`def my_filter(*args, **kwargs): pass`)
|
||||||
|
|
||||||
- Anonymous function (:code:`lambda event: True`)
|
- Anonymous function (:code:`lambda event: True`)
|
||||||
|
|
||||||
- Any awaitable object
|
- Any awaitable object
|
||||||
|
- Subclass of :class:`aiogram.filters.base.Filter`
|
||||||
- Subclass of :class:`aiogram.filters.base.BaseFilter`
|
|
||||||
|
|
||||||
- Instances of :ref:`MagicFilter <magic-filters>`
|
- Instances of :ref:`MagicFilter <magic-filters>`
|
||||||
|
|
||||||
Filters should return bool or dict.
|
and should return bool or dict.
|
||||||
If the dictionary is passed as result of filter - resulted data will be propagated to the next
|
If the dictionary is passed as result of filter - resulted data will be propagated to the next
|
||||||
filters and handler as keywords arguments.
|
filters and handler as keywords arguments.
|
||||||
|
|
||||||
Writing bound filters
|
Base class for own filters
|
||||||
=====================
|
--------------------------
|
||||||
|
|
||||||
.. autoclass:: aiogram.filters.base.BaseFilter
|
.. autoclass:: aiogram.filters.base.Filter
|
||||||
:members: __call__
|
:members: __call__,update_handler_flags
|
||||||
:member-order: bysource
|
:member-order: bysource
|
||||||
:undoc-members: False
|
:undoc-members: False
|
||||||
|
|
||||||
|
Own filter example
|
||||||
|
------------------
|
||||||
|
|
||||||
For example if you need to make simple text filter:
|
For example if you need to make simple text filter:
|
||||||
|
|
||||||
.. code-block:: python
|
.. literalinclude:: ../../../examples/own_filter.py
|
||||||
|
|
||||||
from aiogram.filters import BaseFilter
|
|
||||||
|
|
||||||
|
|
||||||
class MyText(BaseFilter):
|
|
||||||
my_text: str
|
|
||||||
|
|
||||||
async def __call__(self, message: Message) -> bool:
|
|
||||||
return message.text == self.my_text
|
|
||||||
|
|
||||||
|
|
||||||
router.message.bind_filter(MyText)
|
|
||||||
|
|
||||||
@router.message(my_text="hello")
|
|
||||||
async def my_handler(message: Message): ...
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
|
|
||||||
Bound filters is always recursive propagates to the nested routers but will be available
|
|
||||||
in nested routers only after attaching routers so that's mean you will need to
|
|
||||||
include routers before registering handlers.
|
|
||||||
|
|
||||||
Resolving filters with default value
|
|
||||||
====================================
|
|
||||||
|
|
||||||
Bound Filters with only default arguments will be automatically applied with default values
|
|
||||||
to each handler in the router and nested routers to which this filter is bound.
|
|
||||||
|
|
||||||
For example, although we do not specify :code:`chat_type` in the handler filters,
|
|
||||||
but since the filter has a default value, the filter will be applied to the handler
|
|
||||||
with a default value :code:`private`:
|
|
||||||
|
|
||||||
.. code-block:: python
|
|
||||||
|
|
||||||
class ChatType(BaseFilter):
|
|
||||||
chat_type: str = "private"
|
|
||||||
|
|
||||||
async def __call__(self, message: Message , event_chat: Chat) -> bool:
|
|
||||||
if event_chat:
|
|
||||||
return event_chat.type == self.chat_type
|
|
||||||
else:
|
|
||||||
return False
|
|
||||||
|
|
||||||
|
|
||||||
router.message.bind_filter(ChatType)
|
|
||||||
|
|
||||||
@router.message()
|
|
||||||
async def my_handler(message: Message): ...
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
====
|
=========
|
||||||
MagicData
|
MagicData
|
||||||
====
|
=========
|
||||||
|
|
||||||
.. autoclass:: aiogram.filters.magic_data.MagicData
|
.. autoclass:: aiogram.filters.magic_data.MagicData
|
||||||
:members:
|
:members:
|
||||||
|
|
@ -9,7 +9,6 @@ MagicData
|
||||||
|
|
||||||
Can be imported:
|
Can be imported:
|
||||||
|
|
||||||
- :code:`from aiogram.filters.magic_data import MagicData`
|
|
||||||
- :code:`from aiogram.filters import MagicData`
|
- :code:`from aiogram.filters import MagicData`
|
||||||
|
|
||||||
Or used from filters factory by passing corresponding arguments to handler registration line
|
Or used from filters factory by passing corresponding arguments to handler registration line
|
||||||
|
|
@ -17,7 +16,7 @@ Or used from filters factory by passing corresponding arguments to handler regis
|
||||||
Usage
|
Usage
|
||||||
=====
|
=====
|
||||||
|
|
||||||
#. :code:`MagicData(magic_data=F.event.from_user.id == F.config.admin_id)` (Note that :code:`config` should be passed from middleware)
|
#. :code:`MagicData(F.event.from_user.id == F.config.admin_id)` (Note that :code:`config` should be passed from middleware)
|
||||||
|
|
||||||
|
|
||||||
Allowed handlers
|
Allowed handlers
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,6 @@ Can be imported:
|
||||||
|
|
||||||
- :code:`from aiogram.filters.text import Text`
|
- :code:`from aiogram.filters.text import Text`
|
||||||
- :code:`from aiogram.filters import Text`
|
- :code:`from aiogram.filters import Text`
|
||||||
- :code:`from.filters import Text`
|
|
||||||
|
|
||||||
Or used from filters factory by passing corresponding arguments to handler registration line
|
Or used from filters factory by passing corresponding arguments to handler registration line
|
||||||
|
|
||||||
|
|
@ -19,11 +18,11 @@ Usage
|
||||||
=====
|
=====
|
||||||
|
|
||||||
#. Text equals with the specified value: :code:`Text(text="text") # value == 'text'`
|
#. Text equals with the specified value: :code:`Text(text="text") # value == 'text'`
|
||||||
#. Text starts with the specified value: :code:`Text(text_startswith="text") # value.startswith('text')`
|
#. Text starts with the specified value: :code:`Text(startswith="text") # value.startswith('text')`
|
||||||
#. Text ends with the specified value: :code:`Text(text_endswith="text") # value.endswith('text')`
|
#. Text ends with the specified value: :code:`Text(endswith="text") # value.endswith('text')`
|
||||||
#. Text contains the specified value: :code:`Text(text_contains="text") # value in 'text'`
|
#. Text contains the specified value: :code:`Text(contains="text") # value in 'text'`
|
||||||
#. Any of previous listed filters can be list, set or tuple of strings that's mean any of listed value should be equals/startswith/endswith/contains: :code:`Text(text=["text", "spam"])`
|
#. Any of previous listed filters can be list, set or tuple of strings that's mean any of listed value should be equals/startswith/endswith/contains: :code:`Text(text=["text", "spam"])`
|
||||||
#. Ignore case can be combined with any previous listed filter: :code:`Text(text="Text", text_ignore_case=True) # value.lower() == 'text'.lower()`
|
#. Ignore case can be combined with any previous listed filter: :code:`Text(text="Text", ignore_case=True) # value.lower() == 'text'.lower()`
|
||||||
|
|
||||||
Allowed handlers
|
Allowed handlers
|
||||||
================
|
================
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,7 @@ Via filters
|
||||||
|
|
||||||
.. code-block:: python
|
.. code-block:: python
|
||||||
|
|
||||||
class Command(BaseFilter):
|
class Command(Filter):
|
||||||
...
|
...
|
||||||
|
|
||||||
def update_handler_flags(self, flags: Dict[str, Any]) -> None:
|
def update_handler_flags(self, flags: Dict[str, Any]) -> None:
|
||||||
|
|
|
||||||
|
|
@ -44,8 +44,8 @@ Message
|
||||||
|
|
||||||
(For example text, sticker and document are always of different content types of message)
|
(For example text, sticker and document are always of different content types of message)
|
||||||
|
|
||||||
Recommended way to check field availability before usage or use
|
Recommended way to check field availability before usage, for example via :ref:`magic filter <magic-filters>`:
|
||||||
:class:`aiogram.filters.content_types.ContentTypesFilter`
|
:code:`F.text` to handle text, :code:`F.sticker` to handle stickers only and etc.
|
||||||
|
|
||||||
|
|
||||||
.. code-block:: python
|
.. code-block:: python
|
||||||
|
|
@ -141,7 +141,7 @@ Errors
|
||||||
.. code-block:: python
|
.. code-block:: python
|
||||||
|
|
||||||
@router.errors()
|
@router.errors()
|
||||||
async def error_handler(exception: Exception) -> Any: pass
|
async def error_handler(exception: ErrorEvent) -> Any: pass
|
||||||
|
|
||||||
Is useful for handling errors from other handlers
|
Is useful for handling errors from other handlers
|
||||||
|
|
||||||
|
|
@ -152,9 +152,8 @@ Nested routers
|
||||||
.. warning::
|
.. warning::
|
||||||
|
|
||||||
Routers by the way can be nested to an another routers with some limitations:
|
Routers by the way can be nested to an another routers with some limitations:
|
||||||
|
1. Router **CAN NOT** include itself
|
||||||
1. Router **CAN NOT** include itself
|
1. Routers **CAN NOT** be used for circular including (router 1 include router 2, router 2 include router 3, router 3 include router 1)
|
||||||
1. Routers **CAN NOT** be used for circular including (router 1 include router 2, router 2 include router 3, router 3 include router 1)
|
|
||||||
|
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
@ -170,7 +169,7 @@ Example:
|
||||||
|
|
||||||
|
|
||||||
.. code-block:: python
|
.. code-block:: python
|
||||||
:caption: module_12.py
|
:caption: module_2.py
|
||||||
:name: module_1
|
:name: module_1
|
||||||
|
|
||||||
from module_2 import router2
|
from module_2 import router2
|
||||||
|
|
|
||||||
3410
docs/locale/en/LC_MESSAGES/api/bot.po
Normal file
3410
docs/locale/en/LC_MESSAGES/api/bot.po
Normal file
File diff suppressed because it is too large
Load diff
188
docs/locale/en/LC_MESSAGES/api/download_file.po
Normal file
188
docs/locale/en/LC_MESSAGES/api/download_file.po
Normal file
|
|
@ -0,0 +1,188 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, aiogram Team
|
||||||
|
# This file is distributed under the same license as the aiogram package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: aiogram \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.10.3\n"
|
||||||
|
|
||||||
|
#: ../../api/download_file.rst:3
|
||||||
|
msgid "How to download file?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/download_file.rst:6
|
||||||
|
msgid "Download file manually"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/download_file.rst:8
|
||||||
|
msgid ""
|
||||||
|
"First, you must get the `file_id` of the file you want to download. "
|
||||||
|
"Information about files sent to the bot is contained in `Message "
|
||||||
|
"<types/message.html>`__."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/download_file.rst:11
|
||||||
|
msgid "For example, download the document that came to the bot."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/download_file.rst:17
|
||||||
|
msgid ""
|
||||||
|
"Then use the `getFile <methods/get_file.html>`__ method to get "
|
||||||
|
"`file_path`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/download_file.rst:24
|
||||||
|
msgid ""
|
||||||
|
"After that, use the `download_file <#download-file>`__ method from the "
|
||||||
|
"bot object."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/download_file.rst:27
|
||||||
|
msgid "download_file(...)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/download_file.rst:29
|
||||||
|
msgid "Download file by `file_path` to destination."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/download_file.rst:31 ../../api/download_file.rst:81
|
||||||
|
msgid ""
|
||||||
|
"If you want to automatically create destination (:obj:`io.BytesIO`) use "
|
||||||
|
"default value of destination and handle result of this method."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.client.bot.Bot:1 of
|
||||||
|
msgid "Bot class"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.client.bot.Bot.download_file:1 of
|
||||||
|
msgid "Download file by file_path to destination."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.client.bot.Bot.download:3 aiogram.client.bot.Bot.download_file:3 of
|
||||||
|
msgid ""
|
||||||
|
"If you want to automatically create destination (:class:`io.BytesIO`) use"
|
||||||
|
" default value of destination and handle result of this method."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.client.bot.Bot.download aiogram.client.bot.Bot.download_file of
|
||||||
|
msgid "Parameters"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.client.bot.Bot.download_file:6 of
|
||||||
|
msgid ""
|
||||||
|
"File path on Telegram server (You can get it from "
|
||||||
|
":obj:`aiogram.types.File`)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.client.bot.Bot.download:7 aiogram.client.bot.Bot.download_file:7 of
|
||||||
|
msgid ""
|
||||||
|
"Filename, file path or instance of :class:`io.IOBase`. For e.g. "
|
||||||
|
":class:`io.BytesIO`, defaults to None"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.client.bot.Bot.download:8 aiogram.client.bot.Bot.download_file:8 of
|
||||||
|
msgid "Total timeout in seconds, defaults to 30"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.client.bot.Bot.download:9 aiogram.client.bot.Bot.download_file:9 of
|
||||||
|
msgid "File chunks size, defaults to 64 kb"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.client.bot.Bot.download:10 aiogram.client.bot.Bot.download_file:10
|
||||||
|
#: of
|
||||||
|
msgid ""
|
||||||
|
"Go to start of file when downloading is finished. Used only for "
|
||||||
|
"destination with :class:`typing.BinaryIO` type, defaults to True"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/download_file.rst:38
|
||||||
|
msgid ""
|
||||||
|
"There are two options where you can download the file: to **disk** or to "
|
||||||
|
"**binary I/O object**."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/download_file.rst:41
|
||||||
|
msgid "Download file to disk"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/download_file.rst:43
|
||||||
|
msgid ""
|
||||||
|
"To download file to disk, you must specify the file name or path where to"
|
||||||
|
" download the file. In this case, the function will return nothing."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/download_file.rst:51
|
||||||
|
msgid "Download file to binary I/O object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/download_file.rst:53
|
||||||
|
msgid ""
|
||||||
|
"To download file to binary I/O object, you must specify an object with "
|
||||||
|
"the :obj:`typing.BinaryIO` type or use the default (:obj:`None`) value."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/download_file.rst:56
|
||||||
|
msgid "In the first case, the function will return your object:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/download_file.rst:64
|
||||||
|
msgid ""
|
||||||
|
"If you leave the default value, an :obj:`io.BytesIO` object will be "
|
||||||
|
"created and returned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/download_file.rst:72
|
||||||
|
msgid "Download file in short way"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/download_file.rst:74
|
||||||
|
msgid ""
|
||||||
|
"Getting `file_path` manually every time is boring, so you should use the "
|
||||||
|
"`download <#download>`__ method."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/download_file.rst:77
|
||||||
|
msgid "download(...)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/download_file.rst:79
|
||||||
|
msgid "Download file by `file_id` or `Downloadable` object to destination."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.client.bot.Bot.download:1 of
|
||||||
|
msgid "Download file by file_id or Downloadable object to destination."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.client.bot.Bot.download:6 of
|
||||||
|
msgid "file_id or Downloadable object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/download_file.rst:88
|
||||||
|
msgid ""
|
||||||
|
"It differs from `download_file <#download-file>`__ **only** in that it "
|
||||||
|
"accepts `file_id` or an `Downloadable` object (object that contains the "
|
||||||
|
"`file_id` attribute) instead of `file_path`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/download_file.rst:91
|
||||||
|
msgid ""
|
||||||
|
"You can download a file to `disk <#download-file-to-disk>`__ or to a "
|
||||||
|
"`binary I/O <#download-file-to-binary-io-object>`__ object in the same "
|
||||||
|
"way."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/download_file.rst:93
|
||||||
|
msgid "Example:"
|
||||||
|
msgstr ""
|
||||||
34
docs/locale/en/LC_MESSAGES/api/index.po
Normal file
34
docs/locale/en/LC_MESSAGES/api/index.po
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, aiogram Team
|
||||||
|
# This file is distributed under the same license as the aiogram package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: aiogram \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.10.3\n"
|
||||||
|
|
||||||
|
#: ../../api/index.rst:3
|
||||||
|
msgid "Bot API"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/index.rst:5
|
||||||
|
msgid ""
|
||||||
|
"**aiogram** now is fully support of `Telegram Bot API "
|
||||||
|
"<https://core.telegram.org/bots/api>`_"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/index.rst:7
|
||||||
|
msgid ""
|
||||||
|
"All methods and types is fully autogenerated from Telegram Bot API docs "
|
||||||
|
"by parser with code-generator."
|
||||||
|
msgstr ""
|
||||||
126
docs/locale/en/LC_MESSAGES/api/methods/add_sticker_to_set.po
Normal file
126
docs/locale/en/LC_MESSAGES/api/methods/add_sticker_to_set.po
Normal file
|
|
@ -0,0 +1,126 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, aiogram Team
|
||||||
|
# This file is distributed under the same license as the aiogram package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: aiogram \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.10.3\n"
|
||||||
|
|
||||||
|
#: ../../api/methods/add_sticker_to_set.rst:3
|
||||||
|
msgid "addStickerToSet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/add_sticker_to_set.rst:5
|
||||||
|
msgid "Returns: :obj:`bool`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.add_sticker_to_set.AddStickerToSet:1 of
|
||||||
|
msgid ""
|
||||||
|
"Use this method to add a new sticker to a set created by the bot. You "
|
||||||
|
"**must** use exactly one of the fields *png_sticker*, *tgs_sticker*, or "
|
||||||
|
"*webm_sticker*. Animated stickers can be added to animated sticker sets "
|
||||||
|
"and only to them. Animated sticker sets can have up to 50 stickers. "
|
||||||
|
"Static sticker sets can have up to 120 stickers. Returns :code:`True` on "
|
||||||
|
"success."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.add_sticker_to_set.AddStickerToSet:3 of
|
||||||
|
msgid "Source: https://core.telegram.org/bots/api#addstickertoset"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring aiogram.methods.add_sticker_to_set.AddStickerToSet.user_id:1
|
||||||
|
#: of
|
||||||
|
msgid "User identifier of sticker set owner"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring aiogram.methods.add_sticker_to_set.AddStickerToSet.name:1 of
|
||||||
|
msgid "Sticker set name"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring aiogram.methods.add_sticker_to_set.AddStickerToSet.emojis:1
|
||||||
|
#: of
|
||||||
|
msgid "One or more emoji corresponding to the sticker"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.add_sticker_to_set.AddStickerToSet.png_sticker:1 of
|
||||||
|
msgid ""
|
||||||
|
"**PNG** image with the sticker, must be up to 512 kilobytes in size, "
|
||||||
|
"dimensions must not exceed 512px, and either width or height must be "
|
||||||
|
"exactly 512px. Pass a *file_id* as a String to send a file that already "
|
||||||
|
"exists on the Telegram servers, pass an HTTP URL as a String for Telegram"
|
||||||
|
" to get a file from the Internet, or upload a new one using multipart"
|
||||||
|
"/form-data. :ref:`More information on Sending Files » <sending-files>`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.add_sticker_to_set.AddStickerToSet.tgs_sticker:1 of
|
||||||
|
msgid ""
|
||||||
|
"**TGS** animation with the sticker, uploaded using multipart/form-data. "
|
||||||
|
"See `https://core.telegram.org/stickers#animated-sticker-requirements "
|
||||||
|
"<https://core.telegram.org/stickers#animated-sticker-"
|
||||||
|
"requirements>`_`https://core.telegram.org/stickers#animated-sticker-"
|
||||||
|
"requirements <https://core.telegram.org/stickers#animated-sticker-"
|
||||||
|
"requirements>`_ for technical requirements"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.add_sticker_to_set.AddStickerToSet.webm_sticker:1 of
|
||||||
|
msgid ""
|
||||||
|
"**WEBM** video with the sticker, uploaded using multipart/form-data. See "
|
||||||
|
"`https://core.telegram.org/stickers#video-sticker-requirements "
|
||||||
|
"<https://core.telegram.org/stickers#video-sticker-"
|
||||||
|
"requirements>`_`https://core.telegram.org/stickers#video-sticker-"
|
||||||
|
"requirements <https://core.telegram.org/stickers#video-sticker-"
|
||||||
|
"requirements>`_ for technical requirements"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.add_sticker_to_set.AddStickerToSet.mask_position:1 of
|
||||||
|
msgid ""
|
||||||
|
"A JSON-serialized object for position where the mask should be placed on "
|
||||||
|
"faces"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/add_sticker_to_set.rst:14
|
||||||
|
msgid "Usage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/add_sticker_to_set.rst:17
|
||||||
|
msgid "As bot method"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/add_sticker_to_set.rst:25
|
||||||
|
msgid "Method as object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/add_sticker_to_set.rst:27
|
||||||
|
msgid "Imports:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/add_sticker_to_set.rst:29
|
||||||
|
msgid ":code:`from aiogram.methods.add_sticker_to_set import AddStickerToSet`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/add_sticker_to_set.rst:30
|
||||||
|
msgid "alias: :code:`from aiogram.methods import AddStickerToSet`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/add_sticker_to_set.rst:33
|
||||||
|
msgid "With specific bot"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/add_sticker_to_set.rst:40
|
||||||
|
msgid "As reply into Webhook in handler"
|
||||||
|
msgstr ""
|
||||||
122
docs/locale/en/LC_MESSAGES/api/methods/answer_callback_query.po
Normal file
122
docs/locale/en/LC_MESSAGES/api/methods/answer_callback_query.po
Normal file
|
|
@ -0,0 +1,122 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, aiogram Team
|
||||||
|
# This file is distributed under the same license as the aiogram package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: aiogram \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.10.3\n"
|
||||||
|
|
||||||
|
#: ../../api/methods/answer_callback_query.rst:3
|
||||||
|
msgid "answerCallbackQuery"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/answer_callback_query.rst:5
|
||||||
|
msgid "Returns: :obj:`bool`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.answer_callback_query.AnswerCallbackQuery:1 of
|
||||||
|
msgid ""
|
||||||
|
"Use this method to send answers to callback queries sent from `inline "
|
||||||
|
"keyboards <https://core.telegram.org/bots#inline-keyboards-and-on-the-"
|
||||||
|
"fly-updating>`_. The answer will be displayed to the user as a "
|
||||||
|
"notification at the top of the chat screen or as an alert. On success, "
|
||||||
|
":code:`True` is returned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.answer_callback_query.AnswerCallbackQuery:3 of
|
||||||
|
msgid ""
|
||||||
|
"Alternatively, the user can be redirected to the specified Game URL. For "
|
||||||
|
"this option to work, you must first create a game for your bot via "
|
||||||
|
"`@BotFather <https://t.me/botfather>`_ and accept the terms. Otherwise, "
|
||||||
|
"you may use links like :code:`t.me/your_bot?start=XXXX` that open your "
|
||||||
|
"bot with a parameter."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.answer_callback_query.AnswerCallbackQuery:5 of
|
||||||
|
msgid "Source: https://core.telegram.org/bots/api#answercallbackquery"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.answer_callback_query.AnswerCallbackQuery.callback_query_id:1
|
||||||
|
#: of
|
||||||
|
msgid "Unique identifier for the query to be answered"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.answer_callback_query.AnswerCallbackQuery.text:1 of
|
||||||
|
msgid ""
|
||||||
|
"Text of the notification. If not specified, nothing will be shown to the "
|
||||||
|
"user, 0-200 characters"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.answer_callback_query.AnswerCallbackQuery.show_alert:1 of
|
||||||
|
msgid ""
|
||||||
|
"If :code:`True`, an alert will be shown by the client instead of a "
|
||||||
|
"notification at the top of the chat screen. Defaults to *false*."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.answer_callback_query.AnswerCallbackQuery.url:1 of
|
||||||
|
msgid ""
|
||||||
|
"URL that will be opened by the user's client. If you have created a "
|
||||||
|
":class:`aiogram.types.game.Game` and accepted the conditions via "
|
||||||
|
"`@BotFather <https://t.me/botfather>`_, specify the URL that opens your "
|
||||||
|
"game - note that this will only work if the query comes from a "
|
||||||
|
"`https://core.telegram.org/bots/api#inlinekeyboardbutton "
|
||||||
|
"<https://core.telegram.org/bots/api#inlinekeyboardbutton>`_ "
|
||||||
|
"*callback_game* button."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.answer_callback_query.AnswerCallbackQuery.cache_time:1 of
|
||||||
|
msgid ""
|
||||||
|
"The maximum amount of time in seconds that the result of the callback "
|
||||||
|
"query may be cached client-side. Telegram apps will support caching "
|
||||||
|
"starting in version 3.14. Defaults to 0."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/answer_callback_query.rst:14
|
||||||
|
msgid "Usage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/answer_callback_query.rst:17
|
||||||
|
msgid "As bot method"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/answer_callback_query.rst:25
|
||||||
|
msgid "Method as object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/answer_callback_query.rst:27
|
||||||
|
msgid "Imports:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/answer_callback_query.rst:29
|
||||||
|
msgid ""
|
||||||
|
":code:`from aiogram.methods.answer_callback_query import "
|
||||||
|
"AnswerCallbackQuery`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/answer_callback_query.rst:30
|
||||||
|
msgid "alias: :code:`from aiogram.methods import AnswerCallbackQuery`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/answer_callback_query.rst:33
|
||||||
|
msgid "With specific bot"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/answer_callback_query.rst:40
|
||||||
|
msgid "As reply into Webhook in handler"
|
||||||
|
msgstr ""
|
||||||
124
docs/locale/en/LC_MESSAGES/api/methods/answer_inline_query.po
Normal file
124
docs/locale/en/LC_MESSAGES/api/methods/answer_inline_query.po
Normal file
|
|
@ -0,0 +1,124 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, aiogram Team
|
||||||
|
# This file is distributed under the same license as the aiogram package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: aiogram \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.10.3\n"
|
||||||
|
|
||||||
|
#: ../../api/methods/answer_inline_query.rst:3
|
||||||
|
msgid "answerInlineQuery"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/answer_inline_query.rst:5
|
||||||
|
msgid "Returns: :obj:`bool`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.answer_inline_query.AnswerInlineQuery:1 of
|
||||||
|
msgid ""
|
||||||
|
"Use this method to send answers to an inline query. On success, "
|
||||||
|
":code:`True` is returned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.answer_inline_query.AnswerInlineQuery:3 of
|
||||||
|
msgid "No more than **50** results per query are allowed."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.answer_inline_query.AnswerInlineQuery:5 of
|
||||||
|
msgid "Source: https://core.telegram.org/bots/api#answerinlinequery"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.answer_inline_query.AnswerInlineQuery.inline_query_id:1 of
|
||||||
|
msgid "Unique identifier for the answered query"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.answer_inline_query.AnswerInlineQuery.results:1 of
|
||||||
|
msgid "A JSON-serialized array of results for the inline query"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.answer_inline_query.AnswerInlineQuery.cache_time:1 of
|
||||||
|
msgid ""
|
||||||
|
"The maximum amount of time in seconds that the result of the inline query"
|
||||||
|
" may be cached on the server. Defaults to 300."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.answer_inline_query.AnswerInlineQuery.is_personal:1 of
|
||||||
|
msgid ""
|
||||||
|
"Pass :code:`True` if results may be cached on the server side only for "
|
||||||
|
"the user that sent the query. By default, results may be returned to any "
|
||||||
|
"user who sends the same query"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.answer_inline_query.AnswerInlineQuery.next_offset:1 of
|
||||||
|
msgid ""
|
||||||
|
"Pass the offset that a client should send in the next query with the same"
|
||||||
|
" text to receive more results. Pass an empty string if there are no more "
|
||||||
|
"results or if you don't support pagination. Offset length can't exceed 64"
|
||||||
|
" bytes."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.answer_inline_query.AnswerInlineQuery.switch_pm_text:1 of
|
||||||
|
msgid ""
|
||||||
|
"If passed, clients will display a button with specified text that "
|
||||||
|
"switches the user to a private chat with the bot and sends the bot a "
|
||||||
|
"start message with the parameter *switch_pm_parameter*"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.answer_inline_query.AnswerInlineQuery.switch_pm_parameter:1
|
||||||
|
#: of
|
||||||
|
msgid ""
|
||||||
|
"`Deep-linking <https://core.telegram.org/bots#deep-linking>`_ parameter "
|
||||||
|
"for the /start message sent to the bot when user presses the switch "
|
||||||
|
"button. 1-64 characters, only :code:`A-Z`, :code:`a-z`, :code:`0-9`, "
|
||||||
|
":code:`_` and :code:`-` are allowed."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/answer_inline_query.rst:14
|
||||||
|
msgid "Usage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/answer_inline_query.rst:17
|
||||||
|
msgid "As bot method"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/answer_inline_query.rst:25
|
||||||
|
msgid "Method as object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/answer_inline_query.rst:27
|
||||||
|
msgid "Imports:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/answer_inline_query.rst:29
|
||||||
|
msgid ":code:`from aiogram.methods.answer_inline_query import AnswerInlineQuery`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/answer_inline_query.rst:30
|
||||||
|
msgid "alias: :code:`from aiogram.methods import AnswerInlineQuery`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/answer_inline_query.rst:33
|
||||||
|
msgid "With specific bot"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/answer_inline_query.rst:40
|
||||||
|
msgid "As reply into Webhook in handler"
|
||||||
|
msgstr ""
|
||||||
|
|
@ -0,0 +1,100 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, aiogram Team
|
||||||
|
# This file is distributed under the same license as the aiogram package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: aiogram \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.10.3\n"
|
||||||
|
|
||||||
|
#: ../../api/methods/answer_pre_checkout_query.rst:3
|
||||||
|
msgid "answerPreCheckoutQuery"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/answer_pre_checkout_query.rst:5
|
||||||
|
msgid "Returns: :obj:`bool`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.answer_pre_checkout_query.AnswerPreCheckoutQuery:1 of
|
||||||
|
msgid ""
|
||||||
|
"Once the user has confirmed their payment and shipping details, the Bot "
|
||||||
|
"API sends the final confirmation in the form of an "
|
||||||
|
":class:`aiogram.types.update.Update` with the field *pre_checkout_query*."
|
||||||
|
" Use this method to respond to such pre-checkout queries. On success, "
|
||||||
|
":code:`True` is returned. **Note:** The Bot API must receive an answer "
|
||||||
|
"within 10 seconds after the pre-checkout query was sent."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.answer_pre_checkout_query.AnswerPreCheckoutQuery:3 of
|
||||||
|
msgid "Source: https://core.telegram.org/bots/api#answerprecheckoutquery"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.answer_pre_checkout_query.AnswerPreCheckoutQuery.pre_checkout_query_id:1
|
||||||
|
#: of
|
||||||
|
msgid "Unique identifier for the query to be answered"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.answer_pre_checkout_query.AnswerPreCheckoutQuery.ok:1 of
|
||||||
|
msgid ""
|
||||||
|
"Specify :code:`True` if everything is alright (goods are available, etc.)"
|
||||||
|
" and the bot is ready to proceed with the order. Use :code:`False` if "
|
||||||
|
"there are any problems."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.answer_pre_checkout_query.AnswerPreCheckoutQuery.error_message:1
|
||||||
|
#: of
|
||||||
|
msgid ""
|
||||||
|
"Required if *ok* is :code:`False`. Error message in human readable form "
|
||||||
|
"that explains the reason for failure to proceed with the checkout (e.g. "
|
||||||
|
"\"Sorry, somebody just bought the last of our amazing black T-shirts "
|
||||||
|
"while you were busy filling out your payment details. Please choose a "
|
||||||
|
"different color or garment!\"). Telegram will display this message to the"
|
||||||
|
" user."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/answer_pre_checkout_query.rst:14
|
||||||
|
msgid "Usage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/answer_pre_checkout_query.rst:17
|
||||||
|
msgid "As bot method"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/answer_pre_checkout_query.rst:25
|
||||||
|
msgid "Method as object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/answer_pre_checkout_query.rst:27
|
||||||
|
msgid "Imports:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/answer_pre_checkout_query.rst:29
|
||||||
|
msgid ""
|
||||||
|
":code:`from aiogram.methods.answer_pre_checkout_query import "
|
||||||
|
"AnswerPreCheckoutQuery`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/answer_pre_checkout_query.rst:30
|
||||||
|
msgid "alias: :code:`from aiogram.methods import AnswerPreCheckoutQuery`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/answer_pre_checkout_query.rst:33
|
||||||
|
msgid "With specific bot"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/answer_pre_checkout_query.rst:40
|
||||||
|
msgid "As reply into Webhook in handler"
|
||||||
|
msgstr ""
|
||||||
104
docs/locale/en/LC_MESSAGES/api/methods/answer_shipping_query.po
Normal file
104
docs/locale/en/LC_MESSAGES/api/methods/answer_shipping_query.po
Normal file
|
|
@ -0,0 +1,104 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, aiogram Team
|
||||||
|
# This file is distributed under the same license as the aiogram package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: aiogram \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.10.3\n"
|
||||||
|
|
||||||
|
#: ../../api/methods/answer_shipping_query.rst:3
|
||||||
|
msgid "answerShippingQuery"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/answer_shipping_query.rst:5
|
||||||
|
msgid "Returns: :obj:`bool`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.answer_shipping_query.AnswerShippingQuery:1 of
|
||||||
|
msgid ""
|
||||||
|
"If you sent an invoice requesting a shipping address and the parameter "
|
||||||
|
"*is_flexible* was specified, the Bot API will send an "
|
||||||
|
":class:`aiogram.types.update.Update` with a *shipping_query* field to the"
|
||||||
|
" bot. Use this method to reply to shipping queries. On success, "
|
||||||
|
":code:`True` is returned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.answer_shipping_query.AnswerShippingQuery:3 of
|
||||||
|
msgid "Source: https://core.telegram.org/bots/api#answershippingquery"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.answer_shipping_query.AnswerShippingQuery.shipping_query_id:1
|
||||||
|
#: of
|
||||||
|
msgid "Unique identifier for the query to be answered"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.answer_shipping_query.AnswerShippingQuery.ok:1 of
|
||||||
|
msgid ""
|
||||||
|
"Pass :code:`True` if delivery to the specified address is possible and "
|
||||||
|
":code:`False` if there are any problems (for example, if delivery to the "
|
||||||
|
"specified address is not possible)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.answer_shipping_query.AnswerShippingQuery.shipping_options:1
|
||||||
|
#: of
|
||||||
|
msgid ""
|
||||||
|
"Required if *ok* is :code:`True`. A JSON-serialized array of available "
|
||||||
|
"shipping options."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.answer_shipping_query.AnswerShippingQuery.error_message:1 of
|
||||||
|
msgid ""
|
||||||
|
"Required if *ok* is :code:`False`. Error message in human readable form "
|
||||||
|
"that explains why it is impossible to complete the order (e.g. \"Sorry, "
|
||||||
|
"delivery to your desired address is unavailable'). Telegram will display "
|
||||||
|
"this message to the user."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/answer_shipping_query.rst:14
|
||||||
|
msgid "Usage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/answer_shipping_query.rst:17
|
||||||
|
msgid "As bot method"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/answer_shipping_query.rst:25
|
||||||
|
msgid "Method as object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/answer_shipping_query.rst:27
|
||||||
|
msgid "Imports:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/answer_shipping_query.rst:29
|
||||||
|
msgid ""
|
||||||
|
":code:`from aiogram.methods.answer_shipping_query import "
|
||||||
|
"AnswerShippingQuery`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/answer_shipping_query.rst:30
|
||||||
|
msgid "alias: :code:`from aiogram.methods import AnswerShippingQuery`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/answer_shipping_query.rst:33
|
||||||
|
msgid "With specific bot"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/answer_shipping_query.rst:40
|
||||||
|
msgid "As reply into Webhook in handler"
|
||||||
|
msgstr ""
|
||||||
|
|
@ -0,0 +1,82 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, aiogram Team
|
||||||
|
# This file is distributed under the same license as the aiogram package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: aiogram \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.10.3\n"
|
||||||
|
|
||||||
|
#: ../../api/methods/answer_web_app_query.rst:3
|
||||||
|
msgid "answerWebAppQuery"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/answer_web_app_query.rst:5
|
||||||
|
msgid "Returns: :obj:`SentWebAppMessage`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.answer_web_app_query.AnswerWebAppQuery:1 of
|
||||||
|
msgid ""
|
||||||
|
"Use this method to set the result of an interaction with a `Web App "
|
||||||
|
"<https://core.telegram.org/bots/webapps>`_ and send a corresponding "
|
||||||
|
"message on behalf of the user to the chat from which the query "
|
||||||
|
"originated. On success, a "
|
||||||
|
":class:`aiogram.types.sent_web_app_message.SentWebAppMessage` object is "
|
||||||
|
"returned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.answer_web_app_query.AnswerWebAppQuery:3 of
|
||||||
|
msgid "Source: https://core.telegram.org/bots/api#answerwebappquery"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.answer_web_app_query.AnswerWebAppQuery.web_app_query_id:1 of
|
||||||
|
msgid "Unique identifier for the query to be answered"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.answer_web_app_query.AnswerWebAppQuery.result:1 of
|
||||||
|
msgid "A JSON-serialized object describing the message to be sent"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/answer_web_app_query.rst:14
|
||||||
|
msgid "Usage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/answer_web_app_query.rst:17
|
||||||
|
msgid "As bot method"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/answer_web_app_query.rst:25
|
||||||
|
msgid "Method as object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/answer_web_app_query.rst:27
|
||||||
|
msgid "Imports:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/answer_web_app_query.rst:29
|
||||||
|
msgid ":code:`from aiogram.methods.answer_web_app_query import AnswerWebAppQuery`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/answer_web_app_query.rst:30
|
||||||
|
msgid "alias: :code:`from aiogram.methods import AnswerWebAppQuery`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/answer_web_app_query.rst:33
|
||||||
|
msgid "With specific bot"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/answer_web_app_query.rst:40
|
||||||
|
msgid "As reply into Webhook in handler"
|
||||||
|
msgstr ""
|
||||||
|
|
@ -0,0 +1,85 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, aiogram Team
|
||||||
|
# This file is distributed under the same license as the aiogram package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: aiogram \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.10.3\n"
|
||||||
|
|
||||||
|
#: ../../api/methods/approve_chat_join_request.rst:3
|
||||||
|
msgid "approveChatJoinRequest"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/approve_chat_join_request.rst:5
|
||||||
|
msgid "Returns: :obj:`bool`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.approve_chat_join_request.ApproveChatJoinRequest:1 of
|
||||||
|
msgid ""
|
||||||
|
"Use this method to approve a chat join request. The bot must be an "
|
||||||
|
"administrator in the chat for this to work and must have the "
|
||||||
|
"*can_invite_users* administrator right. Returns :code:`True` on success."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.approve_chat_join_request.ApproveChatJoinRequest:3 of
|
||||||
|
msgid "Source: https://core.telegram.org/bots/api#approvechatjoinrequest"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.approve_chat_join_request.ApproveChatJoinRequest.chat_id:1
|
||||||
|
#: of
|
||||||
|
msgid ""
|
||||||
|
"Unique identifier for the target chat or username of the target channel "
|
||||||
|
"(in the format :code:`@channelusername`)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.approve_chat_join_request.ApproveChatJoinRequest.user_id:1
|
||||||
|
#: of
|
||||||
|
msgid "Unique identifier of the target user"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/approve_chat_join_request.rst:14
|
||||||
|
msgid "Usage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/approve_chat_join_request.rst:17
|
||||||
|
msgid "As bot method"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/approve_chat_join_request.rst:25
|
||||||
|
msgid "Method as object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/approve_chat_join_request.rst:27
|
||||||
|
msgid "Imports:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/approve_chat_join_request.rst:29
|
||||||
|
msgid ""
|
||||||
|
":code:`from aiogram.methods.approve_chat_join_request import "
|
||||||
|
"ApproveChatJoinRequest`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/approve_chat_join_request.rst:30
|
||||||
|
msgid "alias: :code:`from aiogram.methods import ApproveChatJoinRequest`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/approve_chat_join_request.rst:33
|
||||||
|
msgid "With specific bot"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/approve_chat_join_request.rst:40
|
||||||
|
msgid "As reply into Webhook in handler"
|
||||||
|
msgstr ""
|
||||||
100
docs/locale/en/LC_MESSAGES/api/methods/ban_chat_member.po
Normal file
100
docs/locale/en/LC_MESSAGES/api/methods/ban_chat_member.po
Normal file
|
|
@ -0,0 +1,100 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, aiogram Team
|
||||||
|
# This file is distributed under the same license as the aiogram package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: aiogram \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.10.3\n"
|
||||||
|
|
||||||
|
#: ../../api/methods/ban_chat_member.rst:3
|
||||||
|
msgid "banChatMember"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/ban_chat_member.rst:5
|
||||||
|
msgid "Returns: :obj:`bool`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.ban_chat_member.BanChatMember:1 of
|
||||||
|
msgid ""
|
||||||
|
"Use this method to ban a user in a group, a supergroup or a channel. In "
|
||||||
|
"the case of supergroups and channels, the user will not be able to return"
|
||||||
|
" to the chat on their own using invite links, etc., unless `unbanned "
|
||||||
|
"<https://core.telegram.org/bots/api#unbanchatmember>`_ first. The bot "
|
||||||
|
"must be an administrator in the chat for this to work and must have the "
|
||||||
|
"appropriate administrator rights. Returns :code:`True` on success."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.ban_chat_member.BanChatMember:3 of
|
||||||
|
msgid "Source: https://core.telegram.org/bots/api#banchatmember"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring aiogram.methods.ban_chat_member.BanChatMember.chat_id:1 of
|
||||||
|
msgid ""
|
||||||
|
"Unique identifier for the target group or username of the target "
|
||||||
|
"supergroup or channel (in the format :code:`@channelusername`)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring aiogram.methods.ban_chat_member.BanChatMember.user_id:1 of
|
||||||
|
msgid "Unique identifier of the target user"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring aiogram.methods.ban_chat_member.BanChatMember.until_date:1
|
||||||
|
#: of
|
||||||
|
msgid ""
|
||||||
|
"Date when the user will be unbanned, unix time. If user is banned for "
|
||||||
|
"more than 366 days or less than 30 seconds from the current time they are"
|
||||||
|
" considered to be banned forever. Applied for supergroups and channels "
|
||||||
|
"only."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.ban_chat_member.BanChatMember.revoke_messages:1 of
|
||||||
|
msgid ""
|
||||||
|
"Pass :code:`True` to delete all messages from the chat for the user that "
|
||||||
|
"is being removed. If :code:`False`, the user will be able to see messages"
|
||||||
|
" in the group that were sent before the user was removed. Always "
|
||||||
|
":code:`True` for supergroups and channels."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/ban_chat_member.rst:14
|
||||||
|
msgid "Usage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/ban_chat_member.rst:17
|
||||||
|
msgid "As bot method"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/ban_chat_member.rst:25
|
||||||
|
msgid "Method as object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/ban_chat_member.rst:27
|
||||||
|
msgid "Imports:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/ban_chat_member.rst:29
|
||||||
|
msgid ":code:`from aiogram.methods.ban_chat_member import BanChatMember`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/ban_chat_member.rst:30
|
||||||
|
msgid "alias: :code:`from aiogram.methods import BanChatMember`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/ban_chat_member.rst:33
|
||||||
|
msgid "With specific bot"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/ban_chat_member.rst:40
|
||||||
|
msgid "As reply into Webhook in handler"
|
||||||
|
msgstr ""
|
||||||
|
|
@ -0,0 +1,85 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, aiogram Team
|
||||||
|
# This file is distributed under the same license as the aiogram package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: aiogram \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.10.3\n"
|
||||||
|
|
||||||
|
#: ../../api/methods/ban_chat_sender_chat.rst:3
|
||||||
|
msgid "banChatSenderChat"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/ban_chat_sender_chat.rst:5
|
||||||
|
msgid "Returns: :obj:`bool`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.ban_chat_sender_chat.BanChatSenderChat:1 of
|
||||||
|
msgid ""
|
||||||
|
"Use this method to ban a channel chat in a supergroup or a channel. Until"
|
||||||
|
" the chat is `unbanned "
|
||||||
|
"<https://core.telegram.org/bots/api#unbanchatsenderchat>`_, the owner of "
|
||||||
|
"the banned chat won't be able to send messages on behalf of **any of "
|
||||||
|
"their channels**. The bot must be an administrator in the supergroup or "
|
||||||
|
"channel for this to work and must have the appropriate administrator "
|
||||||
|
"rights. Returns :code:`True` on success."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.ban_chat_sender_chat.BanChatSenderChat:3 of
|
||||||
|
msgid "Source: https://core.telegram.org/bots/api#banchatsenderchat"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.ban_chat_sender_chat.BanChatSenderChat.chat_id:1 of
|
||||||
|
msgid ""
|
||||||
|
"Unique identifier for the target chat or username of the target channel "
|
||||||
|
"(in the format :code:`@channelusername`)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.ban_chat_sender_chat.BanChatSenderChat.sender_chat_id:1 of
|
||||||
|
msgid "Unique identifier of the target sender chat"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/ban_chat_sender_chat.rst:14
|
||||||
|
msgid "Usage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/ban_chat_sender_chat.rst:17
|
||||||
|
msgid "As bot method"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/ban_chat_sender_chat.rst:25
|
||||||
|
msgid "Method as object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/ban_chat_sender_chat.rst:27
|
||||||
|
msgid "Imports:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/ban_chat_sender_chat.rst:29
|
||||||
|
msgid ":code:`from aiogram.methods.ban_chat_sender_chat import BanChatSenderChat`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/ban_chat_sender_chat.rst:30
|
||||||
|
msgid "alias: :code:`from aiogram.methods import BanChatSenderChat`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/ban_chat_sender_chat.rst:33
|
||||||
|
msgid "With specific bot"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/ban_chat_sender_chat.rst:40
|
||||||
|
msgid "As reply into Webhook in handler"
|
||||||
|
msgstr ""
|
||||||
71
docs/locale/en/LC_MESSAGES/api/methods/close.po
Normal file
71
docs/locale/en/LC_MESSAGES/api/methods/close.po
Normal file
|
|
@ -0,0 +1,71 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, aiogram Team
|
||||||
|
# This file is distributed under the same license as the aiogram package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: aiogram \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.10.3\n"
|
||||||
|
|
||||||
|
#: ../../api/methods/close.rst:3
|
||||||
|
msgid "close"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/close.rst:5
|
||||||
|
msgid "Returns: :obj:`bool`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.close.Close:1 of
|
||||||
|
msgid ""
|
||||||
|
"Use this method to close the bot instance before moving it from one local"
|
||||||
|
" server to another. You need to delete the webhook before calling this "
|
||||||
|
"method to ensure that the bot isn't launched again after server restart. "
|
||||||
|
"The method will return error 429 in the first 10 minutes after the bot is"
|
||||||
|
" launched. Returns :code:`True` on success. Requires no parameters."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.close.Close:3 of
|
||||||
|
msgid "Source: https://core.telegram.org/bots/api#close"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/close.rst:14
|
||||||
|
msgid "Usage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/close.rst:17
|
||||||
|
msgid "As bot method"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/close.rst:25
|
||||||
|
msgid "Method as object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/close.rst:27
|
||||||
|
msgid "Imports:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/close.rst:29
|
||||||
|
msgid ":code:`from aiogram.methods.close import Close`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/close.rst:30
|
||||||
|
msgid "alias: :code:`from aiogram.methods import Close`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/close.rst:33
|
||||||
|
msgid "With specific bot"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/close.rst:40
|
||||||
|
msgid "As reply into Webhook in handler"
|
||||||
|
msgstr ""
|
||||||
143
docs/locale/en/LC_MESSAGES/api/methods/copy_message.po
Normal file
143
docs/locale/en/LC_MESSAGES/api/methods/copy_message.po
Normal file
|
|
@ -0,0 +1,143 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, aiogram Team
|
||||||
|
# This file is distributed under the same license as the aiogram package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: aiogram \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.10.3\n"
|
||||||
|
|
||||||
|
#: ../../api/methods/copy_message.rst:3
|
||||||
|
msgid "copyMessage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/copy_message.rst:5
|
||||||
|
msgid "Returns: :obj:`MessageId`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.copy_message.CopyMessage:1 of
|
||||||
|
msgid ""
|
||||||
|
"Use this method to copy messages of any kind. Service messages and "
|
||||||
|
"invoice messages can't be copied. A quiz "
|
||||||
|
":class:`aiogram.methods.poll.Poll` can be copied only if the value of the"
|
||||||
|
" field *correct_option_id* is known to the bot. The method is analogous "
|
||||||
|
"to the method :class:`aiogram.methods.forward_message.ForwardMessage`, "
|
||||||
|
"but the copied message doesn't have a link to the original message. "
|
||||||
|
"Returns the :class:`aiogram.types.message_id.MessageId` of the sent "
|
||||||
|
"message on success."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.copy_message.CopyMessage:3 of
|
||||||
|
msgid "Source: https://core.telegram.org/bots/api#copymessage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring aiogram.methods.copy_message.CopyMessage.chat_id:1 of
|
||||||
|
msgid ""
|
||||||
|
"Unique identifier for the target chat or username of the target channel "
|
||||||
|
"(in the format :code:`@channelusername`)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring aiogram.methods.copy_message.CopyMessage.from_chat_id:1 of
|
||||||
|
msgid ""
|
||||||
|
"Unique identifier for the chat where the original message was sent (or "
|
||||||
|
"channel username in the format :code:`@channelusername`)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring aiogram.methods.copy_message.CopyMessage.message_id:1 of
|
||||||
|
msgid "Message identifier in the chat specified in *from_chat_id*"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring aiogram.methods.copy_message.CopyMessage.caption:1 of
|
||||||
|
msgid ""
|
||||||
|
"New caption for media, 0-1024 characters after entities parsing. If not "
|
||||||
|
"specified, the original caption is kept"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring aiogram.methods.copy_message.CopyMessage.parse_mode:1 of
|
||||||
|
msgid ""
|
||||||
|
"Mode for parsing entities in the new caption. See `formatting options "
|
||||||
|
"<https://core.telegram.org/bots/api#formatting-options>`_ for more "
|
||||||
|
"details."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring aiogram.methods.copy_message.CopyMessage.caption_entities:1
|
||||||
|
#: of
|
||||||
|
msgid ""
|
||||||
|
"A JSON-serialized list of special entities that appear in the new "
|
||||||
|
"caption, which can be specified instead of *parse_mode*"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.copy_message.CopyMessage.disable_notification:1 of
|
||||||
|
msgid ""
|
||||||
|
"Sends the message `silently <https://telegram.org/blog/channels-2-0"
|
||||||
|
"#silent-messages>`_. Users will receive a notification with no sound."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring aiogram.methods.copy_message.CopyMessage.protect_content:1
|
||||||
|
#: of
|
||||||
|
msgid "Protects the contents of the sent message from forwarding and saving"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.copy_message.CopyMessage.reply_to_message_id:1 of
|
||||||
|
msgid "If the message is a reply, ID of the original message"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.copy_message.CopyMessage.allow_sending_without_reply:1 of
|
||||||
|
msgid ""
|
||||||
|
"Pass :code:`True` if the message should be sent even if the specified "
|
||||||
|
"replied-to message is not found"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring aiogram.methods.copy_message.CopyMessage.reply_markup:1 of
|
||||||
|
msgid ""
|
||||||
|
"Additional interface options. A JSON-serialized object for an `inline "
|
||||||
|
"keyboard <https://core.telegram.org/bots#inline-keyboards-and-on-the-fly-"
|
||||||
|
"updating>`_, `custom reply keyboard "
|
||||||
|
"<https://core.telegram.org/bots#keyboards>`_, instructions to remove "
|
||||||
|
"reply keyboard or to force a reply from the user."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/copy_message.rst:14
|
||||||
|
msgid "Usage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/copy_message.rst:17
|
||||||
|
msgid "As bot method"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/copy_message.rst:25
|
||||||
|
msgid "Method as object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/copy_message.rst:27
|
||||||
|
msgid "Imports:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/copy_message.rst:29
|
||||||
|
msgid ":code:`from aiogram.methods.copy_message import CopyMessage`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/copy_message.rst:30
|
||||||
|
msgid "alias: :code:`from aiogram.methods import CopyMessage`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/copy_message.rst:33
|
||||||
|
msgid "With specific bot"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/copy_message.rst:40
|
||||||
|
msgid "As reply into Webhook in handler"
|
||||||
|
msgstr ""
|
||||||
|
|
@ -0,0 +1,110 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, aiogram Team
|
||||||
|
# This file is distributed under the same license as the aiogram package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: aiogram \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.10.3\n"
|
||||||
|
|
||||||
|
#: ../../api/methods/create_chat_invite_link.rst:3
|
||||||
|
msgid "createChatInviteLink"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/create_chat_invite_link.rst:5
|
||||||
|
msgid "Returns: :obj:`ChatInviteLink`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.create_chat_invite_link.CreateChatInviteLink:1 of
|
||||||
|
msgid ""
|
||||||
|
"Use this method to create an additional invite link for a chat. The bot "
|
||||||
|
"must be an administrator in the chat for this to work and must have the "
|
||||||
|
"appropriate administrator rights. The link can be revoked using the "
|
||||||
|
"method "
|
||||||
|
":class:`aiogram.methods.revoke_chat_invite_link.RevokeChatInviteLink`. "
|
||||||
|
"Returns the new invite link as "
|
||||||
|
":class:`aiogram.types.chat_invite_link.ChatInviteLink` object."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.create_chat_invite_link.CreateChatInviteLink:3 of
|
||||||
|
msgid "Source: https://core.telegram.org/bots/api#createchatinvitelink"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.create_chat_invite_link.CreateChatInviteLink.chat_id:1 of
|
||||||
|
msgid ""
|
||||||
|
"Unique identifier for the target chat or username of the target channel "
|
||||||
|
"(in the format :code:`@channelusername`)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.create_chat_invite_link.CreateChatInviteLink.name:1 of
|
||||||
|
msgid "Invite link name; 0-32 characters"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.create_chat_invite_link.CreateChatInviteLink.expire_date:1
|
||||||
|
#: of
|
||||||
|
msgid "Point in time (Unix timestamp) when the link will expire"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.create_chat_invite_link.CreateChatInviteLink.member_limit:1
|
||||||
|
#: of
|
||||||
|
msgid ""
|
||||||
|
"The maximum number of users that can be members of the chat "
|
||||||
|
"simultaneously after joining the chat via this invite link; 1-99999"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.create_chat_invite_link.CreateChatInviteLink.creates_join_request:1
|
||||||
|
#: of
|
||||||
|
msgid ""
|
||||||
|
":code:`True`, if users joining the chat via the link need to be approved "
|
||||||
|
"by chat administrators. If :code:`True`, *member_limit* can't be "
|
||||||
|
"specified"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/create_chat_invite_link.rst:14
|
||||||
|
msgid "Usage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/create_chat_invite_link.rst:17
|
||||||
|
msgid "As bot method"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/create_chat_invite_link.rst:25
|
||||||
|
msgid "Method as object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/create_chat_invite_link.rst:27
|
||||||
|
msgid "Imports:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/create_chat_invite_link.rst:29
|
||||||
|
msgid ""
|
||||||
|
":code:`from aiogram.methods.create_chat_invite_link import "
|
||||||
|
"CreateChatInviteLink`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/create_chat_invite_link.rst:30
|
||||||
|
msgid "alias: :code:`from aiogram.methods import CreateChatInviteLink`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/create_chat_invite_link.rst:33
|
||||||
|
msgid "With specific bot"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/create_chat_invite_link.rst:40
|
||||||
|
msgid "As reply into Webhook in handler"
|
||||||
|
msgstr ""
|
||||||
207
docs/locale/en/LC_MESSAGES/api/methods/create_invoice_link.po
Normal file
207
docs/locale/en/LC_MESSAGES/api/methods/create_invoice_link.po
Normal file
|
|
@ -0,0 +1,207 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, aiogram Team
|
||||||
|
# This file is distributed under the same license as the aiogram package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: aiogram \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.10.3\n"
|
||||||
|
|
||||||
|
#: ../../api/methods/create_invoice_link.rst:3
|
||||||
|
msgid "createInvoiceLink"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/create_invoice_link.rst:5
|
||||||
|
msgid "Returns: :obj:`str`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.create_invoice_link.CreateInvoiceLink:1 of
|
||||||
|
msgid ""
|
||||||
|
"Use this method to create a link for an invoice. Returns the created "
|
||||||
|
"invoice link as *String* on success."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.create_invoice_link.CreateInvoiceLink:3 of
|
||||||
|
msgid "Source: https://core.telegram.org/bots/api#createinvoicelink"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.create_invoice_link.CreateInvoiceLink.title:1 of
|
||||||
|
msgid "Product name, 1-32 characters"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.create_invoice_link.CreateInvoiceLink.description:1 of
|
||||||
|
msgid "Product description, 1-255 characters"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.create_invoice_link.CreateInvoiceLink.payload:1 of
|
||||||
|
msgid ""
|
||||||
|
"Bot-defined invoice payload, 1-128 bytes. This will not be displayed to "
|
||||||
|
"the user, use for your internal processes."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.create_invoice_link.CreateInvoiceLink.provider_token:1 of
|
||||||
|
msgid "Payment provider token, obtained via `BotFather <https://t.me/botfather>`_"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.create_invoice_link.CreateInvoiceLink.currency:1 of
|
||||||
|
msgid ""
|
||||||
|
"Three-letter ISO 4217 currency code, see `more on currencies "
|
||||||
|
"<https://core.telegram.org/bots/payments#supported-currencies>`_"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.create_invoice_link.CreateInvoiceLink.prices:1 of
|
||||||
|
msgid ""
|
||||||
|
"Price breakdown, a JSON-serialized list of components (e.g. product "
|
||||||
|
"price, tax, discount, delivery cost, delivery tax, bonus, etc.)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.create_invoice_link.CreateInvoiceLink.max_tip_amount:1 of
|
||||||
|
msgid ""
|
||||||
|
"The maximum accepted amount for tips in the *smallest units* of the "
|
||||||
|
"currency (integer, **not** float/double). For example, for a maximum tip "
|
||||||
|
"of :code:`US$ 1.45` pass :code:`max_tip_amount = 145`. See the *exp* "
|
||||||
|
"parameter in `currencies.json "
|
||||||
|
"<https://core.telegram.org/bots/payments/currencies.json>`_, it shows the"
|
||||||
|
" number of digits past the decimal point for each currency (2 for the "
|
||||||
|
"majority of currencies). Defaults to 0"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.create_invoice_link.CreateInvoiceLink.suggested_tip_amounts:1
|
||||||
|
#: of
|
||||||
|
msgid ""
|
||||||
|
"A JSON-serialized array of suggested amounts of tips in the *smallest "
|
||||||
|
"units* of the currency (integer, **not** float/double). At most 4 "
|
||||||
|
"suggested tip amounts can be specified. The suggested tip amounts must be"
|
||||||
|
" positive, passed in a strictly increased order and must not exceed "
|
||||||
|
"*max_tip_amount*."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.create_invoice_link.CreateInvoiceLink.provider_data:1 of
|
||||||
|
msgid ""
|
||||||
|
"JSON-serialized data about the invoice, which will be shared with the "
|
||||||
|
"payment provider. A detailed description of required fields should be "
|
||||||
|
"provided by the payment provider."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.create_invoice_link.CreateInvoiceLink.photo_url:1 of
|
||||||
|
msgid ""
|
||||||
|
"URL of the product photo for the invoice. Can be a photo of the goods or "
|
||||||
|
"a marketing image for a service."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.create_invoice_link.CreateInvoiceLink.photo_size:1 of
|
||||||
|
msgid "Photo size in bytes"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.create_invoice_link.CreateInvoiceLink.photo_width:1 of
|
||||||
|
msgid "Photo width"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.create_invoice_link.CreateInvoiceLink.photo_height:1 of
|
||||||
|
msgid "Photo height"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.create_invoice_link.CreateInvoiceLink.need_name:1 of
|
||||||
|
msgid ""
|
||||||
|
"Pass :code:`True` if you require the user's full name to complete the "
|
||||||
|
"order"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.create_invoice_link.CreateInvoiceLink.need_phone_number:1 of
|
||||||
|
msgid ""
|
||||||
|
"Pass :code:`True` if you require the user's phone number to complete the "
|
||||||
|
"order"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.create_invoice_link.CreateInvoiceLink.need_email:1 of
|
||||||
|
msgid ""
|
||||||
|
"Pass :code:`True` if you require the user's email address to complete the"
|
||||||
|
" order"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.create_invoice_link.CreateInvoiceLink.need_shipping_address:1
|
||||||
|
#: of
|
||||||
|
msgid ""
|
||||||
|
"Pass :code:`True` if you require the user's shipping address to complete "
|
||||||
|
"the order"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.create_invoice_link.CreateInvoiceLink.send_phone_number_to_provider:1
|
||||||
|
#: of
|
||||||
|
msgid ""
|
||||||
|
"Pass :code:`True` if the user's phone number should be sent to the "
|
||||||
|
"provider"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.create_invoice_link.CreateInvoiceLink.send_email_to_provider:1
|
||||||
|
#: of
|
||||||
|
msgid ""
|
||||||
|
"Pass :code:`True` if the user's email address should be sent to the "
|
||||||
|
"provider"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.create_invoice_link.CreateInvoiceLink.is_flexible:1 of
|
||||||
|
msgid "Pass :code:`True` if the final price depends on the shipping method"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/create_invoice_link.rst:14
|
||||||
|
msgid "Usage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/create_invoice_link.rst:17
|
||||||
|
msgid "As bot method"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/create_invoice_link.rst:25
|
||||||
|
msgid "Method as object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/create_invoice_link.rst:27
|
||||||
|
msgid "Imports:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/create_invoice_link.rst:29
|
||||||
|
msgid ":code:`from aiogram.methods.create_invoice_link import CreateInvoiceLink`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/create_invoice_link.rst:30
|
||||||
|
msgid "alias: :code:`from aiogram.methods import CreateInvoiceLink`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/create_invoice_link.rst:33
|
||||||
|
msgid "With specific bot"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/create_invoice_link.rst:40
|
||||||
|
msgid "As reply into Webhook in handler"
|
||||||
|
msgstr ""
|
||||||
146
docs/locale/en/LC_MESSAGES/api/methods/create_new_sticker_set.po
Normal file
146
docs/locale/en/LC_MESSAGES/api/methods/create_new_sticker_set.po
Normal file
|
|
@ -0,0 +1,146 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, aiogram Team
|
||||||
|
# This file is distributed under the same license as the aiogram package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: aiogram \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.10.3\n"
|
||||||
|
|
||||||
|
#: ../../api/methods/create_new_sticker_set.rst:3
|
||||||
|
msgid "createNewStickerSet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/create_new_sticker_set.rst:5
|
||||||
|
msgid "Returns: :obj:`bool`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.create_new_sticker_set.CreateNewStickerSet:1 of
|
||||||
|
msgid ""
|
||||||
|
"Use this method to create a new sticker set owned by a user. The bot will"
|
||||||
|
" be able to edit the sticker set thus created. You **must** use exactly "
|
||||||
|
"one of the fields *png_sticker*, *tgs_sticker*, or *webm_sticker*. "
|
||||||
|
"Returns :code:`True` on success."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.create_new_sticker_set.CreateNewStickerSet:3 of
|
||||||
|
msgid "Source: https://core.telegram.org/bots/api#createnewstickerset"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.create_new_sticker_set.CreateNewStickerSet.user_id:1 of
|
||||||
|
msgid "User identifier of created sticker set owner"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.create_new_sticker_set.CreateNewStickerSet.name:1 of
|
||||||
|
msgid ""
|
||||||
|
"Short name of sticker set, to be used in :code:`t.me/addstickers/` URLs "
|
||||||
|
"(e.g., *animals*). Can contain only English letters, digits and "
|
||||||
|
"underscores. Must begin with a letter, can't contain consecutive "
|
||||||
|
"underscores and must end in :code:`\"_by_<bot_username>\"`. "
|
||||||
|
":code:`<bot_username>` is case insensitive. 1-64 characters."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.create_new_sticker_set.CreateNewStickerSet.title:1 of
|
||||||
|
msgid "Sticker set title, 1-64 characters"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.create_new_sticker_set.CreateNewStickerSet.emojis:1 of
|
||||||
|
msgid "One or more emoji corresponding to the sticker"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.create_new_sticker_set.CreateNewStickerSet.png_sticker:1 of
|
||||||
|
msgid ""
|
||||||
|
"**PNG** image with the sticker, must be up to 512 kilobytes in size, "
|
||||||
|
"dimensions must not exceed 512px, and either width or height must be "
|
||||||
|
"exactly 512px. Pass a *file_id* as a String to send a file that already "
|
||||||
|
"exists on the Telegram servers, pass an HTTP URL as a String for Telegram"
|
||||||
|
" to get a file from the Internet, or upload a new one using multipart"
|
||||||
|
"/form-data. :ref:`More information on Sending Files » <sending-files>`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.create_new_sticker_set.CreateNewStickerSet.tgs_sticker:1 of
|
||||||
|
msgid ""
|
||||||
|
"**TGS** animation with the sticker, uploaded using multipart/form-data. "
|
||||||
|
"See `https://core.telegram.org/stickers#animated-sticker-requirements "
|
||||||
|
"<https://core.telegram.org/stickers#animated-sticker-"
|
||||||
|
"requirements>`_`https://core.telegram.org/stickers#animated-sticker-"
|
||||||
|
"requirements <https://core.telegram.org/stickers#animated-sticker-"
|
||||||
|
"requirements>`_ for technical requirements"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.create_new_sticker_set.CreateNewStickerSet.webm_sticker:1 of
|
||||||
|
msgid ""
|
||||||
|
"**WEBM** video with the sticker, uploaded using multipart/form-data. See "
|
||||||
|
"`https://core.telegram.org/stickers#video-sticker-requirements "
|
||||||
|
"<https://core.telegram.org/stickers#video-sticker-"
|
||||||
|
"requirements>`_`https://core.telegram.org/stickers#video-sticker-"
|
||||||
|
"requirements <https://core.telegram.org/stickers#video-sticker-"
|
||||||
|
"requirements>`_ for technical requirements"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.create_new_sticker_set.CreateNewStickerSet.sticker_type:1 of
|
||||||
|
msgid ""
|
||||||
|
"Type of stickers in the set, pass 'regular' or 'mask'. Custom emoji "
|
||||||
|
"sticker sets can't be created via the Bot API at the moment. By default, "
|
||||||
|
"a regular sticker set is created."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.create_new_sticker_set.CreateNewStickerSet.mask_position:1
|
||||||
|
#: of
|
||||||
|
msgid ""
|
||||||
|
"A JSON-serialized object for position where the mask should be placed on "
|
||||||
|
"faces"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/create_new_sticker_set.rst:14
|
||||||
|
msgid "Usage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/create_new_sticker_set.rst:17
|
||||||
|
msgid "As bot method"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/create_new_sticker_set.rst:25
|
||||||
|
msgid "Method as object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/create_new_sticker_set.rst:27
|
||||||
|
msgid "Imports:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/create_new_sticker_set.rst:29
|
||||||
|
msgid ""
|
||||||
|
":code:`from aiogram.methods.create_new_sticker_set import "
|
||||||
|
"CreateNewStickerSet`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/create_new_sticker_set.rst:30
|
||||||
|
msgid "alias: :code:`from aiogram.methods import CreateNewStickerSet`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/create_new_sticker_set.rst:33
|
||||||
|
msgid "With specific bot"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/create_new_sticker_set.rst:40
|
||||||
|
msgid "As reply into Webhook in handler"
|
||||||
|
msgstr ""
|
||||||
|
|
@ -0,0 +1,85 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, aiogram Team
|
||||||
|
# This file is distributed under the same license as the aiogram package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: aiogram \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.10.3\n"
|
||||||
|
|
||||||
|
#: ../../api/methods/decline_chat_join_request.rst:3
|
||||||
|
msgid "declineChatJoinRequest"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/decline_chat_join_request.rst:5
|
||||||
|
msgid "Returns: :obj:`bool`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.decline_chat_join_request.DeclineChatJoinRequest:1 of
|
||||||
|
msgid ""
|
||||||
|
"Use this method to decline a chat join request. The bot must be an "
|
||||||
|
"administrator in the chat for this to work and must have the "
|
||||||
|
"*can_invite_users* administrator right. Returns :code:`True` on success."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.decline_chat_join_request.DeclineChatJoinRequest:3 of
|
||||||
|
msgid "Source: https://core.telegram.org/bots/api#declinechatjoinrequest"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.decline_chat_join_request.DeclineChatJoinRequest.chat_id:1
|
||||||
|
#: of
|
||||||
|
msgid ""
|
||||||
|
"Unique identifier for the target chat or username of the target channel "
|
||||||
|
"(in the format :code:`@channelusername`)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.decline_chat_join_request.DeclineChatJoinRequest.user_id:1
|
||||||
|
#: of
|
||||||
|
msgid "Unique identifier of the target user"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/decline_chat_join_request.rst:14
|
||||||
|
msgid "Usage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/decline_chat_join_request.rst:17
|
||||||
|
msgid "As bot method"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/decline_chat_join_request.rst:25
|
||||||
|
msgid "Method as object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/decline_chat_join_request.rst:27
|
||||||
|
msgid "Imports:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/decline_chat_join_request.rst:29
|
||||||
|
msgid ""
|
||||||
|
":code:`from aiogram.methods.decline_chat_join_request import "
|
||||||
|
"DeclineChatJoinRequest`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/decline_chat_join_request.rst:30
|
||||||
|
msgid "alias: :code:`from aiogram.methods import DeclineChatJoinRequest`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/decline_chat_join_request.rst:33
|
||||||
|
msgid "With specific bot"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/decline_chat_join_request.rst:40
|
||||||
|
msgid "As reply into Webhook in handler"
|
||||||
|
msgstr ""
|
||||||
77
docs/locale/en/LC_MESSAGES/api/methods/delete_chat_photo.po
Normal file
77
docs/locale/en/LC_MESSAGES/api/methods/delete_chat_photo.po
Normal file
|
|
@ -0,0 +1,77 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, aiogram Team
|
||||||
|
# This file is distributed under the same license as the aiogram package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: aiogram \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.10.3\n"
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_chat_photo.rst:3
|
||||||
|
msgid "deleteChatPhoto"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_chat_photo.rst:5
|
||||||
|
msgid "Returns: :obj:`bool`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.delete_chat_photo.DeleteChatPhoto:1 of
|
||||||
|
msgid ""
|
||||||
|
"Use this method to delete a chat photo. Photos can't be changed for "
|
||||||
|
"private chats. The bot must be an administrator in the chat for this to "
|
||||||
|
"work and must have the appropriate administrator rights. Returns "
|
||||||
|
":code:`True` on success."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.delete_chat_photo.DeleteChatPhoto:3 of
|
||||||
|
msgid "Source: https://core.telegram.org/bots/api#deletechatphoto"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring aiogram.methods.delete_chat_photo.DeleteChatPhoto.chat_id:1
|
||||||
|
#: of
|
||||||
|
msgid ""
|
||||||
|
"Unique identifier for the target chat or username of the target channel "
|
||||||
|
"(in the format :code:`@channelusername`)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_chat_photo.rst:14
|
||||||
|
msgid "Usage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_chat_photo.rst:17
|
||||||
|
msgid "As bot method"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_chat_photo.rst:25
|
||||||
|
msgid "Method as object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_chat_photo.rst:27
|
||||||
|
msgid "Imports:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_chat_photo.rst:29
|
||||||
|
msgid ":code:`from aiogram.methods.delete_chat_photo import DeleteChatPhoto`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_chat_photo.rst:30
|
||||||
|
msgid "alias: :code:`from aiogram.methods import DeleteChatPhoto`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_chat_photo.rst:33
|
||||||
|
msgid "With specific bot"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_chat_photo.rst:40
|
||||||
|
msgid "As reply into Webhook in handler"
|
||||||
|
msgstr ""
|
||||||
|
|
@ -0,0 +1,81 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, aiogram Team
|
||||||
|
# This file is distributed under the same license as the aiogram package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: aiogram \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.10.3\n"
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_chat_sticker_set.rst:3
|
||||||
|
msgid "deleteChatStickerSet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_chat_sticker_set.rst:5
|
||||||
|
msgid "Returns: :obj:`bool`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.delete_chat_sticker_set.DeleteChatStickerSet:1 of
|
||||||
|
msgid ""
|
||||||
|
"Use this method to delete a group sticker set from a supergroup. The bot "
|
||||||
|
"must be an administrator in the chat for this to work and must have the "
|
||||||
|
"appropriate administrator rights. Use the field *can_set_sticker_set* "
|
||||||
|
"optionally returned in :class:`aiogram.methods.get_chat.GetChat` requests"
|
||||||
|
" to check if the bot can use this method. Returns :code:`True` on "
|
||||||
|
"success."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.delete_chat_sticker_set.DeleteChatStickerSet:3 of
|
||||||
|
msgid "Source: https://core.telegram.org/bots/api#deletechatstickerset"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.delete_chat_sticker_set.DeleteChatStickerSet.chat_id:1 of
|
||||||
|
msgid ""
|
||||||
|
"Unique identifier for the target chat or username of the target "
|
||||||
|
"supergroup (in the format :code:`@supergroupusername`)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_chat_sticker_set.rst:14
|
||||||
|
msgid "Usage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_chat_sticker_set.rst:17
|
||||||
|
msgid "As bot method"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_chat_sticker_set.rst:25
|
||||||
|
msgid "Method as object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_chat_sticker_set.rst:27
|
||||||
|
msgid "Imports:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_chat_sticker_set.rst:29
|
||||||
|
msgid ""
|
||||||
|
":code:`from aiogram.methods.delete_chat_sticker_set import "
|
||||||
|
"DeleteChatStickerSet`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_chat_sticker_set.rst:30
|
||||||
|
msgid "alias: :code:`from aiogram.methods import DeleteChatStickerSet`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_chat_sticker_set.rst:33
|
||||||
|
msgid "With specific bot"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_chat_sticker_set.rst:40
|
||||||
|
msgid "As reply into Webhook in handler"
|
||||||
|
msgstr ""
|
||||||
120
docs/locale/en/LC_MESSAGES/api/methods/delete_message.po
Normal file
120
docs/locale/en/LC_MESSAGES/api/methods/delete_message.po
Normal file
|
|
@ -0,0 +1,120 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, aiogram Team
|
||||||
|
# This file is distributed under the same license as the aiogram package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: aiogram \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.10.3\n"
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_message.rst:3
|
||||||
|
msgid "deleteMessage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_message.rst:5
|
||||||
|
msgid "Returns: :obj:`bool`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.delete_message.DeleteMessage:1 of
|
||||||
|
msgid ""
|
||||||
|
"Use this method to delete a message, including service messages, with the"
|
||||||
|
" following limitations:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.delete_message.DeleteMessage:3 of
|
||||||
|
msgid "A message can only be deleted if it was sent less than 48 hours ago."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.delete_message.DeleteMessage:5 of
|
||||||
|
msgid ""
|
||||||
|
"A dice message in a private chat can only be deleted if it was sent more "
|
||||||
|
"than 24 hours ago."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.delete_message.DeleteMessage:7 of
|
||||||
|
msgid ""
|
||||||
|
"Bots can delete outgoing messages in private chats, groups, and "
|
||||||
|
"supergroups."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.delete_message.DeleteMessage:9 of
|
||||||
|
msgid "Bots can delete incoming messages in private chats."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.delete_message.DeleteMessage:11 of
|
||||||
|
msgid ""
|
||||||
|
"Bots granted *can_post_messages* permissions can delete outgoing messages"
|
||||||
|
" in channels."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.delete_message.DeleteMessage:13 of
|
||||||
|
msgid ""
|
||||||
|
"If the bot is an administrator of a group, it can delete any message "
|
||||||
|
"there."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.delete_message.DeleteMessage:15 of
|
||||||
|
msgid ""
|
||||||
|
"If the bot has *can_delete_messages* permission in a supergroup or a "
|
||||||
|
"channel, it can delete any message there."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.delete_message.DeleteMessage:17 of
|
||||||
|
msgid "Returns :code:`True` on success."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.delete_message.DeleteMessage:19 of
|
||||||
|
msgid "Source: https://core.telegram.org/bots/api#deletemessage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring aiogram.methods.delete_message.DeleteMessage.chat_id:1 of
|
||||||
|
msgid ""
|
||||||
|
"Unique identifier for the target chat or username of the target channel "
|
||||||
|
"(in the format :code:`@channelusername`)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring aiogram.methods.delete_message.DeleteMessage.message_id:1 of
|
||||||
|
msgid "Identifier of the message to delete"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_message.rst:14
|
||||||
|
msgid "Usage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_message.rst:17
|
||||||
|
msgid "As bot method"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_message.rst:25
|
||||||
|
msgid "Method as object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_message.rst:27
|
||||||
|
msgid "Imports:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_message.rst:29
|
||||||
|
msgid ":code:`from aiogram.methods.delete_message import DeleteMessage`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_message.rst:30
|
||||||
|
msgid "alias: :code:`from aiogram.methods import DeleteMessage`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_message.rst:33
|
||||||
|
msgid "With specific bot"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_message.rst:40
|
||||||
|
msgid "As reply into Webhook in handler"
|
||||||
|
msgstr ""
|
||||||
86
docs/locale/en/LC_MESSAGES/api/methods/delete_my_commands.po
Normal file
86
docs/locale/en/LC_MESSAGES/api/methods/delete_my_commands.po
Normal file
|
|
@ -0,0 +1,86 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, aiogram Team
|
||||||
|
# This file is distributed under the same license as the aiogram package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: aiogram \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.10.3\n"
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_my_commands.rst:3
|
||||||
|
msgid "deleteMyCommands"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_my_commands.rst:5
|
||||||
|
msgid "Returns: :obj:`bool`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.delete_my_commands.DeleteMyCommands:1 of
|
||||||
|
msgid ""
|
||||||
|
"Use this method to delete the list of the bot's commands for the given "
|
||||||
|
"scope and user language. After deletion, `higher level commands "
|
||||||
|
"<https://core.telegram.org/bots/api#determining-list-of-commands>`_ will "
|
||||||
|
"be shown to affected users. Returns :code:`True` on success."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.delete_my_commands.DeleteMyCommands:3 of
|
||||||
|
msgid "Source: https://core.telegram.org/bots/api#deletemycommands"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring aiogram.methods.delete_my_commands.DeleteMyCommands.scope:1
|
||||||
|
#: of
|
||||||
|
msgid ""
|
||||||
|
"A JSON-serialized object, describing scope of users for which the "
|
||||||
|
"commands are relevant. Defaults to "
|
||||||
|
":class:`aiogram.types.bot_command_scope_default.BotCommandScopeDefault`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.delete_my_commands.DeleteMyCommands.language_code:1 of
|
||||||
|
msgid ""
|
||||||
|
"A two-letter ISO 639-1 language code. If empty, commands will be applied "
|
||||||
|
"to all users from the given scope, for whose language there are no "
|
||||||
|
"dedicated commands"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_my_commands.rst:14
|
||||||
|
msgid "Usage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_my_commands.rst:17
|
||||||
|
msgid "As bot method"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_my_commands.rst:25
|
||||||
|
msgid "Method as object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_my_commands.rst:27
|
||||||
|
msgid "Imports:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_my_commands.rst:29
|
||||||
|
msgid ":code:`from aiogram.methods.delete_my_commands import DeleteMyCommands`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_my_commands.rst:30
|
||||||
|
msgid "alias: :code:`from aiogram.methods import DeleteMyCommands`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_my_commands.rst:33
|
||||||
|
msgid "With specific bot"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_my_commands.rst:40
|
||||||
|
msgid "As reply into Webhook in handler"
|
||||||
|
msgstr ""
|
||||||
|
|
@ -0,0 +1,75 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, aiogram Team
|
||||||
|
# This file is distributed under the same license as the aiogram package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: aiogram \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.10.3\n"
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_sticker_from_set.rst:3
|
||||||
|
msgid "deleteStickerFromSet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_sticker_from_set.rst:5
|
||||||
|
msgid "Returns: :obj:`bool`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.delete_sticker_from_set.DeleteStickerFromSet:1 of
|
||||||
|
msgid ""
|
||||||
|
"Use this method to delete a sticker from a set created by the bot. "
|
||||||
|
"Returns :code:`True` on success."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.delete_sticker_from_set.DeleteStickerFromSet:3 of
|
||||||
|
msgid "Source: https://core.telegram.org/bots/api#deletestickerfromset"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.delete_sticker_from_set.DeleteStickerFromSet.sticker:1 of
|
||||||
|
msgid "File identifier of the sticker"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_sticker_from_set.rst:14
|
||||||
|
msgid "Usage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_sticker_from_set.rst:17
|
||||||
|
msgid "As bot method"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_sticker_from_set.rst:25
|
||||||
|
msgid "Method as object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_sticker_from_set.rst:27
|
||||||
|
msgid "Imports:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_sticker_from_set.rst:29
|
||||||
|
msgid ""
|
||||||
|
":code:`from aiogram.methods.delete_sticker_from_set import "
|
||||||
|
"DeleteStickerFromSet`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_sticker_from_set.rst:30
|
||||||
|
msgid "alias: :code:`from aiogram.methods import DeleteStickerFromSet`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_sticker_from_set.rst:33
|
||||||
|
msgid "With specific bot"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_sticker_from_set.rst:40
|
||||||
|
msgid "As reply into Webhook in handler"
|
||||||
|
msgstr ""
|
||||||
74
docs/locale/en/LC_MESSAGES/api/methods/delete_webhook.po
Normal file
74
docs/locale/en/LC_MESSAGES/api/methods/delete_webhook.po
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, aiogram Team
|
||||||
|
# This file is distributed under the same license as the aiogram package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: aiogram \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.10.3\n"
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_webhook.rst:3
|
||||||
|
msgid "deleteWebhook"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_webhook.rst:5
|
||||||
|
msgid "Returns: :obj:`bool`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.delete_webhook.DeleteWebhook:1 of
|
||||||
|
msgid ""
|
||||||
|
"Use this method to remove webhook integration if you decide to switch "
|
||||||
|
"back to :class:`aiogram.methods.get_updates.GetUpdates`. Returns "
|
||||||
|
":code:`True` on success."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.delete_webhook.DeleteWebhook:3 of
|
||||||
|
msgid "Source: https://core.telegram.org/bots/api#deletewebhook"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.delete_webhook.DeleteWebhook.drop_pending_updates:1 of
|
||||||
|
msgid "Pass :code:`True` to drop all pending updates"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_webhook.rst:14
|
||||||
|
msgid "Usage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_webhook.rst:17
|
||||||
|
msgid "As bot method"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_webhook.rst:25
|
||||||
|
msgid "Method as object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_webhook.rst:27
|
||||||
|
msgid "Imports:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_webhook.rst:29
|
||||||
|
msgid ":code:`from aiogram.methods.delete_webhook import DeleteWebhook`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_webhook.rst:30
|
||||||
|
msgid "alias: :code:`from aiogram.methods import DeleteWebhook`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_webhook.rst:33
|
||||||
|
msgid "With specific bot"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/delete_webhook.rst:40
|
||||||
|
msgid "As reply into Webhook in handler"
|
||||||
|
msgstr ""
|
||||||
110
docs/locale/en/LC_MESSAGES/api/methods/edit_chat_invite_link.po
Normal file
110
docs/locale/en/LC_MESSAGES/api/methods/edit_chat_invite_link.po
Normal file
|
|
@ -0,0 +1,110 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, aiogram Team
|
||||||
|
# This file is distributed under the same license as the aiogram package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: aiogram \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.10.3\n"
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_chat_invite_link.rst:3
|
||||||
|
msgid "editChatInviteLink"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_chat_invite_link.rst:5
|
||||||
|
msgid "Returns: :obj:`ChatInviteLink`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.edit_chat_invite_link.EditChatInviteLink:1 of
|
||||||
|
msgid ""
|
||||||
|
"Use this method to edit a non-primary invite link created by the bot. The"
|
||||||
|
" bot must be an administrator in the chat for this to work and must have "
|
||||||
|
"the appropriate administrator rights. Returns the edited invite link as a"
|
||||||
|
" :class:`aiogram.types.chat_invite_link.ChatInviteLink` object."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.edit_chat_invite_link.EditChatInviteLink:3 of
|
||||||
|
msgid "Source: https://core.telegram.org/bots/api#editchatinvitelink"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.edit_chat_invite_link.EditChatInviteLink.chat_id:1 of
|
||||||
|
msgid ""
|
||||||
|
"Unique identifier for the target chat or username of the target channel "
|
||||||
|
"(in the format :code:`@channelusername`)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.edit_chat_invite_link.EditChatInviteLink.invite_link:1 of
|
||||||
|
msgid "The invite link to edit"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.edit_chat_invite_link.EditChatInviteLink.name:1 of
|
||||||
|
msgid "Invite link name; 0-32 characters"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.edit_chat_invite_link.EditChatInviteLink.expire_date:1 of
|
||||||
|
msgid "Point in time (Unix timestamp) when the link will expire"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.edit_chat_invite_link.EditChatInviteLink.member_limit:1 of
|
||||||
|
msgid ""
|
||||||
|
"The maximum number of users that can be members of the chat "
|
||||||
|
"simultaneously after joining the chat via this invite link; 1-99999"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.edit_chat_invite_link.EditChatInviteLink.creates_join_request:1
|
||||||
|
#: of
|
||||||
|
msgid ""
|
||||||
|
":code:`True`, if users joining the chat via the link need to be approved "
|
||||||
|
"by chat administrators. If :code:`True`, *member_limit* can't be "
|
||||||
|
"specified"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_chat_invite_link.rst:14
|
||||||
|
msgid "Usage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_chat_invite_link.rst:17
|
||||||
|
msgid "As bot method"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_chat_invite_link.rst:25
|
||||||
|
msgid "Method as object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_chat_invite_link.rst:27
|
||||||
|
msgid "Imports:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_chat_invite_link.rst:29
|
||||||
|
msgid ""
|
||||||
|
":code:`from aiogram.methods.edit_chat_invite_link import "
|
||||||
|
"EditChatInviteLink`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_chat_invite_link.rst:30
|
||||||
|
msgid "alias: :code:`from aiogram.methods import EditChatInviteLink`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_chat_invite_link.rst:33
|
||||||
|
msgid "With specific bot"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_chat_invite_link.rst:40
|
||||||
|
msgid "As reply into Webhook in handler"
|
||||||
|
msgstr ""
|
||||||
124
docs/locale/en/LC_MESSAGES/api/methods/edit_message_caption.po
Normal file
124
docs/locale/en/LC_MESSAGES/api/methods/edit_message_caption.po
Normal file
|
|
@ -0,0 +1,124 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, aiogram Team
|
||||||
|
# This file is distributed under the same license as the aiogram package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: aiogram \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.10.3\n"
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_message_caption.rst:3
|
||||||
|
msgid "editMessageCaption"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_message_caption.rst:5
|
||||||
|
msgid "Returns: :obj:`Union[Message, bool]`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.edit_message_caption.EditMessageCaption:1 of
|
||||||
|
msgid ""
|
||||||
|
"Use this method to edit captions of messages. On success, if the edited "
|
||||||
|
"message is not an inline message, the edited "
|
||||||
|
":class:`aiogram.types.message.Message` is returned, otherwise "
|
||||||
|
":code:`True` is returned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.edit_message_caption.EditMessageCaption:3 of
|
||||||
|
msgid "Source: https://core.telegram.org/bots/api#editmessagecaption"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.edit_message_caption.EditMessageCaption.chat_id:1 of
|
||||||
|
msgid ""
|
||||||
|
"Required if *inline_message_id* is not specified. Unique identifier for "
|
||||||
|
"the target chat or username of the target channel (in the format "
|
||||||
|
":code:`@channelusername`)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.edit_message_caption.EditMessageCaption.message_id:1 of
|
||||||
|
msgid ""
|
||||||
|
"Required if *inline_message_id* is not specified. Identifier of the "
|
||||||
|
"message to edit"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.edit_message_caption.EditMessageCaption.inline_message_id:1
|
||||||
|
#: of
|
||||||
|
msgid ""
|
||||||
|
"Required if *chat_id* and *message_id* are not specified. Identifier of "
|
||||||
|
"the inline message"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.edit_message_caption.EditMessageCaption.caption:1 of
|
||||||
|
msgid "New caption of the message, 0-1024 characters after entities parsing"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.edit_message_caption.EditMessageCaption.parse_mode:1 of
|
||||||
|
msgid ""
|
||||||
|
"Mode for parsing entities in the message caption. See `formatting options"
|
||||||
|
" <https://core.telegram.org/bots/api#formatting-options>`_ for more "
|
||||||
|
"details."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.edit_message_caption.EditMessageCaption.caption_entities:1
|
||||||
|
#: of
|
||||||
|
msgid ""
|
||||||
|
"A JSON-serialized list of special entities that appear in the caption, "
|
||||||
|
"which can be specified instead of *parse_mode*"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.edit_message_caption.EditMessageCaption.reply_markup:1 of
|
||||||
|
msgid ""
|
||||||
|
"A JSON-serialized object for an `inline keyboard "
|
||||||
|
"<https://core.telegram.org/bots#inline-keyboards-and-on-the-fly-"
|
||||||
|
"updating>`_."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_message_caption.rst:14
|
||||||
|
msgid "Usage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_message_caption.rst:17
|
||||||
|
msgid "As bot method"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_message_caption.rst:25
|
||||||
|
msgid "Method as object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_message_caption.rst:27
|
||||||
|
msgid "Imports:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_message_caption.rst:29
|
||||||
|
msgid ""
|
||||||
|
":code:`from aiogram.methods.edit_message_caption import "
|
||||||
|
"EditMessageCaption`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_message_caption.rst:30
|
||||||
|
msgid "alias: :code:`from aiogram.methods import EditMessageCaption`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_message_caption.rst:33
|
||||||
|
msgid "With specific bot"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_message_caption.rst:40
|
||||||
|
msgid "As reply into Webhook in handler"
|
||||||
|
msgstr ""
|
||||||
|
|
@ -0,0 +1,143 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, aiogram Team
|
||||||
|
# This file is distributed under the same license as the aiogram package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: aiogram \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.10.3\n"
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_message_live_location.rst:3
|
||||||
|
msgid "editMessageLiveLocation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_message_live_location.rst:5
|
||||||
|
msgid "Returns: :obj:`Union[Message, bool]`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.edit_message_live_location.EditMessageLiveLocation:1 of
|
||||||
|
msgid ""
|
||||||
|
"Use this method to edit live location messages. A location can be edited "
|
||||||
|
"until its *live_period* expires or editing is explicitly disabled by a "
|
||||||
|
"call to "
|
||||||
|
":class:`aiogram.methods.stop_message_live_location.StopMessageLiveLocation`."
|
||||||
|
" On success, if the edited message is not an inline message, the edited "
|
||||||
|
":class:`aiogram.types.message.Message` is returned, otherwise "
|
||||||
|
":code:`True` is returned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.edit_message_live_location.EditMessageLiveLocation:3 of
|
||||||
|
msgid "Source: https://core.telegram.org/bots/api#editmessagelivelocation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.edit_message_live_location.EditMessageLiveLocation.latitude:1
|
||||||
|
#: of
|
||||||
|
msgid "Latitude of new location"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.edit_message_live_location.EditMessageLiveLocation.longitude:1
|
||||||
|
#: of
|
||||||
|
msgid "Longitude of new location"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.edit_message_live_location.EditMessageLiveLocation.chat_id:1
|
||||||
|
#: of
|
||||||
|
msgid ""
|
||||||
|
"Required if *inline_message_id* is not specified. Unique identifier for "
|
||||||
|
"the target chat or username of the target channel (in the format "
|
||||||
|
":code:`@channelusername`)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.edit_message_live_location.EditMessageLiveLocation.message_id:1
|
||||||
|
#: of
|
||||||
|
msgid ""
|
||||||
|
"Required if *inline_message_id* is not specified. Identifier of the "
|
||||||
|
"message to edit"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.edit_message_live_location.EditMessageLiveLocation.inline_message_id:1
|
||||||
|
#: of
|
||||||
|
msgid ""
|
||||||
|
"Required if *chat_id* and *message_id* are not specified. Identifier of "
|
||||||
|
"the inline message"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.edit_message_live_location.EditMessageLiveLocation.horizontal_accuracy:1
|
||||||
|
#: of
|
||||||
|
msgid "The radius of uncertainty for the location, measured in meters; 0-1500"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.edit_message_live_location.EditMessageLiveLocation.heading:1
|
||||||
|
#: of
|
||||||
|
msgid ""
|
||||||
|
"Direction in which the user is moving, in degrees. Must be between 1 and "
|
||||||
|
"360 if specified."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.edit_message_live_location.EditMessageLiveLocation.proximity_alert_radius:1
|
||||||
|
#: of
|
||||||
|
msgid ""
|
||||||
|
"The maximum distance for proximity alerts about approaching another chat "
|
||||||
|
"member, in meters. Must be between 1 and 100000 if specified."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.edit_message_live_location.EditMessageLiveLocation.reply_markup:1
|
||||||
|
#: of
|
||||||
|
msgid ""
|
||||||
|
"A JSON-serialized object for a new `inline keyboard "
|
||||||
|
"<https://core.telegram.org/bots#inline-keyboards-and-on-the-fly-"
|
||||||
|
"updating>`_."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_message_live_location.rst:14
|
||||||
|
msgid "Usage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_message_live_location.rst:17
|
||||||
|
msgid "As bot method"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_message_live_location.rst:25
|
||||||
|
msgid "Method as object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_message_live_location.rst:27
|
||||||
|
msgid "Imports:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_message_live_location.rst:29
|
||||||
|
msgid ""
|
||||||
|
":code:`from aiogram.methods.edit_message_live_location import "
|
||||||
|
"EditMessageLiveLocation`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_message_live_location.rst:30
|
||||||
|
msgid "alias: :code:`from aiogram.methods import EditMessageLiveLocation`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_message_live_location.rst:33
|
||||||
|
msgid "With specific bot"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_message_live_location.rst:40
|
||||||
|
msgid "As reply into Webhook in handler"
|
||||||
|
msgstr ""
|
||||||
109
docs/locale/en/LC_MESSAGES/api/methods/edit_message_media.po
Normal file
109
docs/locale/en/LC_MESSAGES/api/methods/edit_message_media.po
Normal file
|
|
@ -0,0 +1,109 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, aiogram Team
|
||||||
|
# This file is distributed under the same license as the aiogram package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: aiogram \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.10.3\n"
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_message_media.rst:3
|
||||||
|
msgid "editMessageMedia"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_message_media.rst:5
|
||||||
|
msgid "Returns: :obj:`Union[Message, bool]`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.edit_message_media.EditMessageMedia:1 of
|
||||||
|
msgid ""
|
||||||
|
"Use this method to edit animation, audio, document, photo, or video "
|
||||||
|
"messages. If a message is part of a message album, then it can be edited "
|
||||||
|
"only to an audio for audio albums, only to a document for document albums"
|
||||||
|
" and to a photo or a video otherwise. When an inline message is edited, a"
|
||||||
|
" new file can't be uploaded; use a previously uploaded file via its "
|
||||||
|
"file_id or specify a URL. On success, if the edited message is not an "
|
||||||
|
"inline message, the edited :class:`aiogram.types.message.Message` is "
|
||||||
|
"returned, otherwise :code:`True` is returned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.edit_message_media.EditMessageMedia:3 of
|
||||||
|
msgid "Source: https://core.telegram.org/bots/api#editmessagemedia"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring aiogram.methods.edit_message_media.EditMessageMedia.media:1
|
||||||
|
#: of
|
||||||
|
msgid "A JSON-serialized object for a new media content of the message"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.edit_message_media.EditMessageMedia.chat_id:1 of
|
||||||
|
msgid ""
|
||||||
|
"Required if *inline_message_id* is not specified. Unique identifier for "
|
||||||
|
"the target chat or username of the target channel (in the format "
|
||||||
|
":code:`@channelusername`)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.edit_message_media.EditMessageMedia.message_id:1 of
|
||||||
|
msgid ""
|
||||||
|
"Required if *inline_message_id* is not specified. Identifier of the "
|
||||||
|
"message to edit"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.edit_message_media.EditMessageMedia.inline_message_id:1 of
|
||||||
|
msgid ""
|
||||||
|
"Required if *chat_id* and *message_id* are not specified. Identifier of "
|
||||||
|
"the inline message"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.edit_message_media.EditMessageMedia.reply_markup:1 of
|
||||||
|
msgid ""
|
||||||
|
"A JSON-serialized object for a new `inline keyboard "
|
||||||
|
"<https://core.telegram.org/bots#inline-keyboards-and-on-the-fly-"
|
||||||
|
"updating>`_."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_message_media.rst:14
|
||||||
|
msgid "Usage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_message_media.rst:17
|
||||||
|
msgid "As bot method"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_message_media.rst:25
|
||||||
|
msgid "Method as object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_message_media.rst:27
|
||||||
|
msgid "Imports:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_message_media.rst:29
|
||||||
|
msgid ":code:`from aiogram.methods.edit_message_media import EditMessageMedia`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_message_media.rst:30
|
||||||
|
msgid "alias: :code:`from aiogram.methods import EditMessageMedia`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_message_media.rst:33
|
||||||
|
msgid "With specific bot"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_message_media.rst:40
|
||||||
|
msgid "As reply into Webhook in handler"
|
||||||
|
msgstr ""
|
||||||
|
|
@ -0,0 +1,106 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, aiogram Team
|
||||||
|
# This file is distributed under the same license as the aiogram package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: aiogram \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.10.3\n"
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_message_reply_markup.rst:3
|
||||||
|
msgid "editMessageReplyMarkup"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_message_reply_markup.rst:5
|
||||||
|
msgid "Returns: :obj:`Union[Message, bool]`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.edit_message_reply_markup.EditMessageReplyMarkup:1 of
|
||||||
|
msgid ""
|
||||||
|
"Use this method to edit only the reply markup of messages. On success, if"
|
||||||
|
" the edited message is not an inline message, the edited "
|
||||||
|
":class:`aiogram.types.message.Message` is returned, otherwise "
|
||||||
|
":code:`True` is returned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.edit_message_reply_markup.EditMessageReplyMarkup:3 of
|
||||||
|
msgid "Source: https://core.telegram.org/bots/api#editmessagereplymarkup"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.edit_message_reply_markup.EditMessageReplyMarkup.chat_id:1
|
||||||
|
#: of
|
||||||
|
msgid ""
|
||||||
|
"Required if *inline_message_id* is not specified. Unique identifier for "
|
||||||
|
"the target chat or username of the target channel (in the format "
|
||||||
|
":code:`@channelusername`)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.edit_message_reply_markup.EditMessageReplyMarkup.message_id:1
|
||||||
|
#: of
|
||||||
|
msgid ""
|
||||||
|
"Required if *inline_message_id* is not specified. Identifier of the "
|
||||||
|
"message to edit"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.edit_message_reply_markup.EditMessageReplyMarkup.inline_message_id:1
|
||||||
|
#: of
|
||||||
|
msgid ""
|
||||||
|
"Required if *chat_id* and *message_id* are not specified. Identifier of "
|
||||||
|
"the inline message"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.edit_message_reply_markup.EditMessageReplyMarkup.reply_markup:1
|
||||||
|
#: of
|
||||||
|
msgid ""
|
||||||
|
"A JSON-serialized object for an `inline keyboard "
|
||||||
|
"<https://core.telegram.org/bots#inline-keyboards-and-on-the-fly-"
|
||||||
|
"updating>`_."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_message_reply_markup.rst:14
|
||||||
|
msgid "Usage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_message_reply_markup.rst:17
|
||||||
|
msgid "As bot method"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_message_reply_markup.rst:25
|
||||||
|
msgid "Method as object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_message_reply_markup.rst:27
|
||||||
|
msgid "Imports:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_message_reply_markup.rst:29
|
||||||
|
msgid ""
|
||||||
|
":code:`from aiogram.methods.edit_message_reply_markup import "
|
||||||
|
"EditMessageReplyMarkup`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_message_reply_markup.rst:30
|
||||||
|
msgid "alias: :code:`from aiogram.methods import EditMessageReplyMarkup`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_message_reply_markup.rst:33
|
||||||
|
msgid "With specific bot"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_message_reply_markup.rst:40
|
||||||
|
msgid "As reply into Webhook in handler"
|
||||||
|
msgstr ""
|
||||||
126
docs/locale/en/LC_MESSAGES/api/methods/edit_message_text.po
Normal file
126
docs/locale/en/LC_MESSAGES/api/methods/edit_message_text.po
Normal file
|
|
@ -0,0 +1,126 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, aiogram Team
|
||||||
|
# This file is distributed under the same license as the aiogram package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: aiogram \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.10.3\n"
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_message_text.rst:3
|
||||||
|
msgid "editMessageText"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_message_text.rst:5
|
||||||
|
msgid "Returns: :obj:`Union[Message, bool]`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.edit_message_text.EditMessageText:1 of
|
||||||
|
msgid ""
|
||||||
|
"Use this method to edit text and `game "
|
||||||
|
"<https://core.telegram.org/bots/api#games>`_ messages. On success, if the"
|
||||||
|
" edited message is not an inline message, the edited "
|
||||||
|
":class:`aiogram.types.message.Message` is returned, otherwise "
|
||||||
|
":code:`True` is returned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.edit_message_text.EditMessageText:3 of
|
||||||
|
msgid "Source: https://core.telegram.org/bots/api#editmessagetext"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring aiogram.methods.edit_message_text.EditMessageText.text:1 of
|
||||||
|
msgid "New text of the message, 1-4096 characters after entities parsing"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring aiogram.methods.edit_message_text.EditMessageText.chat_id:1
|
||||||
|
#: of
|
||||||
|
msgid ""
|
||||||
|
"Required if *inline_message_id* is not specified. Unique identifier for "
|
||||||
|
"the target chat or username of the target channel (in the format "
|
||||||
|
":code:`@channelusername`)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.edit_message_text.EditMessageText.message_id:1 of
|
||||||
|
msgid ""
|
||||||
|
"Required if *inline_message_id* is not specified. Identifier of the "
|
||||||
|
"message to edit"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.edit_message_text.EditMessageText.inline_message_id:1 of
|
||||||
|
msgid ""
|
||||||
|
"Required if *chat_id* and *message_id* are not specified. Identifier of "
|
||||||
|
"the inline message"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.edit_message_text.EditMessageText.parse_mode:1 of
|
||||||
|
msgid ""
|
||||||
|
"Mode for parsing entities in the message text. See `formatting options "
|
||||||
|
"<https://core.telegram.org/bots/api#formatting-options>`_ for more "
|
||||||
|
"details."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring aiogram.methods.edit_message_text.EditMessageText.entities:1
|
||||||
|
#: of
|
||||||
|
msgid ""
|
||||||
|
"A JSON-serialized list of special entities that appear in message text, "
|
||||||
|
"which can be specified instead of *parse_mode*"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.edit_message_text.EditMessageText.disable_web_page_preview:1
|
||||||
|
#: of
|
||||||
|
msgid "Disables link previews for links in this message"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.edit_message_text.EditMessageText.reply_markup:1 of
|
||||||
|
msgid ""
|
||||||
|
"A JSON-serialized object for an `inline keyboard "
|
||||||
|
"<https://core.telegram.org/bots#inline-keyboards-and-on-the-fly-"
|
||||||
|
"updating>`_."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_message_text.rst:14
|
||||||
|
msgid "Usage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_message_text.rst:17
|
||||||
|
msgid "As bot method"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_message_text.rst:25
|
||||||
|
msgid "Method as object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_message_text.rst:27
|
||||||
|
msgid "Imports:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_message_text.rst:29
|
||||||
|
msgid ":code:`from aiogram.methods.edit_message_text import EditMessageText`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_message_text.rst:30
|
||||||
|
msgid "alias: :code:`from aiogram.methods import EditMessageText`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_message_text.rst:33
|
||||||
|
msgid "With specific bot"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/edit_message_text.rst:40
|
||||||
|
msgid "As reply into Webhook in handler"
|
||||||
|
msgstr ""
|
||||||
|
|
@ -0,0 +1,93 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, aiogram Team
|
||||||
|
# This file is distributed under the same license as the aiogram package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: aiogram \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.10.3\n"
|
||||||
|
|
||||||
|
#: ../../api/methods/export_chat_invite_link.rst:3
|
||||||
|
msgid "exportChatInviteLink"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/export_chat_invite_link.rst:5
|
||||||
|
msgid "Returns: :obj:`str`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.export_chat_invite_link.ExportChatInviteLink:1 of
|
||||||
|
msgid ""
|
||||||
|
"Use this method to generate a new primary invite link for a chat; any "
|
||||||
|
"previously generated primary link is revoked. The bot must be an "
|
||||||
|
"administrator in the chat for this to work and must have the appropriate "
|
||||||
|
"administrator rights. Returns the new invite link as *String* on success."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.export_chat_invite_link.ExportChatInviteLink:3 of
|
||||||
|
msgid ""
|
||||||
|
"Note: Each administrator in a chat generates their own invite links. Bots"
|
||||||
|
" can't use invite links generated by other administrators. If you want "
|
||||||
|
"your bot to work with invite links, it will need to generate its own link"
|
||||||
|
" using "
|
||||||
|
":class:`aiogram.methods.export_chat_invite_link.ExportChatInviteLink` or "
|
||||||
|
"by calling the :class:`aiogram.methods.get_chat.GetChat` method. If your "
|
||||||
|
"bot needs to generate a new primary invite link replacing its previous "
|
||||||
|
"one, use "
|
||||||
|
":class:`aiogram.methods.export_chat_invite_link.ExportChatInviteLink` "
|
||||||
|
"again."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.export_chat_invite_link.ExportChatInviteLink:5 of
|
||||||
|
msgid "Source: https://core.telegram.org/bots/api#exportchatinvitelink"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.export_chat_invite_link.ExportChatInviteLink.chat_id:1 of
|
||||||
|
msgid ""
|
||||||
|
"Unique identifier for the target chat or username of the target channel "
|
||||||
|
"(in the format :code:`@channelusername`)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/export_chat_invite_link.rst:14
|
||||||
|
msgid "Usage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/export_chat_invite_link.rst:17
|
||||||
|
msgid "As bot method"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/export_chat_invite_link.rst:25
|
||||||
|
msgid "Method as object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/export_chat_invite_link.rst:27
|
||||||
|
msgid "Imports:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/export_chat_invite_link.rst:29
|
||||||
|
msgid ""
|
||||||
|
":code:`from aiogram.methods.export_chat_invite_link import "
|
||||||
|
"ExportChatInviteLink`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/export_chat_invite_link.rst:30
|
||||||
|
msgid "alias: :code:`from aiogram.methods import ExportChatInviteLink`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/export_chat_invite_link.rst:33
|
||||||
|
msgid "With specific bot"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/export_chat_invite_link.rst:40
|
||||||
|
msgid "As reply into Webhook in handler"
|
||||||
|
msgstr ""
|
||||||
99
docs/locale/en/LC_MESSAGES/api/methods/forward_message.po
Normal file
99
docs/locale/en/LC_MESSAGES/api/methods/forward_message.po
Normal file
|
|
@ -0,0 +1,99 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, aiogram Team
|
||||||
|
# This file is distributed under the same license as the aiogram package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: aiogram \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.10.3\n"
|
||||||
|
|
||||||
|
#: ../../api/methods/forward_message.rst:3
|
||||||
|
msgid "forwardMessage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/forward_message.rst:5
|
||||||
|
msgid "Returns: :obj:`Message`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.forward_message.ForwardMessage:1 of
|
||||||
|
msgid ""
|
||||||
|
"Use this method to forward messages of any kind. Service messages can't "
|
||||||
|
"be forwarded. On success, the sent :class:`aiogram.types.message.Message`"
|
||||||
|
" is returned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.forward_message.ForwardMessage:3 of
|
||||||
|
msgid "Source: https://core.telegram.org/bots/api#forwardmessage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring aiogram.methods.forward_message.ForwardMessage.chat_id:1 of
|
||||||
|
msgid ""
|
||||||
|
"Unique identifier for the target chat or username of the target channel "
|
||||||
|
"(in the format :code:`@channelusername`)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.forward_message.ForwardMessage.from_chat_id:1 of
|
||||||
|
msgid ""
|
||||||
|
"Unique identifier for the chat where the original message was sent (or "
|
||||||
|
"channel username in the format :code:`@channelusername`)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring aiogram.methods.forward_message.ForwardMessage.message_id:1
|
||||||
|
#: of
|
||||||
|
msgid "Message identifier in the chat specified in *from_chat_id*"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.forward_message.ForwardMessage.disable_notification:1 of
|
||||||
|
msgid ""
|
||||||
|
"Sends the message `silently <https://telegram.org/blog/channels-2-0"
|
||||||
|
"#silent-messages>`_. Users will receive a notification with no sound."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.forward_message.ForwardMessage.protect_content:1 of
|
||||||
|
msgid "Protects the contents of the forwarded message from forwarding and saving"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/forward_message.rst:14
|
||||||
|
msgid "Usage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/forward_message.rst:17
|
||||||
|
msgid "As bot method"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/forward_message.rst:25
|
||||||
|
msgid "Method as object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/forward_message.rst:27
|
||||||
|
msgid "Imports:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/forward_message.rst:29
|
||||||
|
msgid ":code:`from aiogram.methods.forward_message import ForwardMessage`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/forward_message.rst:30
|
||||||
|
msgid "alias: :code:`from aiogram.methods import ForwardMessage`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/forward_message.rst:33
|
||||||
|
msgid "With specific bot"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/forward_message.rst:40
|
||||||
|
msgid "As reply into Webhook in handler"
|
||||||
|
msgstr ""
|
||||||
72
docs/locale/en/LC_MESSAGES/api/methods/get_chat.po
Normal file
72
docs/locale/en/LC_MESSAGES/api/methods/get_chat.po
Normal file
|
|
@ -0,0 +1,72 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, aiogram Team
|
||||||
|
# This file is distributed under the same license as the aiogram package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: aiogram \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.10.3\n"
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat.rst:3
|
||||||
|
msgid "getChat"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat.rst:5
|
||||||
|
msgid "Returns: :obj:`Chat`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.get_chat.GetChat:1 of
|
||||||
|
msgid ""
|
||||||
|
"Use this method to get up to date information about the chat (current "
|
||||||
|
"name of the user for one-on-one conversations, current username of a "
|
||||||
|
"user, group or channel, etc.). Returns a :class:`aiogram.types.chat.Chat`"
|
||||||
|
" object on success."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.get_chat.GetChat:3 of
|
||||||
|
msgid "Source: https://core.telegram.org/bots/api#getchat"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring aiogram.methods.get_chat.GetChat.chat_id:1 of
|
||||||
|
msgid ""
|
||||||
|
"Unique identifier for the target chat or username of the target "
|
||||||
|
"supergroup or channel (in the format :code:`@channelusername`)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat.rst:14
|
||||||
|
msgid "Usage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat.rst:17
|
||||||
|
msgid "As bot method"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat.rst:25
|
||||||
|
msgid "Method as object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat.rst:27
|
||||||
|
msgid "Imports:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat.rst:29
|
||||||
|
msgid ":code:`from aiogram.methods.get_chat import GetChat`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat.rst:30
|
||||||
|
msgid "alias: :code:`from aiogram.methods import GetChat`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat.rst:33
|
||||||
|
msgid "With specific bot"
|
||||||
|
msgstr ""
|
||||||
|
|
@ -0,0 +1,77 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, aiogram Team
|
||||||
|
# This file is distributed under the same license as the aiogram package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: aiogram \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.10.3\n"
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat_administrators.rst:3
|
||||||
|
msgid "getChatAdministrators"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat_administrators.rst:5
|
||||||
|
msgid ""
|
||||||
|
"Returns: :obj:`List[Union[ChatMemberOwner, ChatMemberAdministrator, "
|
||||||
|
"ChatMemberMember, ChatMemberRestricted, ChatMemberLeft, "
|
||||||
|
"ChatMemberBanned]]`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.get_chat_administrators.GetChatAdministrators:1 of
|
||||||
|
msgid ""
|
||||||
|
"Use this method to get a list of administrators in a chat, which aren't "
|
||||||
|
"bots. Returns an Array of :class:`aiogram.types.chat_member.ChatMember` "
|
||||||
|
"objects."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.get_chat_administrators.GetChatAdministrators:3 of
|
||||||
|
msgid "Source: https://core.telegram.org/bots/api#getchatadministrators"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.get_chat_administrators.GetChatAdministrators.chat_id:1 of
|
||||||
|
msgid ""
|
||||||
|
"Unique identifier for the target chat or username of the target "
|
||||||
|
"supergroup or channel (in the format :code:`@channelusername`)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat_administrators.rst:14
|
||||||
|
msgid "Usage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat_administrators.rst:17
|
||||||
|
msgid "As bot method"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat_administrators.rst:25
|
||||||
|
msgid "Method as object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat_administrators.rst:27
|
||||||
|
msgid "Imports:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat_administrators.rst:29
|
||||||
|
msgid ""
|
||||||
|
":code:`from aiogram.methods.get_chat_administrators import "
|
||||||
|
"GetChatAdministrators`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat_administrators.rst:30
|
||||||
|
msgid "alias: :code:`from aiogram.methods import GetChatAdministrators`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat_administrators.rst:33
|
||||||
|
msgid "With specific bot"
|
||||||
|
msgstr ""
|
||||||
77
docs/locale/en/LC_MESSAGES/api/methods/get_chat_member.po
Normal file
77
docs/locale/en/LC_MESSAGES/api/methods/get_chat_member.po
Normal file
|
|
@ -0,0 +1,77 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, aiogram Team
|
||||||
|
# This file is distributed under the same license as the aiogram package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: aiogram \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.10.3\n"
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat_member.rst:3
|
||||||
|
msgid "getChatMember"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat_member.rst:5
|
||||||
|
msgid ""
|
||||||
|
"Returns: :obj:`Union[ChatMemberOwner, ChatMemberAdministrator, "
|
||||||
|
"ChatMemberMember, ChatMemberRestricted, ChatMemberLeft, "
|
||||||
|
"ChatMemberBanned]`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.get_chat_member.GetChatMember:1 of
|
||||||
|
msgid ""
|
||||||
|
"Use this method to get information about a member of a chat. Returns a "
|
||||||
|
":class:`aiogram.types.chat_member.ChatMember` object on success."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.get_chat_member.GetChatMember:3 of
|
||||||
|
msgid "Source: https://core.telegram.org/bots/api#getchatmember"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring aiogram.methods.get_chat_member.GetChatMember.chat_id:1 of
|
||||||
|
msgid ""
|
||||||
|
"Unique identifier for the target chat or username of the target "
|
||||||
|
"supergroup or channel (in the format :code:`@channelusername`)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring aiogram.methods.get_chat_member.GetChatMember.user_id:1 of
|
||||||
|
msgid "Unique identifier of the target user"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat_member.rst:14
|
||||||
|
msgid "Usage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat_member.rst:17
|
||||||
|
msgid "As bot method"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat_member.rst:25
|
||||||
|
msgid "Method as object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat_member.rst:27
|
||||||
|
msgid "Imports:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat_member.rst:29
|
||||||
|
msgid ":code:`from aiogram.methods.get_chat_member import GetChatMember`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat_member.rst:30
|
||||||
|
msgid "alias: :code:`from aiogram.methods import GetChatMember`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat_member.rst:33
|
||||||
|
msgid "With specific bot"
|
||||||
|
msgstr ""
|
||||||
|
|
@ -0,0 +1,73 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, aiogram Team
|
||||||
|
# This file is distributed under the same license as the aiogram package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: aiogram \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.10.3\n"
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat_member_count.rst:3
|
||||||
|
msgid "getChatMemberCount"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat_member_count.rst:5
|
||||||
|
msgid "Returns: :obj:`int`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.get_chat_member_count.GetChatMemberCount:1 of
|
||||||
|
msgid ""
|
||||||
|
"Use this method to get the number of members in a chat. Returns *Int* on "
|
||||||
|
"success."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.get_chat_member_count.GetChatMemberCount:3 of
|
||||||
|
msgid "Source: https://core.telegram.org/bots/api#getchatmembercount"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.get_chat_member_count.GetChatMemberCount.chat_id:1 of
|
||||||
|
msgid ""
|
||||||
|
"Unique identifier for the target chat or username of the target "
|
||||||
|
"supergroup or channel (in the format :code:`@channelusername`)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat_member_count.rst:14
|
||||||
|
msgid "Usage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat_member_count.rst:17
|
||||||
|
msgid "As bot method"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat_member_count.rst:25
|
||||||
|
msgid "Method as object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat_member_count.rst:27
|
||||||
|
msgid "Imports:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat_member_count.rst:29
|
||||||
|
msgid ""
|
||||||
|
":code:`from aiogram.methods.get_chat_member_count import "
|
||||||
|
"GetChatMemberCount`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat_member_count.rst:30
|
||||||
|
msgid "alias: :code:`from aiogram.methods import GetChatMemberCount`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat_member_count.rst:33
|
||||||
|
msgid "With specific bot"
|
||||||
|
msgstr ""
|
||||||
|
|
@ -0,0 +1,73 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, aiogram Team
|
||||||
|
# This file is distributed under the same license as the aiogram package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: aiogram \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.10.3\n"
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat_members_count.rst:3
|
||||||
|
msgid "getChatMembersCount"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat_members_count.rst:5
|
||||||
|
msgid "Returns: :obj:`int`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.get_chat_members_count.GetChatMembersCount:5 of
|
||||||
|
msgid ""
|
||||||
|
"Use this method to get the number of members in a chat. Returns *Int* on "
|
||||||
|
"success."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.get_chat_members_count.GetChatMembersCount:7 of
|
||||||
|
msgid "Source: https://core.telegram.org/bots/api#getchatmembercount"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.get_chat_members_count.GetChatMembersCount.chat_id:1 of
|
||||||
|
msgid ""
|
||||||
|
"Unique identifier for the target chat or username of the target "
|
||||||
|
"supergroup or channel (in the format :code:`@channelusername`)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat_members_count.rst:14
|
||||||
|
msgid "Usage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat_members_count.rst:17
|
||||||
|
msgid "As bot method"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat_members_count.rst:25
|
||||||
|
msgid "Method as object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat_members_count.rst:27
|
||||||
|
msgid "Imports:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat_members_count.rst:29
|
||||||
|
msgid ""
|
||||||
|
":code:`from aiogram.methods.get_chat_members_count import "
|
||||||
|
"GetChatMembersCount`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat_members_count.rst:30
|
||||||
|
msgid "alias: :code:`from aiogram.methods import GetChatMembersCount`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat_members_count.rst:33
|
||||||
|
msgid "With specific bot"
|
||||||
|
msgstr ""
|
||||||
|
|
@ -0,0 +1,72 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, aiogram Team
|
||||||
|
# This file is distributed under the same license as the aiogram package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: aiogram \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.10.3\n"
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat_menu_button.rst:3
|
||||||
|
msgid "getChatMenuButton"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat_menu_button.rst:5
|
||||||
|
msgid "Returns: :obj:`MenuButton`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.get_chat_menu_button.GetChatMenuButton:1 of
|
||||||
|
msgid ""
|
||||||
|
"Use this method to get the current value of the bot's menu button in a "
|
||||||
|
"private chat, or the default menu button. Returns "
|
||||||
|
":class:`aiogram.types.menu_button.MenuButton` on success."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.get_chat_menu_button.GetChatMenuButton:3 of
|
||||||
|
msgid "Source: https://core.telegram.org/bots/api#getchatmenubutton"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.get_chat_menu_button.GetChatMenuButton.chat_id:1 of
|
||||||
|
msgid ""
|
||||||
|
"Unique identifier for the target private chat. If not specified, default "
|
||||||
|
"bot's menu button will be returned"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat_menu_button.rst:14
|
||||||
|
msgid "Usage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat_menu_button.rst:17
|
||||||
|
msgid "As bot method"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat_menu_button.rst:25
|
||||||
|
msgid "Method as object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat_menu_button.rst:27
|
||||||
|
msgid "Imports:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat_menu_button.rst:29
|
||||||
|
msgid ":code:`from aiogram.methods.get_chat_menu_button import GetChatMenuButton`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat_menu_button.rst:30
|
||||||
|
msgid "alias: :code:`from aiogram.methods import GetChatMenuButton`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_chat_menu_button.rst:33
|
||||||
|
msgid "With specific bot"
|
||||||
|
msgstr ""
|
||||||
|
|
@ -0,0 +1,75 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, aiogram Team
|
||||||
|
# This file is distributed under the same license as the aiogram package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: aiogram \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.10.3\n"
|
||||||
|
|
||||||
|
#: ../../api/methods/get_custom_emoji_stickers.rst:3
|
||||||
|
msgid "getCustomEmojiStickers"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_custom_emoji_stickers.rst:5
|
||||||
|
msgid "Returns: :obj:`List[Sticker]`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.get_custom_emoji_stickers.GetCustomEmojiStickers:1 of
|
||||||
|
msgid ""
|
||||||
|
"Use this method to get information about custom emoji stickers by their "
|
||||||
|
"identifiers. Returns an Array of :class:`aiogram.types.sticker.Sticker` "
|
||||||
|
"objects."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.get_custom_emoji_stickers.GetCustomEmojiStickers:3 of
|
||||||
|
msgid "Source: https://core.telegram.org/bots/api#getcustomemojistickers"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.get_custom_emoji_stickers.GetCustomEmojiStickers.custom_emoji_ids:1
|
||||||
|
#: of
|
||||||
|
msgid ""
|
||||||
|
"List of custom emoji identifiers. At most 200 custom emoji identifiers "
|
||||||
|
"can be specified."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_custom_emoji_stickers.rst:14
|
||||||
|
msgid "Usage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_custom_emoji_stickers.rst:17
|
||||||
|
msgid "As bot method"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_custom_emoji_stickers.rst:25
|
||||||
|
msgid "Method as object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_custom_emoji_stickers.rst:27
|
||||||
|
msgid "Imports:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_custom_emoji_stickers.rst:29
|
||||||
|
msgid ""
|
||||||
|
":code:`from aiogram.methods.get_custom_emoji_stickers import "
|
||||||
|
"GetCustomEmojiStickers`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_custom_emoji_stickers.rst:30
|
||||||
|
msgid "alias: :code:`from aiogram.methods import GetCustomEmojiStickers`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_custom_emoji_stickers.rst:33
|
||||||
|
msgid "With specific bot"
|
||||||
|
msgstr ""
|
||||||
77
docs/locale/en/LC_MESSAGES/api/methods/get_file.po
Normal file
77
docs/locale/en/LC_MESSAGES/api/methods/get_file.po
Normal file
|
|
@ -0,0 +1,77 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, aiogram Team
|
||||||
|
# This file is distributed under the same license as the aiogram package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: aiogram \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.10.3\n"
|
||||||
|
|
||||||
|
#: ../../api/methods/get_file.rst:3
|
||||||
|
msgid "getFile"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_file.rst:5
|
||||||
|
msgid "Returns: :obj:`File`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.get_file.GetFile:1 of
|
||||||
|
msgid ""
|
||||||
|
"Use this method to get basic information about a file and prepare it for "
|
||||||
|
"downloading. For the moment, bots can download files of up to 20MB in "
|
||||||
|
"size. On success, a :class:`aiogram.types.file.File` object is returned. "
|
||||||
|
"The file can then be downloaded via the link "
|
||||||
|
":code:`https://api.telegram.org/file/bot<token>/<file_path>`, where "
|
||||||
|
":code:`<file_path>` is taken from the response. It is guaranteed that the"
|
||||||
|
" link will be valid for at least 1 hour. When the link expires, a new one"
|
||||||
|
" can be requested by calling :class:`aiogram.methods.get_file.GetFile` "
|
||||||
|
"again. **Note:** This function may not preserve the original file name "
|
||||||
|
"and MIME type. You should save the file's MIME type and name (if "
|
||||||
|
"available) when the File object is received."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.get_file.GetFile:4 of
|
||||||
|
msgid "Source: https://core.telegram.org/bots/api#getfile"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring aiogram.methods.get_file.GetFile.file_id:1 of
|
||||||
|
msgid "File identifier to get information about"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_file.rst:14
|
||||||
|
msgid "Usage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_file.rst:17
|
||||||
|
msgid "As bot method"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_file.rst:25
|
||||||
|
msgid "Method as object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_file.rst:27
|
||||||
|
msgid "Imports:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_file.rst:29
|
||||||
|
msgid ":code:`from aiogram.methods.get_file import GetFile`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_file.rst:30
|
||||||
|
msgid "alias: :code:`from aiogram.methods import GetFile`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_file.rst:33
|
||||||
|
msgid "With specific bot"
|
||||||
|
msgstr ""
|
||||||
100
docs/locale/en/LC_MESSAGES/api/methods/get_game_high_scores.po
Normal file
100
docs/locale/en/LC_MESSAGES/api/methods/get_game_high_scores.po
Normal file
|
|
@ -0,0 +1,100 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, aiogram Team
|
||||||
|
# This file is distributed under the same license as the aiogram package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: aiogram \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.10.3\n"
|
||||||
|
|
||||||
|
#: ../../api/methods/get_game_high_scores.rst:3
|
||||||
|
msgid "getGameHighScores"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_game_high_scores.rst:5
|
||||||
|
msgid "Returns: :obj:`List[GameHighScore]`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.get_game_high_scores.GetGameHighScores:1 of
|
||||||
|
msgid ""
|
||||||
|
"Use this method to get data for high score tables. Will return the score "
|
||||||
|
"of the specified user and several of their neighbors in a game. Returns "
|
||||||
|
"an Array of :class:`aiogram.types.game_high_score.GameHighScore` objects."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.get_game_high_scores.GetGameHighScores:3 of
|
||||||
|
msgid ""
|
||||||
|
"This method will currently return scores for the target user, plus two of"
|
||||||
|
" their closest neighbors on each side. Will also return the top three "
|
||||||
|
"users if the user and their neighbors are not among them. Please note "
|
||||||
|
"that this behavior is subject to change."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.get_game_high_scores.GetGameHighScores:5 of
|
||||||
|
msgid "Source: https://core.telegram.org/bots/api#getgamehighscores"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.get_game_high_scores.GetGameHighScores.user_id:1 of
|
||||||
|
msgid "Target user id"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.get_game_high_scores.GetGameHighScores.chat_id:1 of
|
||||||
|
msgid ""
|
||||||
|
"Required if *inline_message_id* is not specified. Unique identifier for "
|
||||||
|
"the target chat"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.get_game_high_scores.GetGameHighScores.message_id:1 of
|
||||||
|
msgid ""
|
||||||
|
"Required if *inline_message_id* is not specified. Identifier of the sent "
|
||||||
|
"message"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.get_game_high_scores.GetGameHighScores.inline_message_id:1
|
||||||
|
#: of
|
||||||
|
msgid ""
|
||||||
|
"Required if *chat_id* and *message_id* are not specified. Identifier of "
|
||||||
|
"the inline message"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_game_high_scores.rst:14
|
||||||
|
msgid "Usage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_game_high_scores.rst:17
|
||||||
|
msgid "As bot method"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_game_high_scores.rst:25
|
||||||
|
msgid "Method as object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_game_high_scores.rst:27
|
||||||
|
msgid "Imports:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_game_high_scores.rst:29
|
||||||
|
msgid ":code:`from aiogram.methods.get_game_high_scores import GetGameHighScores`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_game_high_scores.rst:30
|
||||||
|
msgid "alias: :code:`from aiogram.methods import GetGameHighScores`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_game_high_scores.rst:33
|
||||||
|
msgid "With specific bot"
|
||||||
|
msgstr ""
|
||||||
65
docs/locale/en/LC_MESSAGES/api/methods/get_me.po
Normal file
65
docs/locale/en/LC_MESSAGES/api/methods/get_me.po
Normal file
|
|
@ -0,0 +1,65 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, aiogram Team
|
||||||
|
# This file is distributed under the same license as the aiogram package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: aiogram \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.10.3\n"
|
||||||
|
|
||||||
|
#: ../../api/methods/get_me.rst:3
|
||||||
|
msgid "getMe"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_me.rst:5
|
||||||
|
msgid "Returns: :obj:`User`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.get_me.GetMe:1 of
|
||||||
|
msgid ""
|
||||||
|
"A simple method for testing your bot's authentication token. Requires no "
|
||||||
|
"parameters. Returns basic information about the bot in form of a "
|
||||||
|
":class:`aiogram.types.user.User` object."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.get_me.GetMe:3 of
|
||||||
|
msgid "Source: https://core.telegram.org/bots/api#getme"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_me.rst:14
|
||||||
|
msgid "Usage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_me.rst:17
|
||||||
|
msgid "As bot method"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_me.rst:25
|
||||||
|
msgid "Method as object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_me.rst:27
|
||||||
|
msgid "Imports:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_me.rst:29
|
||||||
|
msgid ":code:`from aiogram.methods.get_me import GetMe`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_me.rst:30
|
||||||
|
msgid "alias: :code:`from aiogram.methods import GetMe`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_me.rst:33
|
||||||
|
msgid "With specific bot"
|
||||||
|
msgstr ""
|
||||||
77
docs/locale/en/LC_MESSAGES/api/methods/get_my_commands.po
Normal file
77
docs/locale/en/LC_MESSAGES/api/methods/get_my_commands.po
Normal file
|
|
@ -0,0 +1,77 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, aiogram Team
|
||||||
|
# This file is distributed under the same license as the aiogram package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: aiogram \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.10.3\n"
|
||||||
|
|
||||||
|
#: ../../api/methods/get_my_commands.rst:3
|
||||||
|
msgid "getMyCommands"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_my_commands.rst:5
|
||||||
|
msgid "Returns: :obj:`List[BotCommand]`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.get_my_commands.GetMyCommands:1 of
|
||||||
|
msgid ""
|
||||||
|
"Use this method to get the current list of the bot's commands for the "
|
||||||
|
"given scope and user language. Returns an Array of "
|
||||||
|
":class:`aiogram.types.bot_command.BotCommand` objects. If commands aren't"
|
||||||
|
" set, an empty list is returned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.get_my_commands.GetMyCommands:3 of
|
||||||
|
msgid "Source: https://core.telegram.org/bots/api#getmycommands"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring aiogram.methods.get_my_commands.GetMyCommands.scope:1 of
|
||||||
|
msgid ""
|
||||||
|
"A JSON-serialized object, describing scope of users. Defaults to "
|
||||||
|
":class:`aiogram.types.bot_command_scope_default.BotCommandScopeDefault`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.get_my_commands.GetMyCommands.language_code:1 of
|
||||||
|
msgid "A two-letter ISO 639-1 language code or an empty string"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_my_commands.rst:14
|
||||||
|
msgid "Usage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_my_commands.rst:17
|
||||||
|
msgid "As bot method"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_my_commands.rst:25
|
||||||
|
msgid "Method as object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_my_commands.rst:27
|
||||||
|
msgid "Imports:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_my_commands.rst:29
|
||||||
|
msgid ":code:`from aiogram.methods.get_my_commands import GetMyCommands`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_my_commands.rst:30
|
||||||
|
msgid "alias: :code:`from aiogram.methods import GetMyCommands`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_my_commands.rst:33
|
||||||
|
msgid "With specific bot"
|
||||||
|
msgstr ""
|
||||||
|
|
@ -0,0 +1,79 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, aiogram Team
|
||||||
|
# This file is distributed under the same license as the aiogram package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: aiogram \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.10.3\n"
|
||||||
|
|
||||||
|
#: ../../api/methods/get_my_default_administrator_rights.rst:3
|
||||||
|
msgid "getMyDefaultAdministratorRights"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_my_default_administrator_rights.rst:5
|
||||||
|
msgid "Returns: :obj:`ChatAdministratorRights`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.get_my_default_administrator_rights.GetMyDefaultAdministratorRights:1
|
||||||
|
#: of
|
||||||
|
msgid ""
|
||||||
|
"Use this method to get the current default administrator rights of the "
|
||||||
|
"bot. Returns "
|
||||||
|
":class:`aiogram.types.chat_administrator_rights.ChatAdministratorRights` "
|
||||||
|
"on success."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.get_my_default_administrator_rights.GetMyDefaultAdministratorRights:3
|
||||||
|
#: of
|
||||||
|
msgid "Source: https://core.telegram.org/bots/api#getmydefaultadministratorrights"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.get_my_default_administrator_rights.GetMyDefaultAdministratorRights.for_channels:1
|
||||||
|
#: of
|
||||||
|
msgid ""
|
||||||
|
"Pass :code:`True` to get default administrator rights of the bot in "
|
||||||
|
"channels. Otherwise, default administrator rights of the bot for groups "
|
||||||
|
"and supergroups will be returned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_my_default_administrator_rights.rst:14
|
||||||
|
msgid "Usage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_my_default_administrator_rights.rst:17
|
||||||
|
msgid "As bot method"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_my_default_administrator_rights.rst:25
|
||||||
|
msgid "Method as object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_my_default_administrator_rights.rst:27
|
||||||
|
msgid "Imports:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_my_default_administrator_rights.rst:29
|
||||||
|
msgid ""
|
||||||
|
":code:`from aiogram.methods.get_my_default_administrator_rights import "
|
||||||
|
"GetMyDefaultAdministratorRights`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_my_default_administrator_rights.rst:30
|
||||||
|
msgid "alias: :code:`from aiogram.methods import GetMyDefaultAdministratorRights`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_my_default_administrator_rights.rst:33
|
||||||
|
msgid "With specific bot"
|
||||||
|
msgstr ""
|
||||||
68
docs/locale/en/LC_MESSAGES/api/methods/get_sticker_set.po
Normal file
68
docs/locale/en/LC_MESSAGES/api/methods/get_sticker_set.po
Normal file
|
|
@ -0,0 +1,68 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, aiogram Team
|
||||||
|
# This file is distributed under the same license as the aiogram package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: aiogram \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.10.3\n"
|
||||||
|
|
||||||
|
#: ../../api/methods/get_sticker_set.rst:3
|
||||||
|
msgid "getStickerSet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_sticker_set.rst:5
|
||||||
|
msgid "Returns: :obj:`StickerSet`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.get_sticker_set.GetStickerSet:1 of
|
||||||
|
msgid ""
|
||||||
|
"Use this method to get a sticker set. On success, a "
|
||||||
|
":class:`aiogram.types.sticker_set.StickerSet` object is returned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.get_sticker_set.GetStickerSet:3 of
|
||||||
|
msgid "Source: https://core.telegram.org/bots/api#getstickerset"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring aiogram.methods.get_sticker_set.GetStickerSet.name:1 of
|
||||||
|
msgid "Name of the sticker set"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_sticker_set.rst:14
|
||||||
|
msgid "Usage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_sticker_set.rst:17
|
||||||
|
msgid "As bot method"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_sticker_set.rst:25
|
||||||
|
msgid "Method as object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_sticker_set.rst:27
|
||||||
|
msgid "Imports:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_sticker_set.rst:29
|
||||||
|
msgid ":code:`from aiogram.methods.get_sticker_set import GetStickerSet`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_sticker_set.rst:30
|
||||||
|
msgid "alias: :code:`from aiogram.methods import GetStickerSet`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_sticker_set.rst:33
|
||||||
|
msgid "With specific bot"
|
||||||
|
msgstr ""
|
||||||
115
docs/locale/en/LC_MESSAGES/api/methods/get_updates.po
Normal file
115
docs/locale/en/LC_MESSAGES/api/methods/get_updates.po
Normal file
|
|
@ -0,0 +1,115 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, aiogram Team
|
||||||
|
# This file is distributed under the same license as the aiogram package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: aiogram \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.10.3\n"
|
||||||
|
|
||||||
|
#: ../../api/methods/get_updates.rst:3
|
||||||
|
msgid "getUpdates"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_updates.rst:5
|
||||||
|
msgid "Returns: :obj:`List[Update]`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.get_updates.GetUpdates:1 of
|
||||||
|
msgid ""
|
||||||
|
"Use this method to receive incoming updates using long polling (`wiki "
|
||||||
|
"<https://en.wikipedia.org/wiki/Push_technology#Long_polling>`_). Returns "
|
||||||
|
"an Array of :class:`aiogram.types.update.Update` objects."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.get_updates.GetUpdates:3 of
|
||||||
|
msgid "**Notes**"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.get_updates.GetUpdates:5 of
|
||||||
|
msgid "**1.** This method will not work if an outgoing webhook is set up."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.get_updates.GetUpdates:7 of
|
||||||
|
msgid ""
|
||||||
|
"**2.** In order to avoid getting duplicate updates, recalculate *offset* "
|
||||||
|
"after each server response."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.get_updates.GetUpdates:9 of
|
||||||
|
msgid "Source: https://core.telegram.org/bots/api#getupdates"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring aiogram.methods.get_updates.GetUpdates.offset:1 of
|
||||||
|
msgid ""
|
||||||
|
"Identifier of the first update to be returned. Must be greater by one "
|
||||||
|
"than the highest among the identifiers of previously received updates. By"
|
||||||
|
" default, updates starting with the earliest unconfirmed update are "
|
||||||
|
"returned. An update is considered confirmed as soon as "
|
||||||
|
":class:`aiogram.methods.get_updates.GetUpdates` is called with an "
|
||||||
|
"*offset* higher than its *update_id*. The negative offset can be "
|
||||||
|
"specified to retrieve updates starting from *-offset* update from the end"
|
||||||
|
" of the updates queue. All previous updates will forgotten."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring aiogram.methods.get_updates.GetUpdates.limit:1 of
|
||||||
|
msgid ""
|
||||||
|
"Limits the number of updates to be retrieved. Values between 1-100 are "
|
||||||
|
"accepted. Defaults to 100."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring aiogram.methods.get_updates.GetUpdates.timeout:1 of
|
||||||
|
msgid ""
|
||||||
|
"Timeout in seconds for long polling. Defaults to 0, i.e. usual short "
|
||||||
|
"polling. Should be positive, short polling should be used for testing "
|
||||||
|
"purposes only."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring aiogram.methods.get_updates.GetUpdates.allowed_updates:1 of
|
||||||
|
msgid ""
|
||||||
|
"A JSON-serialized list of the update types you want your bot to receive. "
|
||||||
|
"For example, specify ['message', 'edited_channel_post', 'callback_query']"
|
||||||
|
" to only receive updates of these types. See "
|
||||||
|
":class:`aiogram.types.update.Update` for a complete list of available "
|
||||||
|
"update types. Specify an empty list to receive all update types except "
|
||||||
|
"*chat_member* (default). If not specified, the previous setting will be "
|
||||||
|
"used."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_updates.rst:14
|
||||||
|
msgid "Usage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_updates.rst:17
|
||||||
|
msgid "As bot method"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_updates.rst:25
|
||||||
|
msgid "Method as object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_updates.rst:27
|
||||||
|
msgid "Imports:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_updates.rst:29
|
||||||
|
msgid ":code:`from aiogram.methods.get_updates import GetUpdates`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_updates.rst:30
|
||||||
|
msgid "alias: :code:`from aiogram.methods import GetUpdates`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_updates.rst:33
|
||||||
|
msgid "With specific bot"
|
||||||
|
msgstr ""
|
||||||
|
|
@ -0,0 +1,85 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, aiogram Team
|
||||||
|
# This file is distributed under the same license as the aiogram package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: aiogram \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.10.3\n"
|
||||||
|
|
||||||
|
#: ../../api/methods/get_user_profile_photos.rst:3
|
||||||
|
msgid "getUserProfilePhotos"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_user_profile_photos.rst:5
|
||||||
|
msgid "Returns: :obj:`UserProfilePhotos`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.get_user_profile_photos.GetUserProfilePhotos:1 of
|
||||||
|
msgid ""
|
||||||
|
"Use this method to get a list of profile pictures for a user. Returns a "
|
||||||
|
":class:`aiogram.types.user_profile_photos.UserProfilePhotos` object."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.get_user_profile_photos.GetUserProfilePhotos:3 of
|
||||||
|
msgid "Source: https://core.telegram.org/bots/api#getuserprofilephotos"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.get_user_profile_photos.GetUserProfilePhotos.user_id:1 of
|
||||||
|
msgid "Unique identifier of the target user"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.get_user_profile_photos.GetUserProfilePhotos.offset:1 of
|
||||||
|
msgid ""
|
||||||
|
"Sequential number of the first photo to be returned. By default, all "
|
||||||
|
"photos are returned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.get_user_profile_photos.GetUserProfilePhotos.limit:1 of
|
||||||
|
msgid ""
|
||||||
|
"Limits the number of photos to be retrieved. Values between 1-100 are "
|
||||||
|
"accepted. Defaults to 100."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_user_profile_photos.rst:14
|
||||||
|
msgid "Usage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_user_profile_photos.rst:17
|
||||||
|
msgid "As bot method"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_user_profile_photos.rst:25
|
||||||
|
msgid "Method as object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_user_profile_photos.rst:27
|
||||||
|
msgid "Imports:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_user_profile_photos.rst:29
|
||||||
|
msgid ""
|
||||||
|
":code:`from aiogram.methods.get_user_profile_photos import "
|
||||||
|
"GetUserProfilePhotos`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_user_profile_photos.rst:30
|
||||||
|
msgid "alias: :code:`from aiogram.methods import GetUserProfilePhotos`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_user_profile_photos.rst:33
|
||||||
|
msgid "With specific bot"
|
||||||
|
msgstr ""
|
||||||
67
docs/locale/en/LC_MESSAGES/api/methods/get_webhook_info.po
Normal file
67
docs/locale/en/LC_MESSAGES/api/methods/get_webhook_info.po
Normal file
|
|
@ -0,0 +1,67 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, aiogram Team
|
||||||
|
# This file is distributed under the same license as the aiogram package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: aiogram \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.10.3\n"
|
||||||
|
|
||||||
|
#: ../../api/methods/get_webhook_info.rst:3
|
||||||
|
msgid "getWebhookInfo"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_webhook_info.rst:5
|
||||||
|
msgid "Returns: :obj:`WebhookInfo`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.get_webhook_info.GetWebhookInfo:1 of
|
||||||
|
msgid ""
|
||||||
|
"Use this method to get current webhook status. Requires no parameters. On"
|
||||||
|
" success, returns a :class:`aiogram.types.webhook_info.WebhookInfo` "
|
||||||
|
"object. If the bot is using "
|
||||||
|
":class:`aiogram.methods.get_updates.GetUpdates`, will return an object "
|
||||||
|
"with the *url* field empty."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.get_webhook_info.GetWebhookInfo:3 of
|
||||||
|
msgid "Source: https://core.telegram.org/bots/api#getwebhookinfo"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_webhook_info.rst:14
|
||||||
|
msgid "Usage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_webhook_info.rst:17
|
||||||
|
msgid "As bot method"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_webhook_info.rst:25
|
||||||
|
msgid "Method as object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_webhook_info.rst:27
|
||||||
|
msgid "Imports:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_webhook_info.rst:29
|
||||||
|
msgid ":code:`from aiogram.methods.get_webhook_info import GetWebhookInfo`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_webhook_info.rst:30
|
||||||
|
msgid "alias: :code:`from aiogram.methods import GetWebhookInfo`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/get_webhook_info.rst:33
|
||||||
|
msgid "With specific bot"
|
||||||
|
msgstr ""
|
||||||
58
docs/locale/en/LC_MESSAGES/api/methods/index.po
Normal file
58
docs/locale/en/LC_MESSAGES/api/methods/index.po
Normal file
|
|
@ -0,0 +1,58 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, aiogram Team
|
||||||
|
# This file is distributed under the same license as the aiogram package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: aiogram \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.10.3\n"
|
||||||
|
|
||||||
|
#: ../../api/methods/index.rst:3
|
||||||
|
msgid "Methods"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/index.rst:5
|
||||||
|
msgid "Here is list of all available API methods:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/index.rst:10
|
||||||
|
msgid "Getting updates"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/index.rst:22
|
||||||
|
msgid "Available methods"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/index.rst:91
|
||||||
|
msgid "Updating messages"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/index.rst:104
|
||||||
|
msgid "Stickers"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/index.rst:120
|
||||||
|
msgid "Inline mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/index.rst:129
|
||||||
|
msgid "Payments"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/index.rst:140
|
||||||
|
msgid "Telegram Passport"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/index.rst:148
|
||||||
|
msgid "Games"
|
||||||
|
msgstr ""
|
||||||
100
docs/locale/en/LC_MESSAGES/api/methods/kick_chat_member.po
Normal file
100
docs/locale/en/LC_MESSAGES/api/methods/kick_chat_member.po
Normal file
|
|
@ -0,0 +1,100 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, aiogram Team
|
||||||
|
# This file is distributed under the same license as the aiogram package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: aiogram \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.10.3\n"
|
||||||
|
|
||||||
|
#: ../../api/methods/kick_chat_member.rst:3
|
||||||
|
msgid "kickChatMember"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/kick_chat_member.rst:5
|
||||||
|
msgid "Returns: :obj:`bool`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.kick_chat_member.KickChatMember:5 of
|
||||||
|
msgid ""
|
||||||
|
"Use this method to ban a user in a group, a supergroup or a channel. In "
|
||||||
|
"the case of supergroups and channels, the user will not be able to return"
|
||||||
|
" to the chat on their own using invite links, etc., unless `unbanned "
|
||||||
|
"<https://core.telegram.org/bots/api#unbanchatmember>`_ first. The bot "
|
||||||
|
"must be an administrator in the chat for this to work and must have the "
|
||||||
|
"appropriate administrator rights. Returns :code:`True` on success."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.kick_chat_member.KickChatMember:7 of
|
||||||
|
msgid "Source: https://core.telegram.org/bots/api#banchatmember"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring aiogram.methods.kick_chat_member.KickChatMember.chat_id:1 of
|
||||||
|
msgid ""
|
||||||
|
"Unique identifier for the target group or username of the target "
|
||||||
|
"supergroup or channel (in the format :code:`@channelusername`)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring aiogram.methods.kick_chat_member.KickChatMember.user_id:1 of
|
||||||
|
msgid "Unique identifier of the target user"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring aiogram.methods.kick_chat_member.KickChatMember.until_date:1
|
||||||
|
#: of
|
||||||
|
msgid ""
|
||||||
|
"Date when the user will be unbanned, unix time. If user is banned for "
|
||||||
|
"more than 366 days or less than 30 seconds from the current time they are"
|
||||||
|
" considered to be banned forever. Applied for supergroups and channels "
|
||||||
|
"only."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring
|
||||||
|
#: aiogram.methods.kick_chat_member.KickChatMember.revoke_messages:1 of
|
||||||
|
msgid ""
|
||||||
|
"Pass :code:`True` to delete all messages from the chat for the user that "
|
||||||
|
"is being removed. If :code:`False`, the user will be able to see messages"
|
||||||
|
" in the group that were sent before the user was removed. Always "
|
||||||
|
":code:`True` for supergroups and channels."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/kick_chat_member.rst:14
|
||||||
|
msgid "Usage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/kick_chat_member.rst:17
|
||||||
|
msgid "As bot method"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/kick_chat_member.rst:25
|
||||||
|
msgid "Method as object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/kick_chat_member.rst:27
|
||||||
|
msgid "Imports:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/kick_chat_member.rst:29
|
||||||
|
msgid ":code:`from aiogram.methods.kick_chat_member import KickChatMember`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/kick_chat_member.rst:30
|
||||||
|
msgid "alias: :code:`from aiogram.methods import KickChatMember`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/kick_chat_member.rst:33
|
||||||
|
msgid "With specific bot"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/kick_chat_member.rst:40
|
||||||
|
msgid "As reply into Webhook in handler"
|
||||||
|
msgstr ""
|
||||||
74
docs/locale/en/LC_MESSAGES/api/methods/leave_chat.po
Normal file
74
docs/locale/en/LC_MESSAGES/api/methods/leave_chat.po
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, aiogram Team
|
||||||
|
# This file is distributed under the same license as the aiogram package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: aiogram \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.10.3\n"
|
||||||
|
|
||||||
|
#: ../../api/methods/leave_chat.rst:3
|
||||||
|
msgid "leaveChat"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/leave_chat.rst:5
|
||||||
|
msgid "Returns: :obj:`bool`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.leave_chat.LeaveChat:1 of
|
||||||
|
msgid ""
|
||||||
|
"Use this method for your bot to leave a group, supergroup or channel. "
|
||||||
|
"Returns :code:`True` on success."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: aiogram.methods.leave_chat.LeaveChat:3 of
|
||||||
|
msgid "Source: https://core.telegram.org/bots/api#leavechat"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring aiogram.methods.leave_chat.LeaveChat.chat_id:1 of
|
||||||
|
msgid ""
|
||||||
|
"Unique identifier for the target chat or username of the target "
|
||||||
|
"supergroup or channel (in the format :code:`@channelusername`)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/leave_chat.rst:14
|
||||||
|
msgid "Usage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/leave_chat.rst:17
|
||||||
|
msgid "As bot method"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/leave_chat.rst:25
|
||||||
|
msgid "Method as object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/leave_chat.rst:27
|
||||||
|
msgid "Imports:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/leave_chat.rst:29
|
||||||
|
msgid ":code:`from aiogram.methods.leave_chat import LeaveChat`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/leave_chat.rst:30
|
||||||
|
msgid "alias: :code:`from aiogram.methods import LeaveChat`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/leave_chat.rst:33
|
||||||
|
msgid "With specific bot"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api/methods/leave_chat.rst:40
|
||||||
|
msgid "As reply into Webhook in handler"
|
||||||
|
msgstr ""
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue