mirror of
https://github.com/LonamiWebs/Telethon.git
synced 2025-07-30 01:39:47 +03:00
Enhancement and fixes (#10)
This commit is contained in:
parent
c5f63c67cd
commit
34b044daf2
|
@ -829,7 +829,7 @@ class ChatMethods:
|
|||
invite_users: bool = None,
|
||||
pin_messages: bool = None,
|
||||
add_admins: bool = None,
|
||||
manage_call: bool = True,
|
||||
manage_call: bool = None,
|
||||
anonymous: bool = None,
|
||||
is_admin: bool = None,
|
||||
title: str = None) -> types.Updates:
|
||||
|
|
|
@ -962,7 +962,7 @@ class DownloadMethods:
|
|||
f = file
|
||||
|
||||
try:
|
||||
with aiohttp.ClientSession() as session:
|
||||
async with aiohttp.ClientSession() as session:
|
||||
# TODO Use progress_callback; get content length from response
|
||||
# https://github.com/telegramdesktop/tdesktop/blob/c7e773dd9aeba94e2be48c032edc9a78bb50234e/Telegram/SourceFiles/ui/images.cpp#L1318-L1319
|
||||
async with session.get(web.url) as response:
|
||||
|
|
|
@ -49,6 +49,7 @@ class Button:
|
|||
Returns `True` if the button belongs to an inline keyboard.
|
||||
"""
|
||||
return isinstance(button, (
|
||||
types.KeyboardButtonBuy,
|
||||
types.KeyboardButtonCallback,
|
||||
types.KeyboardButtonSwitchInline,
|
||||
types.KeyboardButtonUrl,
|
||||
|
@ -163,6 +164,18 @@ class Button:
|
|||
fwd_text=fwd_text
|
||||
)
|
||||
|
||||
@staticmethod
|
||||
def buy(text):
|
||||
"""
|
||||
Create a inline button to Buy a Product.
|
||||
It can be only used with Invoice.
|
||||
It should be the first button of the Invoice.
|
||||
On Not using this, Telegram will Automatically add button to it.
|
||||
Read More - https://core.telegram.org/api/payments
|
||||
"""
|
||||
return types.KeyboardButtonBuy(text)
|
||||
|
||||
|
||||
@classmethod
|
||||
def text(cls, text, *, resize=None, single_use=None, selective=None):
|
||||
"""
|
||||
|
|
|
@ -72,7 +72,7 @@ class InlineBuilder:
|
|||
|
||||
# noinspection PyIncorrectDocstring
|
||||
async def article(
|
||||
self, title, description=None,
|
||||
self, title, description=None, type="article",
|
||||
*, url=None, thumb=None, content=None,
|
||||
id=None, text=None, parse_mode=(), link_preview=True,
|
||||
geo=None, period=60, contact=None, game=False, buttons=None
|
||||
|
@ -98,6 +98,13 @@ class InlineBuilder:
|
|||
The content to be shown for this result.
|
||||
For now it has to be a :tl:`InputWebDocument` if present.
|
||||
|
||||
type (`str`, optional):
|
||||
type of the content to use. Defaults to `article`.
|
||||
|
||||
include_media (`bool`, optional):
|
||||
Whether the content used to display the result should be
|
||||
included in the message itself or not. Defaults to `False`.
|
||||
|
||||
Example:
|
||||
.. code-block:: python
|
||||
|
||||
|
@ -128,10 +135,11 @@ class InlineBuilder:
|
|||
# voice, document, location, venue, contact, game
|
||||
result = types.InputBotInlineResult(
|
||||
id=id or '',
|
||||
type='article',
|
||||
type=type,
|
||||
send_message=await self._message(
|
||||
text=text, parse_mode=parse_mode, link_preview=link_preview,
|
||||
geo=geo, period=period,
|
||||
media=include_media,
|
||||
contact=contact,
|
||||
game=game,
|
||||
buttons=buttons
|
||||
|
|
|
@ -129,3 +129,7 @@ class ParticipantPermissions:
|
|||
anonymous = property(**_admin_prop('anonymous', """
|
||||
Whether the administrator will remain anonymous when sending messages.
|
||||
"""))
|
||||
|
||||
manage_call = property(**_admin_prop('manage_call', """
|
||||
Whether the user will be able to manage group calls.
|
||||
"""))
|
||||
|
|
|
@ -90,6 +90,7 @@ CONNECTION_SYSTEM_EMPTY,400,Connection system empty
|
|||
CONNECTION_SYSTEM_LANG_CODE_EMPTY,400,The system language string was empty during connection
|
||||
CONTACT_ID_INVALID,400,The provided contact ID is invalid
|
||||
CONTACT_NAME_EMPTY,400,The provided contact name cannot be empty
|
||||
CURRENCY_TOTAL_AMOUNT_INVALID,400,
|
||||
DATA_INVALID,400,Encrypted data invalid
|
||||
DATA_JSON_INVALID,400,The provided JSON data is invalid
|
||||
DATE_EMPTY,400,Date empty
|
||||
|
@ -117,6 +118,7 @@ EXTERNAL_URL_INVALID,400,External URL invalid
|
|||
FIELD_NAME_EMPTY,400,The field with the name FIELD_NAME is missing
|
||||
FIELD_NAME_INVALID,400,The field with the name FIELD_NAME is invalid
|
||||
FILEREF_UPGRADE_NEEDED,406,The file reference needs to be refreshed before being used again
|
||||
FILE_CONTENT_TYPE_INVALID,400,
|
||||
FILE_ID_INVALID,400,"The provided file id is invalid. Make sure all parameters are present, have the correct type and are not empty (ID, access hash, file reference, thumb size ...)"
|
||||
FILE_MIGRATE_X,303,The file to be accessed is currently stored in DC {new_dc}
|
||||
FILE_PARTS_INVALID,400,The number of file parts is invalid
|
||||
|
@ -144,6 +146,7 @@ GIF_CONTENT_TYPE_INVALID,400,
|
|||
GIF_ID_INVALID,400,The provided GIF ID is invalid
|
||||
GRAPH_INVALID_RELOAD,400,
|
||||
GRAPH_OUTDATED_RELOAD,400,"Data can't be used for the channel statistics, graphs outdated"
|
||||
GROUPCALL_ALREADY_DISCARDED,400,
|
||||
GROUPCALL_FORBIDDEN,403,
|
||||
GROUPCALL_JOIN_MISSING,400,
|
||||
GROUPCALL_SSRC_DUPLICATE_MUCH,400,
|
||||
|
@ -388,4 +391,4 @@ WEBDOCUMENT_URL_INVALID,400,The given URL cannot be used
|
|||
WEBPAGE_CURL_FAILED,400,Failure while fetching the webpage with cURL
|
||||
WEBPAGE_MEDIA_EMPTY,400,Webpage media empty
|
||||
WORKER_BUSY_TOO_LONG_RETRY,500,Telegram workers are too busy to respond immediately
|
||||
YOU_BLOCKED_USER,400,You blocked this user
|
||||
YOU_BLOCKED_USER,400,You blocked this user
|
||||
|
|
|
|
@ -275,7 +275,7 @@ messages.sendEncrypted,user,CHAT_ID_INVALID DATA_INVALID ENCRYPTION_DECLINED MSG
|
|||
messages.sendEncryptedFile,user,MSG_WAIT_FAILED
|
||||
messages.sendEncryptedService,user,DATA_INVALID ENCRYPTION_DECLINED MSG_WAIT_FAILED USER_IS_BLOCKED
|
||||
messages.sendInlineBotResult,user,CHAT_SEND_INLINE_FORBIDDEN CHAT_WRITE_FORBIDDEN INLINE_RESULT_EXPIRED PEER_ID_INVALID QUERY_ID_EMPTY SCHEDULE_DATE_TOO_LATE SCHEDULE_TOO_MUCH WEBPAGE_CURL_FAILED WEBPAGE_MEDIA_EMPTY
|
||||
messages.sendMedia,both,BOT_PAYMENTS_DISABLED BOT_POLLS_DISABLED BROADCAST_PUBLIC_VOTERS_FORBIDDEN CHANNEL_INVALID CHANNEL_PRIVATE CHAT_ADMIN_REQUIRED CHAT_SEND_MEDIA_FORBIDDEN CHAT_WRITE_FORBIDDEN EMOTICON_INVALID EXTERNAL_URL_INVALID FILE_PARTS_INVALID FILE_PART_LENGTH_INVALID FILE_REFERENCE_EMPTY FILE_REFERENCE_EXPIRED GAME_BOT_INVALID INPUT_USER_DEACTIVATED MEDIA_CAPTION_TOO_LONG MEDIA_EMPTY PAYMENT_PROVIDER_INVALID PEER_ID_INVALID PHOTO_EXT_INVALID PHOTO_INVALID_DIMENSIONS PHOTO_SAVE_FILE_INVALID POLL_ANSWERS_INVALID POLL_OPTION_DUPLICATE POLL_QUESTION_INVALID QUIZ_CORRECT_ANSWERS_EMPTY QUIZ_CORRECT_ANSWERS_TOO_MUCH QUIZ_CORRECT_ANSWER_INVALID QUIZ_MULTIPLE_INVALID RANDOM_ID_DUPLICATE SCHEDULE_DATE_TOO_LATE SCHEDULE_TOO_MUCH STORAGE_CHECK_FAILED TIMEOUT USER_BANNED_IN_CHANNEL USER_IS_BLOCKED USER_IS_BOT VIDEO_CONTENT_TYPE_INVALID WEBPAGE_CURL_FAILED WEBPAGE_MEDIA_EMPTY
|
||||
messages.sendMedia,both,BOT_PAYMENTS_DISABLED BOT_POLLS_DISABLED BROADCAST_PUBLIC_VOTERS_FORBIDDEN CHANNEL_INVALID CHANNEL_PRIVATE CHAT_ADMIN_REQUIRED CHAT_SEND_MEDIA_FORBIDDEN CHAT_WRITE_FORBIDDEN CURRENCY_TOTAL_AMOUNT_INVALID EMOTICON_INVALID EXTERNAL_URL_INVALID FILE_PARTS_INVALID FILE_PART_LENGTH_INVALID FILE_REFERENCE_EMPTY FILE_REFERENCE_EXPIRED GAME_BOT_INVALID INPUT_USER_DEACTIVATED MEDIA_CAPTION_TOO_LONG MEDIA_EMPTY PAYMENT_PROVIDER_INVALID PEER_ID_INVALID PHOTO_EXT_INVALID PHOTO_INVALID_DIMENSIONS PHOTO_SAVE_FILE_INVALID POLL_ANSWERS_INVALID POLL_OPTION_DUPLICATE POLL_QUESTION_INVALID QUIZ_CORRECT_ANSWERS_EMPTY QUIZ_CORRECT_ANSWERS_TOO_MUCH QUIZ_CORRECT_ANSWER_INVALID QUIZ_MULTIPLE_INVALID RANDOM_ID_DUPLICATE SCHEDULE_DATE_TOO_LATE SCHEDULE_TOO_MUCH STORAGE_CHECK_FAILED TIMEOUT USER_BANNED_IN_CHANNEL USER_IS_BLOCKED USER_IS_BOT VIDEO_CONTENT_TYPE_INVALID WEBPAGE_CURL_FAILED WEBPAGE_MEDIA_EMPTY
|
||||
messages.sendMessage,both,AUTH_KEY_DUPLICATED BOT_DOMAIN_INVALID BUTTON_DATA_INVALID BUTTON_TYPE_INVALID BUTTON_URL_INVALID CHANNEL_INVALID CHANNEL_PRIVATE CHAT_ADMIN_REQUIRED CHAT_ID_INVALID CHAT_RESTRICTED CHAT_WRITE_FORBIDDEN ENTITIES_TOO_LONG ENTITY_MENTION_USER_INVALID INPUT_USER_DEACTIVATED MESSAGE_EMPTY MESSAGE_TOO_LONG MSG_ID_INVALID PEER_ID_INVALID POLL_OPTION_INVALID RANDOM_ID_DUPLICATE REPLY_MARKUP_INVALID REPLY_MARKUP_TOO_LONG SCHEDULE_BOT_NOT_ALLOWED SCHEDULE_DATE_TOO_LATE SCHEDULE_STATUS_PRIVATE SCHEDULE_TOO_MUCH TIMEOUT USER_BANNED_IN_CHANNEL USER_IS_BLOCKED USER_IS_BOT YOU_BLOCKED_USER
|
||||
messages.sendMultiMedia,both,MULTI_MEDIA_TOO_LONG SCHEDULE_DATE_TOO_LATE SCHEDULE_TOO_MUCH
|
||||
messages.sendScheduledMessages,user,
|
||||
|
@ -286,7 +286,7 @@ messages.setBotShippingResults,both,QUERY_ID_INVALID
|
|||
messages.setEncryptedTyping,user,CHAT_ID_INVALID
|
||||
messages.setGameScore,bot,PEER_ID_INVALID USER_BOT_REQUIRED
|
||||
messages.setHistoryTTL,user,CHAT_NOT_MODIFIED TTL_PERIOD_INVALID
|
||||
messages.setInlineBotResults,bot,ARTICLE_TITLE_EMPTY AUDIO_CONTENT_URL_EMPTY AUDIO_TITLE_EMPTY BUTTON_DATA_INVALID BUTTON_TYPE_INVALID BUTTON_URL_INVALID DOCUMENT_INVALID GIF_CONTENT_TYPE_INVALID MESSAGE_EMPTY NEXT_OFFSET_INVALID PHOTO_CONTENT_TYPE_INVALID PHOTO_CONTENT_URL_EMPTY PHOTO_THUMB_URL_EMPTY QUERY_ID_INVALID REPLY_MARKUP_INVALID RESULT_TYPE_INVALID SEND_MESSAGE_MEDIA_INVALID SEND_MESSAGE_TYPE_INVALID START_PARAM_INVALID STICKER_DOCUMENT_INVALID USER_BOT_INVALID VIDEO_TITLE_EMPTY WEBDOCUMENT_MIME_INVALID WEBDOCUMENT_URL_INVALID
|
||||
messages.setInlineBotResults,bot,ARTICLE_TITLE_EMPTY AUDIO_CONTENT_URL_EMPTY AUDIO_TITLE_EMPTY BUTTON_DATA_INVALID BUTTON_TYPE_INVALID BUTTON_URL_INVALID DOCUMENT_INVALID FILE_CONTENT_TYPE_INVALID GIF_CONTENT_TYPE_INVALID MESSAGE_EMPTY NEXT_OFFSET_INVALID PHOTO_CONTENT_TYPE_INVALID PHOTO_CONTENT_URL_EMPTY PHOTO_THUMB_URL_EMPTY QUERY_ID_INVALID REPLY_MARKUP_INVALID RESULT_TYPE_INVALID SEND_MESSAGE_MEDIA_INVALID SEND_MESSAGE_TYPE_INVALID START_PARAM_INVALID STICKER_DOCUMENT_INVALID USER_BOT_INVALID VIDEO_TITLE_EMPTY WEBDOCUMENT_MIME_INVALID WEBDOCUMENT_URL_INVALID
|
||||
messages.setInlineGameScore,bot,MESSAGE_ID_INVALID USER_BOT_REQUIRED
|
||||
messages.setTyping,both,CHANNEL_INVALID CHANNEL_PRIVATE CHAT_ID_INVALID CHAT_WRITE_FORBIDDEN PEER_ID_INVALID USER_BANNED_IN_CHANNEL USER_IS_BLOCKED USER_IS_BOT
|
||||
messages.startBot,user,BOT_INVALID PEER_ID_INVALID START_PARAM_EMPTY START_PARAM_INVALID
|
||||
|
@ -310,6 +310,7 @@ phone.acceptCall,user,CALL_ALREADY_ACCEPTED CALL_ALREADY_DECLINED CALL_OCCUPY_FA
|
|||
phone.confirmCall,user,CALL_ALREADY_DECLINED CALL_PEER_INVALID
|
||||
phone.createGroupCall,user,SCHEDULE_DATE_INVALID
|
||||
phone.discardCall,user,CALL_ALREADY_ACCEPTED CALL_PEER_INVALID
|
||||
phone.discardGroupCallRequest,user,GROUPCALL_ALREADY_DISCARDED
|
||||
phone.editGroupCallParticipant,user,USER_VOLUME_INVALID
|
||||
phone.getCallConfig,user,
|
||||
phone.inviteToGroupCall,user,GROUPCALL_FORBIDDEN
|
||||
|
@ -351,4 +352,4 @@ upload.saveBigFilePart,both,FILE_PARTS_INVALID FILE_PART_EMPTY FILE_PART_INVALID
|
|||
upload.saveFilePart,both,FILE_PART_EMPTY FILE_PART_INVALID INPUT_FETCH_FAIL SESSION_PASSWORD_NEEDED
|
||||
users.getFullUser,both,TIMEOUT USER_ID_INVALID
|
||||
users.getUsers,both,AUTH_KEY_PERM_EMPTY MEMBER_NO_LOCATION NEED_MEMBER_INVALID SESSION_PASSWORD_NEEDED TIMEOUT
|
||||
users.setSecureValueErrors,bot,
|
||||
users.setSecureValueErrors,bot,
|
||||
|
|
|
Loading…
Reference in New Issue
Block a user