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): method_url = get_method_by_type(data_type) payload = {'chat_id': chat_id} files = None if not util.is_string(data): files = {data_type: data} else: payload[data_type] = data if reply_to_message_id: payload['reply_to_message_id'] = reply_to_message_id if reply_markup: payload['reply_markup'] = _convert_markup(reply_markup) if parse_mode and data_type == 'document': payload['parse_mode'] = parse_mode if disable_notification: payload['disable_notification'] = disable_notification if timeout: payload['connect-timeout'] = timeout if caption: payload['caption'] = caption return _make_request(token, method_url, params=payload, files=files, method='post')
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): method_url = r'sendVideoNote' payload = {'chat_id': chat_id} files = None if not util.is_string(data): files = {'video_note': data} else: payload['video_note'] = data if duration: payload['duration'] = duration if length: payload['length'] = length else: payload['length'] = 639 # seems like it is MAX length size if reply_to_message_id: payload['reply_to_message_id'] = reply_to_message_id if reply_markup: payload['reply_markup'] = _convert_markup(reply_markup) if disable_notification: payload['disable_notification'] = disable_notification if timeout: payload['connect-timeout'] = timeout return _make_request(token, method_url, params=payload, files=files, method='post')
def send_photo(token, chat_id, photo, caption=None, reply_to_message_id=None, reply_markup=None, parse_mode=None, disable_notification=None): method_url = r'sendPhoto' payload = {'chat_id': chat_id} files = None if not util.is_string(photo): files = {'photo': photo} else: payload['photo'] = photo if caption: payload['caption'] = caption if reply_to_message_id: payload['reply_to_message_id'] = reply_to_message_id if reply_markup: payload['reply_markup'] = _convert_markup(reply_markup) if parse_mode: payload['parse_mode'] = parse_mode if disable_notification: payload['disable_notification'] = disable_notification return _make_request(token, method_url, params=payload, files=files, method='post')
def create_new_sticker_set(token, user_id, name, title, png_sticker, emojis, contains_masks=None, mask_position=None): method_url = 'createNewStickerSet' payload = { 'user_id': user_id, 'name': name, 'title': title, 'emojis': emojis } files = None if not util.is_string(png_sticker): files = {'png_sticker': png_sticker} else: payload['png_sticker'] = png_sticker if contains_masks: payload['contains_masks'] = contains_masks if mask_position: payload['mask_position'] = mask_position.to_json() return _make_request(token, method_url, params=payload, files=files, method='post')
def set_chat_photo(token, chat_id, photo): method_url = 'setChatPhoto' payload = {'chat_id': chat_id} files = None if not util.is_string(photo): files = {'photo': photo} else: payload['photo'] = photo return _make_request(token, method_url, params=payload, files=files, method='post')
def add_sticker_to_set(token, user_id, name, png_sticker, emojis, mask_position): method_url = 'addStickerToSet' payload = {'user_id': user_id, 'name': name, 'emojis': emojis} files = None if not util.is_string(png_sticker): files = {'png_sticker': png_sticker} else: payload['png_sticker'] = png_sticker if mask_position: payload['mask_position'] = mask_position.to_json() return _make_request(token, method_url, params=payload, files=files, method='post')
def send_audio(token, chat_id, audio, caption=None, duration=None, performer=None, title=None, reply_to_message_id=None, reply_markup=None, parse_mode=None, disable_notification=None, timeout=None): method_url = r'sendAudio' payload = {'chat_id': chat_id} files = None if not util.is_string(audio): files = {'audio': audio} else: payload['audio'] = audio if caption: payload['caption'] = caption if duration: payload['duration'] = duration if performer: payload['performer'] = performer if title: payload['title'] = title if reply_to_message_id: payload['reply_to_message_id'] = reply_to_message_id if reply_markup: payload['reply_markup'] = _convert_markup(reply_markup) if parse_mode: payload['parse_mode'] = parse_mode if disable_notification: payload['disable_notification'] = disable_notification if timeout: payload['connect-timeout'] = timeout return _make_request(token, method_url, params=payload, files=files, method='post')
def send_video(token, chat_id, data, duration=None, caption=None, reply_to_message_id=None, reply_markup=None, parse_mode=None, supports_streaming=None, disable_notification=None, timeout=None): method_url = r'sendVideo' payload = {'chat_id': chat_id} files = None if not util.is_string(data): files = {'video': data} else: payload['video'] = data if duration: payload['duration'] = duration if caption: payload['caption'] = caption if reply_to_message_id: payload['reply_to_message_id'] = reply_to_message_id if reply_markup: payload['reply_markup'] = _convert_markup(reply_markup) if parse_mode: payload['parse_mode'] = parse_mode if supports_streaming: payload['supports_streaming'] = supports_streaming if disable_notification: payload['disable_notification'] = disable_notification if timeout: payload['connect-timeout'] = timeout return _make_request(token, method_url, params=payload, files=files, method='post')
def send_voice(token, chat_id, voice, caption=None, duration=None, reply_to_message_id=None, reply_markup=None, parse_mode=None, disable_notification=None, timeout=None): method_url = r'sendVoice' payload = {'chat_id': chat_id} files = None if not util.is_string(voice): files = {'voice': voice} else: payload['voice'] = voice if caption: payload['caption'] = caption if duration: payload['duration'] = duration if reply_to_message_id: payload['reply_to_message_id'] = reply_to_message_id if reply_markup: payload['reply_markup'] = _convert_markup(reply_markup) if parse_mode: payload['parse_mode'] = parse_mode if disable_notification: payload['disable_notification'] = disable_notification if timeout: payload['connect-timeout'] = timeout return _make_request(token, method_url, params=payload, files=files, method='post')