public void SetStickersAsync(TLInputChannelBase channel, TLInputStickerSetBase stickerset, Action <TLBool> callback, Action <TLRPCError> faultCallback = null) { var obj = new TLSetStickers { Channel = channel, StickerSet = stickerset }; SendInformativeMessage <TLBool>("channels.setStickers", obj, callback.SafeInvoke, faultCallback); }
public void SetStickersAsync(TLInputChannelBase inputChannel, TLInputStickerSetBase stickerset, Action <bool> callback, Action <TLRPCError> faultCallback = null) { var obj = new TLChannelsSetStickers { Channel = inputChannel, StickerSet = stickerset }; const string caption = "channels.setStickers"; SendInformativeMessage(caption, obj, callback, faultCallback); }
public IAsyncOperation <ContentDialogBaseResult> ShowAsync(TLInputStickerSetBase parameter, ItemClickEventHandler callback) { ViewModel.IsLoading = true; ViewModel.StickerSet = new TLStickerSet(); ViewModel.Items.Clear(); RoutedEventHandler handler = null; handler = new RoutedEventHandler(async(s, args) => { Loaded -= handler; ItemClick = callback; await ViewModel.OnNavigatedToAsync(parameter, NavigationMode.New, null); }); Loaded += handler; return(ShowAsync()); }
public static void NavigateToStickers(IMTProtoService mtProtoService, IStateService stateService, TLInputStickerSetBase inputStickerSet) { #if WP8 if (mtProtoService != null) { Execute.BeginOnUIThread(() => { var frame = Application.Current.RootVisual as TelegramTransitionFrame; if (frame != null) { frame.OpenBlockingProgress(); } stateService.GetAllStickersAsync(cachedStickers => { mtProtoService.GetStickerSetAsync(inputStickerSet, stickerSet => Execute.BeginOnUIThread(() => { if (frame != null) { frame.CloseBlockingProgress(); } var emoticons = new Dictionary <long, string>(); for (var i = 0; i < stickerSet.Packs.Count; i++) { var emoticon = stickerSet.Packs[i].Emoticon.ToString(); foreach (var document in stickerSet.Packs[i].Documents) { emoticons[document.Value] = emoticon; } } stickerSet.Set.Stickers = new TLVector <TLObject>(); for (var i = 0; i < stickerSet.Documents.Count; i++) { var document22 = stickerSet.Documents[i] as TLDocument22; if (document22 != null) { string emoticon; if (emoticons.TryGetValue(document22.Id.Value, out emoticon)) { document22.Emoticon = emoticon; } stickerSet.Set.Stickers.Add(new TLStickerItem { Document = document22 }); } } var isCancelVisible = true; var allStickers29 = cachedStickers as TLAllStickers29; if (allStickers29 != null) { isCancelVisible = allStickers29.Sets.FirstOrDefault(x => x.Id.Value == stickerSet.Set.Id.Value) == null; } ShowMessagePrompt(isCancelVisible, stickerSet.Set, prompt => { if (prompt == PopUpResult.Ok && isCancelVisible) { mtProtoService.InstallStickerSetAsync(inputStickerSet, result => Execute.BeginOnUIThread(() => { var instance = EmojiControl.GetInstance(); instance.AddStickerSet(stickerSet); mtProtoService.SetMessageOnTime(2.0, AppResources.NewStickersAdded); }), error => Execute.BeginOnUIThread(() => { if (error.CodeEquals(ErrorCode.BAD_REQUEST)) { if (error.TypeEquals(ErrorType.STICKERSET_INVALID)) { MessageBox.Show(AppResources.StickersNotFound, AppResources.Error, MessageBoxButton.OK); } else { Execute.ShowDebugMessage("messages.importChatInvite error " + error); } } else { Execute.ShowDebugMessage("messages.importChatInvite error " + error); } })); } }); }), error => Execute.BeginOnUIThread(() => { if (frame != null) { frame.CloseBlockingProgress(); } if (error.CodeEquals(ErrorCode.BAD_REQUEST)) { if (error.TypeEquals(ErrorType.STICKERSET_INVALID)) { MessageBox.Show(AppResources.StickersNotFound, AppResources.Error, MessageBoxButton.OK); } else { Execute.ShowDebugMessage("messages.getStickerSet error " + error); } } else { Execute.ShowDebugMessage("messages.getStickerSet error " + error); } })); }); }); } #endif }
public IAsyncOperation <ContentDialogBaseResult> ShowAsync(TLInputStickerSetBase parameter) { return(ShowAsync(parameter, null)); }