Example #1
0
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')
Example #2
0
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')
Example #3
0
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')
Example #4
0
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')
Example #5
0
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')
Example #6
0
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')
Example #7
0
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')
Example #8
0
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')
Example #9
0
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')