added missing thumb params and more

This commit is contained in:
rf0x1d 2020-08-21 11:09:43 +03:00
parent 83df269730
commit 8b50dc488b
3 changed files with 36 additions and 17 deletions

View File

@ -1,13 +1,18 @@
#!/usr/bin/env python
from setuptools import setup
from io import open
import re
def read(filename):
with open(filename, encoding='utf-8') as file:
return file.read()
with open('telebot/version.py', 'r', encoding='utf-8') as f: # Credits: LonamiWebs
version = re.search(r"^__version__\s*=\s*'(.*)'.*$",
f.read(), flags=re.MULTILINE).group(1)
setup(name='pyTelegramBotAPI',
version='3.7.2',
version=version,
description='Python Telegram bot api. ',
long_description=read('README.md'),
long_description_content_type="text/markdown",

View File

@ -743,8 +743,8 @@ class TeleBot:
apihelper.send_voice(self.token, chat_id, voice, caption, duration, reply_to_message_id, reply_markup,
parse_mode, disable_notification, timeout))
def send_document(self, chat_id, data, reply_to_message_id=None, caption=None, reply_markup=None,
parse_mode=None, disable_notification=None, timeout=None):
def send_document(self, chat_id, data,reply_to_message_id=None, caption=None, reply_markup=None,
parse_mode=None, disable_notification=None, timeout=None, thumb=None):
"""
Use this method to send general files.
:param chat_id:
@ -755,13 +755,14 @@ class TeleBot:
:param parse_mode:
:param disable_notification:
:param timeout:
:param thumb: InputFile or String : Thumbnail of the file sent
:return: API reply.
"""
parse_mode = self.parse_mode if not parse_mode else parse_mode
return types.Message.de_json(
return types.Message.de_json(
apihelper.send_data(self.token, chat_id, data, 'document', reply_to_message_id, reply_markup,
parse_mode, disable_notification, timeout, caption=caption))
parse_mode, disable_notification, timeout, caption, thumb))
def send_sticker(
self, chat_id, data, reply_to_message_id=None, reply_markup=None,
@ -795,7 +796,9 @@ class TeleBot:
:param reply_markup:
:param disable_notification:
:param timeout:
:param thumb:
:param thumb: InputFile or String : Thumbnail of the file sent
:param width:
:param height:
:return:
"""
parse_mode = self.parse_mode if not parse_mode else parse_mode
@ -804,8 +807,10 @@ class TeleBot:
apihelper.send_video(self.token, chat_id, data, duration, caption, reply_to_message_id, reply_markup,
parse_mode, supports_streaming, disable_notification, timeout, thumb, width, height))
def send_animation(self, chat_id, animation, duration=None, caption=None, reply_to_message_id=None, reply_markup=None,
parse_mode=None, disable_notification=None, timeout=None):
def send_animation(self, chat_id, animation, duration=None,
caption=None, reply_to_message_id=None,
reply_markup=None, parse_mode=None,
disable_notification=None, timeout=None, thumb=None):
"""
Use this method to send animation files (GIF or H.264/MPEG-4 AVC video without sound).
:param chat_id: Integer : Unique identifier for the message recipient User or GroupChat id
@ -817,18 +822,20 @@ class TeleBot:
:param reply_markup:
:param disable_notification:
:param timeout:
:param thumb: InputFile or String : Thumbnail of the file sent
:return:
"""
parse_mode = self.parse_mode if not parse_mode else parse_mode
return types.Message.de_json(
apihelper.send_animation(self.token, chat_id, animation, duration, caption, reply_to_message_id, reply_markup,
parse_mode, disable_notification, timeout))
parse_mode, disable_notification, timeout, thumb))
def send_video_note(self, chat_id, data, duration=None, length=None, reply_to_message_id=None, reply_markup=None,
disable_notification=None, timeout=None):
def send_video_note(self, chat_id, data, duration=None, length=None,
reply_to_message_id=None, reply_markup=None,
disable_notification=None, timeout=None, thumb=None):
"""
Use this method to send video files, Telegram clients support mp4 videos.
As of v.4.0, Telegram clients support rounded square mp4 videos of up to 1 minute long. Use this method to send video messages.
:param chat_id: Integer : Unique identifier for the message recipient User or GroupChat id
:param data: InputFile or String : Video note to send. You can either pass a file_id as String to resend a video that is already on the Telegram server
:param duration: Integer : Duration of sent video in seconds
@ -837,11 +844,12 @@ class TeleBot:
:param reply_markup:
:param disable_notification:
:param timeout:
:param thumb: InputFile or String : Thumbnail of the file sent
:return:
"""
return types.Message.de_json(
apihelper.send_video_note(self.token, chat_id, data, duration, length, reply_to_message_id, reply_markup,
disable_notification, timeout))
disable_notification, timeout, thumb))
def send_media_group(
self, chat_id, media,

View File

@ -509,7 +509,7 @@ def send_video(token, chat_id, data, duration=None, caption=None, reply_to_messa
def send_animation(token, chat_id, data, duration=None, caption=None, reply_to_message_id=None, reply_markup=None,
parse_mode=None, disable_notification=None, timeout=None):
parse_mode=None, disable_notification=None, timeout=None, thumb=None):
method_url = r'sendAnimation'
payload = {'chat_id': chat_id}
files = None
@ -531,6 +531,8 @@ def send_animation(token, chat_id, data, duration=None, caption=None, reply_to_m
payload['disable_notification'] = disable_notification
if timeout:
payload['connect-timeout'] = timeout
if thumb:
payload['thumb'] = thumb
return _make_request(token, method_url, params=payload, files=files, method='post')
@ -561,7 +563,7 @@ def send_voice(token, chat_id, voice, caption=None, duration=None, reply_to_mess
def send_video_note(token, chat_id, data, duration=None, length=None, reply_to_message_id=None, reply_markup=None,
disable_notification=None, timeout=None):
disable_notification=None, timeout=None, thumb=None):
method_url = r'sendVideoNote'
payload = {'chat_id': chat_id}
files = None
@ -571,7 +573,7 @@ def send_video_note(token, chat_id, data, duration=None, length=None, reply_to_m
payload['video_note'] = data
if duration:
payload['duration'] = duration
if length:
if length and (str(length).isdigit() and int(length) <= 639):
payload['length'] = length
else:
payload['length'] = 639 # seems like it is MAX length size
@ -583,6 +585,8 @@ def send_video_note(token, chat_id, data, duration=None, length=None, reply_to_m
payload['disable_notification'] = disable_notification
if timeout:
payload['connect-timeout'] = timeout
if thumb:
payload['thumb'] = thumb
return _make_request(token, method_url, params=payload, files=files, method='post')
@ -622,7 +626,7 @@ def send_audio(token, chat_id, audio, caption=None, duration=None, performer=Non
def send_data(token, chat_id, data, data_type, reply_to_message_id=None, reply_markup=None, parse_mode=None,
disable_notification=None, timeout=None, caption=None):
disable_notification=None, timeout=None, caption=None, thumb=None):
method_url = get_method_by_type(data_type)
payload = {'chat_id': chat_id}
files = None
@ -642,6 +646,8 @@ def send_data(token, chat_id, data, data_type, reply_to_message_id=None, reply_m
payload['connect-timeout'] = timeout
if caption:
payload['caption'] = caption
if thumb:
payload['thumb'] = thumb
return _make_request(token, method_url, params=payload, files=files, method='post')