{"_id":"5703e564bb69fc1700553d0f","user":"5631f962c3b04b0d00ba9bf1","version":{"_id":"5703d527bb69fc1700553ce3","hasDoc":true,"__v":6,"hasReference":true,"project":"5703d527bb69fc1700553ce0","createdAt":"2016-04-05T15:09:27.620Z","releaseDate":"2016-04-05T15:09:27.620Z","categories":["5703d527bb69fc1700553ce4","5703d8b7aceacc17003ef303","5703e60b6116142000db25f6","57e0db616a1c2e0e0081fe64","57e0f141ff540c22007b45fa","57e0f14b8929550e00f1d9bc"],"is_deprecated":false,"is_hidden":false,"is_beta":true,"is_stable":true,"codename":"","version_clean":"0.0.6","version":"0.0.6"},"__v":0,"category":{"_id":"5703d8b7aceacc17003ef303","version":"5703d527bb69fc1700553ce3","__v":0,"project":"5703d527bb69fc1700553ce0","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2016-04-05T15:24:39.108Z","from_sync":false,"order":1,"slug":"samples","title":"Samples"},"githubsync":"","project":"5703d527bb69fc1700553ce0","parentDoc":null,"updates":[],"next":{"pages":[],"description":""},"createdAt":"2016-04-05T16:18:44.240Z","link_external":false,"link_url":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":5,"body":"This snippet will get the most recent conversation and send a sticker in thie conversation.\nStill a lot of abstraction/classes because of the tl-schema :(\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"// This is a synchronous client, that will block until the response arrive (or until timeout)\\nTelegramClient client = Kotlogram.getDefaultClient(application, new ApiStorage());\\n\\n// You can start making requests\\ntry {\\n    TLAbsDialogs tlAbsDialogs = client.messagesGetDialogs(0, 0, new TLInputPeerEmpty(), 1);\\n    TLAbsInputPeer inputPeer = getInputPeer(tlAbsDialogs);\\n\\n    // Get the stickers available for emoji sunglass\\n    TLStickers tlStickers = (TLStickers) client.messagesGetStickers(\\\"\\\\uD83D\\\\uDE0E\\\", \\\"\\\");\\n    if (!tlStickers.getStickers().isEmpty()) {\\n        // Take first available one\\n        TLDocument tlDocument = tlStickers.getStickers().get(0).getAsDocument();\\n        TLInputDocument tlInputDocument = new TLInputDocument(tlDocument.getId(), tlDocument.getAccessHash());\\n\\n        TLAbsUpdates tlAbsUpdates = client.messagesSendMedia(false, false, false,\\n                                                             inputPeer, null, new TLInputMediaDocument(tlInputDocument, \\\"\\\"),\\n                                                             Math.abs(new Random().nextLong()), null);\\n        // tlAbsUpdates contains the id and date of the message in a TLUpdateShortSentMessage\\n    } else {\\n        System.err.println(\\\"No sticker found\\\");\\n    }\\n} catch (RpcErrorException | IOException e) {\\n    e.printStackTrace();\\n} finally {\\n    client.close(); // Important, do not forget this, or your process won't finish\\n}\",\n      \"language\": \"java\"\n    }\n  ]\n}\n[/block]\n\n[block:api-header]\n{\n  \"type\": \"fn\",\n  \"title\": \"messagesGetStickers\"\n}\n[/block]\nBy calling `messagesGetStickers` we get the list of stickers installed that are represented by the emoji :sunglasses: (\\uD83D\\uDE0E).\nThe second parameter `hash` is string that indicates the currently known stickers. I don't have any supplementary information about this, if you want more details, study the official clients and let me know if you find something :)\nPassing an empty string ensures that we'll get all the available stickers.","excerpt":"[See on github](https://github.com/badoualy/kotlogram/blob/master/sample/src/main/java/com/github/badoualy/telegram/sample/SampleSendSticker.java)","slug":"send-a-sticker","type":"basic","title":"Send a sticker"}

Send a sticker

[See on github](https://github.com/badoualy/kotlogram/blob/master/sample/src/main/java/com/github/badoualy/telegram/sample/SampleSendSticker.java)

This snippet will get the most recent conversation and send a sticker in thie conversation. Still a lot of abstraction/classes because of the tl-schema :( [block:code] { "codes": [ { "code": "// This is a synchronous client, that will block until the response arrive (or until timeout)\nTelegramClient client = Kotlogram.getDefaultClient(application, new ApiStorage());\n\n// You can start making requests\ntry {\n TLAbsDialogs tlAbsDialogs = client.messagesGetDialogs(0, 0, new TLInputPeerEmpty(), 1);\n TLAbsInputPeer inputPeer = getInputPeer(tlAbsDialogs);\n\n // Get the stickers available for emoji sunglass\n TLStickers tlStickers = (TLStickers) client.messagesGetStickers(\"\\uD83D\\uDE0E\", \"\");\n if (!tlStickers.getStickers().isEmpty()) {\n // Take first available one\n TLDocument tlDocument = tlStickers.getStickers().get(0).getAsDocument();\n TLInputDocument tlInputDocument = new TLInputDocument(tlDocument.getId(), tlDocument.getAccessHash());\n\n TLAbsUpdates tlAbsUpdates = client.messagesSendMedia(false, false, false,\n inputPeer, null, new TLInputMediaDocument(tlInputDocument, \"\"),\n Math.abs(new Random().nextLong()), null);\n // tlAbsUpdates contains the id and date of the message in a TLUpdateShortSentMessage\n } else {\n System.err.println(\"No sticker found\");\n }\n} catch (RpcErrorException | IOException e) {\n e.printStackTrace();\n} finally {\n client.close(); // Important, do not forget this, or your process won't finish\n}", "language": "java" } ] } [/block] [block:api-header] { "type": "fn", "title": "messagesGetStickers" } [/block] By calling `messagesGetStickers` we get the list of stickers installed that are represented by the emoji :sunglasses: (\uD83D\uDE0E). The second parameter `hash` is string that indicates the currently known stickers. I don't have any supplementary information about this, if you want more details, study the official clients and let me know if you find something :) Passing an empty string ensures that we'll get all the available stickers.