All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.antonioaltieri.telegram.botapi.requests.SendPhotoRequest Maven / Gradle / Ivy

package com.antonioaltieri.telegram.botapi.requests;

import com.antonioaltieri.telegram.botapi.types.Message;

import java.io.File;
import java.util.HashMap;
import java.util.Map;

public class SendPhotoRequest implements ApiRequest {

    private Map args = new HashMap<>();
    private RequestStrategy requestStrategy;

    public SendPhotoRequest(long chatId, File photo) {
        this(chatId, photo, null);
    }

    public SendPhotoRequest(long chatId, File photo, com.antonioaltieri.telegram.botapi.requests.OptionalArgs optionalArgs) {
        args.put("chat_id", String.valueOf(chatId));

        if (optionalArgs != null)
            args.putAll(optionalArgs.options());

        requestStrategy = new MultipartStrategy(photo, "photo");
    }

    public SendPhotoRequest(long chatId, String photo) {
        this(chatId, photo, null);
    }

    public SendPhotoRequest(long chatId, String photo, OptionalArgs optionalArgs) {
        args.put("chat_id", String.valueOf(chatId));
        args.put("photo", photo);

        if (optionalArgs != null)
            args.putAll(optionalArgs.options());

        requestStrategy = new PostStrategy();
    }

    @Override
    public String getMethodName() {
        return "sendPhoto";
    }

    @Override
    public ResultTypes getResultType() {
        return ResultTypes.MESSAGE;
    }

    @Override
    public Map getArgs() {
        return args;
    }

    @Override
    public RequestStrategy getRequestStrategy() {
        return requestStrategy;
    }

    @Override
    public String toString() {
        return "SendPhotoRequest{" +
                "args=" + args +
                ", requestStrategy=" + requestStrategy +
                '}';
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy