Add missing shortcuts, new enums, reworked old stuff (#1070)

* Render shortcuts

* Render docs

* Added enumerations

* Added docs

* Use enums, removed Helper

* Bump butcher

* Added InputMediaType enum

* Added MaskPositionPoint, InlineQueryResultType enums

* Update texts

* Added StickerType enum

* Cover tests

* Update docs

* Fixed imports

* Re-enabled all pre-commit hooks
This commit is contained in:
Alex Root Junior 2022-12-04 03:05:49 +02:00 committed by GitHub
parent 3438d2446d
commit 3ea73fbbbd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
370 changed files with 19735 additions and 8380 deletions

View file

@ -0,0 +1,16 @@
name: BotCommandScopeType
description: |
This object represents the scope to which bot commands are applied.
Source: https://core.telegram.org/bots/api#botcommandscope
multi_parse:
attribute: type
regexp: "must be ([a-z_]+)"
entities:
- BotCommandScopeDefault
- BotCommandScopeAllPrivateChats
- BotCommandScopeAllGroupChats
- BotCommandScopeAllChatAdministrators
- BotCommandScopeChat
- BotCommandScopeChatAdministrators
- BotCommandScopeChatMember

View file

@ -0,0 +1,22 @@
name: ChatAction
description: |
This object represents bot actions.
Choose one, depending on what the user is about to receive:
- typing for text messages,
- upload_photo for photos,
- record_video or upload_video for videos,
- record_voice or upload_voice for voice notes,
- upload_document for general files,
- choose_sticker for stickers,
- find_location for location data,
- record_video_note or upload_video_note for video notes.
Source: https://core.telegram.org/bots/api#sendchataction
parse:
format: rst
entity: sendChatAction
category: methods
attribute: action
regexp: '\*([a-z_]+)\*'

View file

@ -0,0 +1,15 @@
name: ChatMemberStatus
description: |
This object represents chat member status.
Source: https://core.telegram.org/bots/api#chatmember
multi_parse:
attribute: status
regexp: "'([a-z_]+)'"
entities:
- ChatMemberOwner
- ChatMemberAdministrator
- ChatMemberMember
- ChatMemberRestricted
- ChatMemberLeft
- ChatMemberBanned

View file

@ -0,0 +1,11 @@
name: ChatType
description: |
This object represents a chat type
Source: https://core.telegram.org/bots/api#chat
parse:
entity: Chat
attribute: type
regexp: "'([a-z]+)'"
static:
SENDER: sender

View file

@ -1,5 +1,6 @@
name: ContentType
description: "Message content type"
description:
This object represents a type of content in message
static:
UNKNOWN: unknown
ANY: any

View file

@ -1,5 +1,8 @@
name: DiceEmoji
description: "Emoji on which the dice throw animation is based"
description: |
Emoji on which the dice throw animation is based
Source: https://core.telegram.org/bots/api#dice
static:
DICE: 🎲
DART: 🎯

View file

@ -0,0 +1,29 @@
name: InlineQueryResultType
description: |
The part of the face relative to which the mask should be placed.
Source: https://core.telegram.org/bots/api#maskposition
multi_parse:
attribute: type
regexp: "must be ([a-z_]+)"
entities:
- InlineQueryResultCachedAudio
- InlineQueryResultCachedDocument
- InlineQueryResultCachedGif
- InlineQueryResultCachedMpeg4Gif
- InlineQueryResultCachedPhoto
- InlineQueryResultCachedSticker
- InlineQueryResultCachedVideo
- InlineQueryResultCachedVoice
- InlineQueryResultArticle
- InlineQueryResultAudio
- InlineQueryResultContact
- InlineQueryResultGame
- InlineQueryResultDocument
- InlineQueryResultGif
- InlineQueryResultLocation
- InlineQueryResultMpeg4Gif
- InlineQueryResultPhoto
- InlineQueryResultVenue
- InlineQueryResultVideo
- InlineQueryResultVoice

View file

@ -0,0 +1,14 @@
name: InputMediaType
description: |
This object represents input media type
Source: https://core.telegram.org/bots/api#inputmedia
multi_parse:
attribute: type
regexp: 'must be ([a-z_]+)'
entities:
- InputMediaAnimation
- InputMediaAudio
- InputMediaDocument
- InputMediaPhoto
- InputMediaVideo

View file

@ -0,0 +1,9 @@
name: MaskPositionPoint
description: |
The part of the face relative to which the mask should be placed.
Source: https://core.telegram.org/bots/api#maskposition
parse:
entity: MaskPosition
attribute: point
regexp: "'([a-z_]+)'"

View file

@ -0,0 +1,13 @@
name: MenuButtonType
description: |
This object represents an type of Menu button
Source: https://core.telegram.org/bots/api#menubuttondefault
multi_parse:
format: rst
attribute: type
regexp: '\*([a-z_]+)\*'
entities:
- MenuButtonDefault
- MenuButtonCommands
- MenuButtonWebApp

View file

@ -0,0 +1,10 @@
name: MessageEntityType
description: |
This object represents type of message entity
Source: https://core.telegram.org/bots/api#messageentity
parse:
entity: MessageEntity
category: types
attribute: type
regexp: "'([a-z_]+)'"

View file

@ -0,0 +1,9 @@
name: ParseMode
description: |
Formatting options
Source: https://core.telegram.org/bots/api#formatting-options
static:
MARKDOWN_V2: MarkdownV2
MARKDOWN: Markdown
HTML: HTML

View file

@ -0,0 +1,9 @@
name: PollType
description: |
This object represents poll type
Source: https://core.telegram.org/bots/api#poll
parse:
entity: Poll
attribute: type
regexp: "'([a-z]+)'"

View file

@ -0,0 +1,9 @@
name: StickerType
description: |
The part of the face relative to which the mask should be placed.
Source: https://core.telegram.org/bots/api#maskposition
parse:
entity: Sticker
attribute: type
regexp: "'([a-z_]+)'"

View file

@ -0,0 +1,9 @@
name: UpdateType
description: |
This object represents the complete list of allowed update types
Source: https://core.telegram.org/bots/api#update
extract:
entity: Update
exclude:
- update_id

View file

@ -1,6 +0,0 @@
name: ChatType
description: "Type of chat"
parse:
entity: Chat
attribute: type
regexp: "'([a-z]+)'"

View file

@ -1,6 +0,0 @@
name: UpdateType
description: Known update types
extract:
entity: Update
exclude:
- update_id

View file

@ -1,5 +1,5 @@
#####
Types
Enums
#####
Here is list of all available enums:

View file

@ -47,7 +47,7 @@ As reply into Webhook in handler
{% if aliased %}
As shortcut from received object
-------------------
--------------------------------
{% for alias in aliased %}
- :meth:`aiogram.types.{{ alias.type|pythonize_name }}.{{ alias.type|pythonize_class_name }}.{{ alias.name }}`
{%- endfor %}

View file

@ -0,0 +1,4 @@
answer:
method: answerCallbackQuery
fill:
callback_query_id: self.id

View file

@ -1,108 +1,108 @@
#ban_sender_chat:
# method: banChatSenderChat
# fill: &self
# chat_id: self.id
#
#unban_sender_chat:
# method: unbanChatSenderChat
# fill: *self
#
#get_administrators:
# method: getChatAdministrators
# fill: *self
#
#delete_message:
# method: deleteMessage
# fill: *self
#
#revoke_invite_link:
# method: revokeChatInviteLink
# fill: *self
#
#edit_invite_link:
# method: editChatInviteLink
# fill: *self
#
#create_invite_link:
# method: createChatInviteLink
# fill: *self
#
#export_invite_link:
# method: exportChatInviteLink
# fill: *self
#
#do:
# method: sendChatAction
# fill: *self
#
#delete_sticker_set:
# method: deleteChatStickerSet
# fill: *self
#
#set_sticker_set:
# method: setChatStickerSet
# fill: *self
#
#get_member:
# method: getChatMember
# fill: *self
#
#get_member_count:
# method: getChatMemberCount
# fill: *self
#
#leave:
# method: leaveChat
# fill: *self
#
#unpin_all_messages:
# method: unpinAllChatMessages
# fill: *self
#
#unpin_message:
# method: unpinChatMessage
# fill: *self
#
#pin_message:
# method: pinChatMessage
# fill: *self
#
#set_administrator_custom_title:
# method: setChatAdministratorCustomTitle
# fill: *self
#
#set_permissions:
# method: setChatPermissions
# fill: *self
#
#promote:
# method: promoteChatMember
# fill: *self
#
#restrict:
# method: restrictChatMember
# fill: *self
#
#unban:
# method: unbanChatMember
# fill: *self
#
#ban:
# method: banChatMember
# fill: *self
#
#set_description:
# method: setChatDescription
# fill: *self
#
#set_title:
# method: setChatTitle
# fill: *self
#
#delete_photo:
# method: deleteChatPhoto
# fill: *self
#
#set_photo:
# method: setChatPhoto
# fill: *self
ban_sender_chat:
method: banChatSenderChat
fill: &self
chat_id: self.id
unban_sender_chat:
method: unbanChatSenderChat
fill: *self
get_administrators:
method: getChatAdministrators
fill: *self
delete_message:
method: deleteMessage
fill: *self
revoke_invite_link:
method: revokeChatInviteLink
fill: *self
edit_invite_link:
method: editChatInviteLink
fill: *self
create_invite_link:
method: createChatInviteLink
fill: *self
export_invite_link:
method: exportChatInviteLink
fill: *self
do:
method: sendChatAction
fill: *self
delete_sticker_set:
method: deleteChatStickerSet
fill: *self
set_sticker_set:
method: setChatStickerSet
fill: *self
get_member:
method: getChatMember
fill: *self
get_member_count:
method: getChatMemberCount
fill: *self
leave:
method: leaveChat
fill: *self
unpin_all_messages:
method: unpinAllChatMessages
fill: *self
unpin_message:
method: unpinChatMessage
fill: *self
pin_message:
method: pinChatMessage
fill: *self
set_administrator_custom_title:
method: setChatAdministratorCustomTitle
fill: *self
set_permissions:
method: setChatPermissions
fill: *self
promote:
method: promoteChatMember
fill: *self
restrict:
method: restrictChatMember
fill: *self
unban:
method: unbanChatMember
fill: *self
ban:
method: banChatMember
fill: *self
set_description:
method: setChatDescription
fill: *self
set_title:
method: setChatTitle
fill: *self
delete_photo:
method: deleteChatPhoto
fill: *self
set_photo:
method: setChatPhoto
fill: *self

View file

@ -0,0 +1,8 @@
approve:
method: approveChatJoinRequest
fill: &request-target
chat_id: self.chat.id
user_id: self.from_user.id
decline:
method: declineChatJoinRequest
fill: *request-target

View file

@ -0,0 +1,2 @@
bases:
- _ErrorEvent

View file

@ -0,0 +1,4 @@
answer:
method: answerInlineQuery
fill:
inline_query_id: self.id

View file

@ -1,139 +1,189 @@
#answer:
# method: sendMessage
# fill: &fill-answer
# chat_id: self.chat.id
# message_thread_id: self.message_thread_id if self.is_topic_message else None
#
#reply:
# method: sendMessage
# fill: &fill-reply
# <<: *fill-answer
# reply_to_message_id: self.message_id
#
#answer_animation:
# method: sendAnimation
# fill: *fill-answer
#
#reply_animation:
# method: sendAnimation
# fill: *fill-reply
#
#answer_audio:
# method: sendAudio
# fill: *fill-answer
#
#reply_audio:
# method: sendAudio
# fill: *fill-reply
#
#answer_contact:
# method: sendContact
# fill: *fill-answer
#
#reply_contact:
# method: sendContact
# fill: *fill-reply
#
#answer_document:
# method: sendDocument
# fill: *fill-answer
#
#reply_document:
# method: sendDocument
# fill: *fill-reply
#
#answer_game:
# method: sendGame
# fill: *fill-answer
#
#reply_game:
# method: sendGame
# fill: *fill-reply
#
#answer_invoice:
# method: sendInvoice
# fill: *fill-answer
#
#reply_invoice:
# method: sendInvoice
# fill: *fill-reply
#
#answer_location:
# method: sendLocation
# fill: *fill-answer
#
#reply_location:
# method: sendLocation
# fill: *fill-reply
#
#answer_media_group:
# method: sendMediaGroup
# fill: *fill-answer
#
#reply_media_group:
# method: sendMediaGroup
# fill: *fill-reply
#
#answer_photo:
# method: sendPhoto
# fill: *fill-answer
#
#reply_photo:
# method: sendPhoto
# fill: *fill-reply
#
#answer_poll:
# method: sendPoll
# fill: *fill-answer
#
#reply_poll:
# method: sendPoll
# fill: *fill-reply
#
#answer_dice:
# method: sendDice
# fill: *fill-answer
#
#reply_dice:
# method: sendDice
# fill: *fill-reply
#
#answer_sticker:
# method: sendSticker
# fill: *fill-answer
#
#reply_sticker:
# method: sendSticker
# fill: *fill-reply
#
#answer_venue:
# method: sendVenue
# fill: *fill-answer
#
#reply_venue:
# method: sendVenue
# fill: *fill-reply
#
#answer_video:
# method: sendVideo
# fill: *fill-answer
#
#reply_video:
# method: sendVideo
# fill: *fill-reply
#
#answer_video_note:
# method: sendVideoNote
# fill: *fill-answer
#
#reply_video_note:
# method: sendVideoNote
# fill: *fill-reply
#
#answer_voice:
# method: sendVoice
# fill: *fill-answer
#
#reply_voice:
# method: sendVoice
# fill: *fill-reply
answer:
method: sendMessage
fill: &fill-answer
chat_id: self.chat.id
message_thread_id: self.message_thread_id if self.is_topic_message else None
reply:
method: sendMessage
fill: &fill-reply
<<: *fill-answer
reply_to_message_id: self.message_id
answer_animation:
method: sendAnimation
fill: *fill-answer
reply_animation:
method: sendAnimation
fill: *fill-reply
answer_audio:
method: sendAudio
fill: *fill-answer
reply_audio:
method: sendAudio
fill: *fill-reply
answer_contact:
method: sendContact
fill: *fill-answer
reply_contact:
method: sendContact
fill: *fill-reply
answer_document:
method: sendDocument
fill: *fill-answer
reply_document:
method: sendDocument
fill: *fill-reply
answer_game:
method: sendGame
fill: *fill-answer
reply_game:
method: sendGame
fill: *fill-reply
answer_invoice:
method: sendInvoice
fill: *fill-answer
reply_invoice:
method: sendInvoice
fill: *fill-reply
answer_location:
method: sendLocation
fill: *fill-answer
reply_location:
method: sendLocation
fill: *fill-reply
answer_media_group:
method: sendMediaGroup
fill: *fill-answer
reply_media_group:
method: sendMediaGroup
fill: *fill-reply
answer_photo:
method: sendPhoto
fill: *fill-answer
reply_photo:
method: sendPhoto
fill: *fill-reply
answer_poll:
method: sendPoll
fill: *fill-answer
reply_poll:
method: sendPoll
fill: *fill-reply
answer_dice:
method: sendDice
fill: *fill-answer
reply_dice:
method: sendDice
fill: *fill-reply
answer_sticker:
method: sendSticker
fill: *fill-answer
reply_sticker:
method: sendSticker
fill: *fill-reply
answer_venue:
method: sendVenue
fill: *fill-answer
reply_venue:
method: sendVenue
fill: *fill-reply
answer_video:
method: sendVideo
fill: *fill-answer
reply_video:
method: sendVideo
fill: *fill-reply
answer_video_note:
method: sendVideoNote
fill: *fill-answer
reply_video_note:
method: sendVideoNote
fill: *fill-reply
answer_voice:
method: sendVoice
fill: *fill-answer
reply_voice:
method: sendVoice
fill: *fill-reply
copy_to:
method: copyMessage
fill:
from_chat_id: self.chat.id
message_id: self.message_id
edit_text:
method: editMessageText
fill: &message-target
chat_id: self.chat.id
message_id: self.message_id
forward:
method: forwardMessage
fill:
from_chat_id: self.chat.id
message_id: self.message_id
edit_media:
method: editMessageMedia
fill: *message-target
edit_reply_markup:
method: editMessageReplyMarkup
fill: *message-target
edit_live_location:
method: editMessageLiveLocation
fill: *message-target
stop_live_location:
method: stopMessageLiveLocation
fill: *message-target
edit_caption:
method: editMessageCaption
fill: *message-target
delete:
method: deleteMessage
fill: *message-target
pin:
method: pinChatMessage
fill: *message-target
unpin:
method: unpinChatMessage
fill: *message-target

View file

@ -0,0 +1,8 @@
set_position_in_set:
method: setStickerPositionInSet
fill: &set-target
sticker: self.file_id
delete_from_set:
method: deleteStickerFromSet
fill: *set-target

View file

@ -0,0 +1,4 @@
get_profile_photos:
method: getUserProfilePhotos
fill:
user_id: self.id