Ejemplo n.º 1
0
 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);
 }
Ejemplo n.º 2
0
        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);
            }
        }