async Task <bool> IUpdateService.AddBatchStickersToSetAsync(List <Telegram.Bot.Types.File> files, int userId, string name, string pngSticker, int emoji) { try { for (int i = 0; i < files.Count; i++) { var emojiString = char.ConvertFromUtf32(emoji + i); await _botService.AddStickerToSetAsync( userId : userId, name : name, pngSticker : files[i].FileId, emojis : emojiString ); } return(true); } catch (Exception ex) { _logger.LogError($"AddBatchStickersToSetAsync():[Error:{ex}]"); } return(false); }
private static async void AddSticker(int userId, string pngFilename, string emoji, int messageId) { try { InputOnlineFile newSticker = new InputOnlineFile(new FileStream(Path.Combine(Path.GetTempPath(), pngFilename), FileMode.Open)); // Create new sticker set if (UserMapping[userId] == null) { UserMapping[userId] = "sohranenki_" + DateTime.Now.Ticks.ToString().Substring(8, 7) + "_by_" + BotName; Db.NewUser(userId, UserMapping[userId]); try { await Bot.CreateNewStickerSetAsync(userId, UserMapping[userId], "Сохраненки", newSticker, emoji); } catch (Exception ex) { Console.WriteLine(ex.Message + "\n" + ex.StackTrace); Db.NewMsg(Db.MsgTypes.ERROR, ex.Message, userId, ex.StackTrace); return; } await Bot.SendTextMessageAsync( chatId : userId, text : $"\u2705 Стикер успешно сохранен в [вот сюда](t.me/addstickers/{UserMapping[userId]})\\. Не забудь сохранить этот стикерпак\\.", parseMode : ParseMode.MarkdownV2 ); } // Add to existing sticker set else { try { await Bot.AddStickerToSetAsync(userId, UserMapping[userId], newSticker, emoji); } catch (Exception ex) { Console.WriteLine(ex.Message + "\n" + ex.StackTrace); Db.NewMsg(Db.MsgTypes.ERROR, ex.Message, userId, ex.StackTrace); await Bot.SendTextMessageAsync(userId, "\u274c Task failed successfully. Попробуй еще раз.", ParseMode.Default, false, false, messageId); return; } await Bot.SendTextMessageAsync(userId, "\u2705 Стикер сохранен", ParseMode.Default, false, false, messageId); } } catch (Exception ex) { Console.WriteLine(ex.Message + "\n" + ex.StackTrace); Db.NewMsg(Db.MsgTypes.ERROR, ex.Message, userId, ex.StackTrace); await Bot.SendTextMessageAsync(userId, "\u274c Task failed successfully. Попробуй еще раз.", ParseMode.Default, false, false, messageId); } }