@@ -17,14 +17,18 @@ import dev.inmo.tgbotapi.extensions.behaviour_builder.triggers_handling.onPollOp
1717import dev.inmo.tgbotapi.extensions.behaviour_builder.triggers_handling.onPollUpdates
1818import dev.inmo.tgbotapi.extensions.utils.accessibleMessageOrNull
1919import dev.inmo.tgbotapi.extensions.utils.chatContentMessageOrNull
20+ import dev.inmo.tgbotapi.extensions.utils.contentMessageOrNull
2021import dev.inmo.tgbotapi.extensions.utils.customEmojiTextSourceOrNull
2122import dev.inmo.tgbotapi.extensions.utils.extensions.parseCommandsWithArgsSources
23+ import dev.inmo.tgbotapi.extensions.utils.withContentOrNull
2224import dev.inmo.tgbotapi.types.BotCommand
2325import dev.inmo.tgbotapi.types.IdChatIdentifier
2426import dev.inmo.tgbotapi.types.PollId
2527import dev.inmo.tgbotapi.types.ReplyParameters
2628import dev.inmo.tgbotapi.types.media.TelegramMediaLocation
29+ import dev.inmo.tgbotapi.types.media.TelegramMediaSticker
2730import dev.inmo.tgbotapi.types.media.TelegramMediaVenue
31+ import dev.inmo.tgbotapi.types.message.content.StickerContent
2832import dev.inmo.tgbotapi.types.polls.InputPollOption
2933import dev.inmo.tgbotapi.types.polls.PollAnswer
3034import dev.inmo.tgbotapi.types.polls.QuizPoll
@@ -192,10 +196,11 @@ suspend fun main(vararg args: String) {
192196 // TelegramMediaVenue implements InputPollMedia and InputPollOptionMedia (InputMediaVenue)
193197 // Both can be used as poll question media or as option media
194198 onCommand(" media_poll" ) {
199+ val replySticker = it.replyTo ?.contentMessageOrNull() ?.withContentOrNull<StickerContent >() ?.content ?.media
195200 val sentPoll = sendRegularPoll(
196201 it.chat.id,
197202 buildEntities { regular(" Which venue would you visit?" ) },
198- listOf (
203+ listOfNotNull (
199204 // InputPollOptionMedia via TelegramMediaVenue (InputMediaVenue)
200205 InputPollOption (
201206 media = TelegramMediaVenue (
@@ -210,6 +215,11 @@ suspend fun main(vararg args: String) {
210215 media = TelegramMediaLocation (latitude = 51.5007 , longitude = - 0.1246 )
211216 ) { regular(" Big Ben" ) },
212217 InputPollOption { regular(" Neither" ) },
218+ replySticker ?.let {
219+ InputPollOption (media = TelegramMediaSticker (replySticker.fileId)) {
220+ regular(" Your sticker" )
221+ }
222+ }
213223 ),
214224 isAnonymous = false ,
215225 // InputMediaLocation as InputPollMedia — poll question media
@@ -259,7 +269,7 @@ suspend fun main(vararg args: String) {
259269 InputPollOption { regular(" Yes" ) },
260270 InputPollOption { regular(" No" ) },
261271 ),
262- isAnonymous = false ,
272+ isAnonymous = true ,
263273 membersOnly = true ,
264274 replyParameters = ReplyParameters (it)
265275 )
@@ -277,7 +287,7 @@ suspend fun main(vararg args: String) {
277287 InputPollOption { regular(" Option A" ) },
278288 InputPollOption { regular(" Option B" ) },
279289 ),
280- isAnonymous = false ,
290+ isAnonymous = true ,
281291 countryCodes = listOf (" US" , " DE" , " JP" ),
282292 replyParameters = ReplyParameters (it)
283293 )
@@ -372,6 +382,8 @@ suspend fun main(vararg args: String) {
372382 BotCommand (" single_option" , " Poll with 1 option (minimum is now 1, not 2)" ),
373383 )
374384
375- allUpdatesFlow.subscribeLoggingDropExceptions(scope = this ) { println (it) }
385+ allUpdatesFlow.subscribeLoggingDropExceptions(scope = this ) {
386+ println (it)
387+ }
376388 }.second.join()
377389}
0 commit comments