mirror of
https://github.com/aiogram/aiogram.git
synced 2025-12-11 18:01:04 +00:00
Fix docs and examples (#864)
* Update magic_data Allowed handlers * Fix ChatMemberUpdated example * Fix examples with `.in_(...)` and delete with `@` * Fix commands in examples * Change List to Set
This commit is contained in:
parent
b50500e28d
commit
a37bbba38c
7 changed files with 22 additions and 14 deletions
|
|
@ -86,10 +86,10 @@ Handle user leave or join events
|
|||
|
||||
from aiogram.dispatcher.filters import IS_MEMBER, IS_NOT_MEMBER
|
||||
|
||||
@router.chat_member(chat_member_updated=IS_MEMBER >> IS_NOT_MEMBER)
|
||||
@router.chat_member(member_status_changed=IS_MEMBER >> IS_NOT_MEMBER)
|
||||
async def on_user_leave(event: ChatMemberUpdated): ...
|
||||
|
||||
@router.chat_member(chat_member_updated=IS_NOT_MEMBER >> IS_MEMBER)
|
||||
@router.chat_member(member_status_changed=IS_NOT_MEMBER >> IS_MEMBER)
|
||||
async def on_user_join(event: ChatMemberUpdated): ...
|
||||
|
||||
Or construct your own terms via using pre-defined set of statuses and transitions.
|
||||
|
|
|
|||
|
|
@ -31,4 +31,13 @@ Allowed update types for this filter:
|
|||
- :code:`channel_post`
|
||||
- :code:`edited_channel_post`
|
||||
- :code:`inline_query`
|
||||
- :code:`chosen_inline_result`
|
||||
- :code:`callback_query`
|
||||
- :code:`shipping_query`
|
||||
- :code:`pre_checkout_query`
|
||||
- :code:`poll`
|
||||
- :code:`poll_answer`
|
||||
- :code:`my_chat_member`
|
||||
- :code:`chat_member`
|
||||
- :code:`chat_join_request`
|
||||
- :code:`error`
|
||||
|
|
|
|||
|
|
@ -61,9 +61,8 @@ Can be used as method named :code:`in_` or as matmul operator :code:`@` with any
|
|||
|
||||
.. code-block:: python
|
||||
|
||||
F.from_user.id.in_(42, 1000, 123123) # lambda query: query.from_user.id in {42, 1000, 123123}
|
||||
F.data.in_('foo', 'bar', 'baz') # lambda query: query.data in {'foo', 'bar', 'baz'}
|
||||
F.text @ {'foo', 'bar'} # lambda message: message.text in {'foo', 'bar'}
|
||||
F.from_user.id.in_({42, 1000, 123123}) # lambda query: query.from_user.id in {42, 1000, 123123}
|
||||
F.data.in_({'foo', 'bar', 'baz'}) # lambda query: query.data in {'foo', 'bar', 'baz'}
|
||||
|
||||
Contains
|
||||
--------
|
||||
|
|
@ -117,7 +116,7 @@ All operations can be combined via bitwise and/or operators - :code:`&`/:code:`|
|
|||
|
||||
(F.from_user.id == 42) & (F.text == 'admin')
|
||||
F.text.startswith('a') | F.text.endswith('b')
|
||||
(F.from_user.id @ {42, 777, 911}) & (F.text.startswith('!') | F.text.startswith('/')) & F.text.contains('ban')
|
||||
(F.from_user.id.in_({42, 777, 911})) & (F.text.startswith('!') | F.text.startswith('/')) & F.text.contains('ban')
|
||||
|
||||
|
||||
Attribute modifiers - string manipulations
|
||||
|
|
@ -130,7 +129,7 @@ Can be used only with string attributes.
|
|||
.. code-block:: python
|
||||
|
||||
F.text.lower() == 'test' # lambda message: message.text.lower() == 'test'
|
||||
F.text.upper().in_('FOO', 'BAR') # lambda message: message.text.upper() in {'FOO', 'BAR'}
|
||||
F.text.upper().in_({'FOO', 'BAR'}) # lambda message: message.text.upper() in {'FOO', 'BAR'}
|
||||
F.text.len() == 5 # lambda message: len(message.text) == 5
|
||||
|
||||
|
||||
|
|
@ -157,7 +156,7 @@ Usage in *aiogram*
|
|||
@router.message(F.text == 'hello')
|
||||
@router.inline_query(F.data == 'button:1')
|
||||
@router.message(F.text.startswith('foo'))
|
||||
@router.message(F.content_type.in_('text', 'sticker'))
|
||||
@router.message(F.content_type.in_({'text', 'sticker'}))
|
||||
@router.message(F.text.regexp(r'\d+'))
|
||||
|
||||
...
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue