-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #262 from rubenlagus/dev
Dev
- Loading branch information
Showing
30 changed files
with
1,788 additions
and
336 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
94 changes: 94 additions & 0 deletions
94
.../main/java/org/telegram/telegrambots/api/methods/groupadministration/DeleteChatPhoto.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,94 @@ | ||
package org.telegram.telegrambots.api.methods.groupadministration; | ||
|
||
import com.fasterxml.jackson.annotation.JsonProperty; | ||
import com.fasterxml.jackson.core.type.TypeReference; | ||
import org.telegram.telegrambots.api.methods.BotApiMethod; | ||
import org.telegram.telegrambots.api.objects.replykeyboard.ApiResponse; | ||
import org.telegram.telegrambots.exceptions.TelegramApiRequestException; | ||
import org.telegram.telegrambots.exceptions.TelegramApiValidationException; | ||
|
||
import java.io.IOException; | ||
import java.util.Objects; | ||
|
||
import static com.google.common.base.Preconditions.checkNotNull; | ||
|
||
/** | ||
* @author Ruben Bermudez | ||
* @version 1.0 | ||
* Use this method to delete a chat photo. Photos can't be changed for private chats. | ||
* The bot must be an administrator in the chat for this to work and must have the appropriate admin rights. | ||
* Returns True on success. | ||
* | ||
* @apiNote In regular groups (non-supergroups), this method will only work if the ‘All Members Are Admins’ setting is off in the target group. | ||
*/ | ||
public class DeleteChatPhoto extends BotApiMethod<Boolean> { | ||
public static final String PATH = "deleteChatPhoto"; | ||
|
||
private static final String CHATID_FIELD = "chat_id"; | ||
|
||
@JsonProperty(CHATID_FIELD) | ||
private String chatId; ///< Unique identifier for the target chat or username of the target channel (in the format @channelusername) | ||
|
||
public DeleteChatPhoto() { | ||
super(); | ||
} | ||
|
||
public DeleteChatPhoto(String chatId) { | ||
super(); | ||
this.chatId = checkNotNull(chatId); | ||
} | ||
|
||
public DeleteChatPhoto(Long chatId) { | ||
super(); | ||
this.chatId = checkNotNull(chatId).toString(); | ||
} | ||
|
||
public String getChatId() { | ||
return chatId; | ||
} | ||
|
||
public DeleteChatPhoto setChatId(String chatId) { | ||
this.chatId = chatId; | ||
return this; | ||
} | ||
|
||
public DeleteChatPhoto setChatId(Long chatId) { | ||
Objects.requireNonNull(chatId); | ||
this.chatId = chatId.toString(); | ||
return this; | ||
} | ||
|
||
@Override | ||
public String getMethod() { | ||
return PATH; | ||
} | ||
|
||
@Override | ||
public Boolean deserializeResponse(String answer) throws TelegramApiRequestException { | ||
try { | ||
ApiResponse<Boolean> result = OBJECT_MAPPER.readValue(answer, | ||
new TypeReference<ApiResponse<Boolean>>(){}); | ||
if (result.getOk()) { | ||
return result.getResult(); | ||
} else { | ||
throw new TelegramApiRequestException("Error deleting chat photo", result); | ||
} | ||
} catch (IOException e) { | ||
throw new TelegramApiRequestException("Unable to deserialize response", e); | ||
} | ||
} | ||
|
||
@Override | ||
public void validate() throws TelegramApiValidationException { | ||
if (chatId == null) { | ||
throw new TelegramApiValidationException("ChatId can't be null", this); | ||
} | ||
} | ||
|
||
@Override | ||
public String toString() { | ||
return "DeleteChatPhoto{" + | ||
"chatId='" + chatId + '\'' + | ||
'}'; | ||
} | ||
} |
91 changes: 91 additions & 0 deletions
91
.../java/org/telegram/telegrambots/api/methods/groupadministration/ExportChatInviteLink.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,91 @@ | ||
package org.telegram.telegrambots.api.methods.groupadministration; | ||
|
||
import com.fasterxml.jackson.annotation.JsonProperty; | ||
import com.fasterxml.jackson.core.type.TypeReference; | ||
import org.telegram.telegrambots.api.methods.BotApiMethod; | ||
import org.telegram.telegrambots.api.objects.replykeyboard.ApiResponse; | ||
import org.telegram.telegrambots.exceptions.TelegramApiRequestException; | ||
import org.telegram.telegrambots.exceptions.TelegramApiValidationException; | ||
|
||
import java.io.IOException; | ||
import java.util.Objects; | ||
|
||
import static com.google.common.base.Preconditions.checkNotNull; | ||
|
||
/** | ||
* @author Ruben Bermudez | ||
* @version 3.1 | ||
* Use this method to export an invite link to a supergroup or a channel. The bot must be an administrator in the | ||
* chat for this to work and must have the appropriate admin rights. Returns exported invite link as String on success. | ||
*/ | ||
public class ExportChatInviteLink extends BotApiMethod<String> { | ||
public static final String PATH = "exportChatInviteLink"; | ||
|
||
private static final String CHATID_FIELD = "chat_id"; | ||
|
||
@JsonProperty(CHATID_FIELD) | ||
private String chatId; ///< Unique identifier for the chat to send the message to (Or username for channels) | ||
|
||
public ExportChatInviteLink() { | ||
super(); | ||
} | ||
|
||
public ExportChatInviteLink(String chatId) { | ||
super(); | ||
this.chatId = checkNotNull(chatId); | ||
} | ||
|
||
public ExportChatInviteLink(Long chatId) { | ||
super(); | ||
this.chatId = checkNotNull(chatId).toString(); | ||
} | ||
|
||
public String getChatId() { | ||
return chatId; | ||
} | ||
|
||
public ExportChatInviteLink setChatId(String chatId) { | ||
this.chatId = chatId; | ||
return this; | ||
} | ||
|
||
public ExportChatInviteLink setChatId(Long chatId) { | ||
Objects.requireNonNull(chatId); | ||
this.chatId = chatId.toString(); | ||
return this; | ||
} | ||
|
||
@Override | ||
public String getMethod() { | ||
return PATH; | ||
} | ||
|
||
@Override | ||
public String deserializeResponse(String answer) throws TelegramApiRequestException { | ||
try { | ||
ApiResponse<String> result = OBJECT_MAPPER.readValue(answer, | ||
new TypeReference<ApiResponse<String>>(){}); | ||
if (result.getOk()) { | ||
return result.getResult(); | ||
} else { | ||
throw new TelegramApiRequestException("Error exporting invite link", result); | ||
} | ||
} catch (IOException e) { | ||
throw new TelegramApiRequestException("Unable to deserialize response", e); | ||
} | ||
} | ||
|
||
@Override | ||
public void validate() throws TelegramApiValidationException { | ||
if (chatId == null || chatId.isEmpty()) { | ||
throw new TelegramApiValidationException("ChatId can't be empty", this); | ||
} | ||
} | ||
|
||
@Override | ||
public String toString() { | ||
return "ExportChatInviteLink{" + | ||
"chatId='" + chatId + '\'' + | ||
'}'; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.