Skip to content

Commit 5962a30

Browse files
committed
Add video stickers support
1 parent 8aae508 commit 5962a30

File tree

6 files changed

+55
-5
lines changed

6 files changed

+55
-5
lines changed

library/src/main/java/com/pengrad/telegrambot/model/Sticker.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ public class Sticker implements Serializable {
1414
private Integer width;
1515
private Integer height;
1616
private Boolean is_animated;
17+
private Boolean is_video;
1718
private PhotoSize thumb;
1819
private String emoji;
1920
private String set_name;
@@ -40,6 +41,10 @@ public Boolean isAnimated() {
4041
return is_animated;
4142
}
4243

44+
public Boolean isVideo() {
45+
return is_video;
46+
}
47+
4348
public PhotoSize thumb() {
4449
return thumb;
4550
}

library/src/main/java/com/pengrad/telegrambot/model/StickerSet.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ public class StickerSet implements Serializable {
1313
private String name;
1414
private String title;
1515
private Boolean is_animated;
16+
private Boolean is_video;
1617
private Boolean contains_masks;
1718
private Sticker[] stickers;
1819
private PhotoSize thumb;
@@ -41,6 +42,10 @@ public PhotoSize thumb() {
4142
return thumb;
4243
}
4344

45+
public Boolean isVideo() {
46+
return is_video;
47+
}
48+
4449
@Override
4550
public boolean equals(Object o) {
4651
if (this == o) return true;

library/src/main/java/com/pengrad/telegrambot/request/AddStickerToSet.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,18 @@ public static AddStickerToSet tgsSticker(Long userId, String name, String emojis
1313
return new AddStickerToSet(userId, name, emojis, "tgs_sticker", tgsSticker);
1414
}
1515

16+
public static AddStickerToSet pngSticker(Long userId, String name, String emojis, Object pngSticker) {
17+
return new AddStickerToSet(userId, name, emojis, "png_sticker", pngSticker);
18+
}
19+
20+
public static AddStickerToSet webmSticker(Long userId, String name, String emojis, Object webmSticker) {
21+
return new AddStickerToSet(userId, name, emojis, "webm_sticker", webmSticker);
22+
}
23+
24+
/**
25+
* @deprecated Use static methods according to sticker set type - {@link #pngSticker(Long, String, String, Object) for png}, {@link #tgsSticker(Long, String, String, Object) for tgs} and {@link #webmSticker(Long, String, String, Object) for webm}
26+
*/
27+
@Deprecated
1628
public AddStickerToSet(Long userId, String name, Object pngSticker, String emojis) {
1729
this(userId, name, emojis, "png_sticker", pngSticker);
1830
}

library/src/main/java/com/pengrad/telegrambot/request/CreateNewStickerSet.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,18 @@ public static CreateNewStickerSet tgsSticker(Long userId, String name, String ti
1313
return new CreateNewStickerSet(userId, name, title, emojis, "tgs_sticker", tgsSticker);
1414
}
1515

16+
public static CreateNewStickerSet pngSticker(Long userId, String name, String title, String emojis, Object pngSticker) {
17+
return new CreateNewStickerSet(userId, name, title, emojis, "png_sticker", pngSticker);
18+
}
19+
20+
public static CreateNewStickerSet webmSticker(Long userId, String name, String title, String emojis, Object webmSticker) {
21+
return new CreateNewStickerSet(userId, name, title, emojis, "webm_sticker", webmSticker);
22+
}
23+
24+
/**
25+
* @deprecated Use static methods according to sticker set type - {@link #pngSticker(Long, String, String, String, Object) for png}, {@link #tgsSticker(Long, String, String, String, Object) for tgs} and {@link #webmSticker(Long, String, String, String, Object) for webm}
26+
*/
27+
@Deprecated
1628
public CreateNewStickerSet(Long userId, String name, String title, Object pngSticker, String emojis) {
1729
this(userId, name, title, emojis, "png_sticker", pngSticker);
1830
}

library/src/test/java/com/pengrad/telegrambot/TelegramBotTest.java

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,7 @@ public static TelegramBot createTestBot() {
168168
static byte[] imageBytes;
169169
static File stickerFile = resourcePath.resolve("imageSticker.png").toFile();
170170
static File stickerFileAnim = resourcePath.resolve("sticker_anim.tgs").toFile();
171+
static File stickerFileVid = resourcePath.resolve("sticker_vid.webm").toFile();
171172
static File audioFile = resourcePath.resolve("beep.mp3").toFile();
172173
static byte[] audioBytes;
173174
static File docFile = resourcePath.resolve("doc.txt").toFile();
@@ -1317,19 +1318,34 @@ public void uploadStickerFile() throws IOException {
13171318
}
13181319

13191320
@Test
1320-
public void createNewStickerSet() {
1321+
public void createNewPngStickerSet() {
13211322
BaseResponse response = bot.execute(
1322-
new CreateNewStickerSet(chatId, "test" + System.currentTimeMillis() + "_by_pengrad_test_bot",
1323-
"test1", stickerFile, "\uD83D\uDE00")
1323+
CreateNewStickerSet.pngSticker(chatId, "test" + System.currentTimeMillis() + "_by_pengrad_test_bot",
1324+
"test1", "\uD83D\uDE00", stickerFile)
13241325
.containsMasks(true)
13251326
.maskPosition(new MaskPosition(MaskPosition.Point.forehead, 0f, 0f, 1f)));
13261327
assertTrue(response.isOk());
13271328
}
13281329

1330+
@Test
1331+
public void createNewWebmStickerSetAndAddSticker() {
1332+
String setName = "test" + System.currentTimeMillis() + "_by_pengrad_test_bot";
1333+
BaseResponse response = bot.execute(
1334+
CreateNewStickerSet.webmSticker(chatId, setName,
1335+
"test1", "\uD83D\uDE00", stickerFileVid)
1336+
.containsMasks(true)
1337+
.maskPosition(new MaskPosition(MaskPosition.Point.forehead, 0f, 0f, 1f)));
1338+
assertTrue(response.isOk());
1339+
1340+
response = bot.execute(
1341+
AddStickerToSet.webmSticker(chatId, setName, "\uD83D\uDE15", stickerFileVid));
1342+
assertTrue(response.isOk());
1343+
}
1344+
13291345
@Test
13301346
public void addStickerToSet() {
13311347
BaseResponse response = bot.execute(
1332-
new AddStickerToSet(chatId, stickerSet, "BQADAgADuAAD7yupS4eB23UmZhGuAg", "\uD83D\uDE15")
1348+
AddStickerToSet.pngSticker(chatId, stickerSet, "\uD83D\uDE15", "BQADAgADuAAD7yupS4eB23UmZhGuAg")
13331349
.maskPosition(new MaskPosition("eyes", 0f, 0f, 1f)));
13341350
assertTrue(response.isOk());
13351351
}
@@ -1357,7 +1373,7 @@ public void setStickerPositionInSet() {
13571373

13581374
@Test
13591375
public void deleteStickerFromSet() {
1360-
BaseResponse response = bot.execute(new AddStickerToSet(chatId, stickerSet, stickerFile, "\uD83D\uDE15"));
1376+
BaseResponse response = bot.execute(AddStickerToSet.pngSticker(chatId, stickerSet, "\uD83D\uDE15", stickerFile));
13611377
assertTrue(response.isOk());
13621378

13631379
GetStickerSetResponse setResponse = bot.execute(new GetStickerSet(stickerSet));
223 KB
Binary file not shown.

0 commit comments

Comments
 (0)