예제 #1
0
        public void BeginShakal(ShakalSession session, TelegramBotClient api, long chatId, File[] files, int shakalLevel)
        {
            new Thread(() =>
            {
                try
                {
                    var photo = files.Last();

                    var file = api.GetFileAsync(photo.FileId).Result;

                    var fileName      = chatId + ".jpg";
                    var shakaled      = Shakaler.ShakalPhoto(file.FileStream, shakalLevel);
                    shakaled.Position = 0;

                    var res = api.SendDocumentAsync(chatId, new FileToSend(fileName, shakaled)).Result;
                    Console.WriteLine(res);

                    api.SendTextMessageAsync(chatId, "Зашакаливание завершено" + Emoji.GetEmoji(0x1F438));
                }
                catch
                {
                    try
                    {
                        api.SendTextMessageAsync(chatId, "Ошибка при зашакаливании" + Emoji.GetEmoji(0x1F614));
                    }
                    catch
                    {
                    }
                }

                session.CurrentHandler = session.DefaultHandler;
            }).Start();
        }
예제 #2
0
 public override TelegramMessageHandler CommandStart(ShakalSession session, TelegramBotClient api, Message message, object state)
 {
     api.SendTextMessageAsync(message.Chat.Id, "Зашакаливание скоро будет завершено. Обычно это занимает несколько секунд, но если я не буду отвечать, то попробуйте зашакалить картинку снова" + Emoji.GetEmoji(0x1F60C),
                              ParseMode.Default,
                              false,
                              false,
                              0,
                              new ReplyKeyboardRemove()
     {
         RemoveKeyboard = true,
     });
     BeginShakal(session, api, message.Chat.Id, Files, ShakalLevel);
     return(this);
 }
예제 #3
0
 public virtual string Render()
 {
     return(Emoji.GetEmoji(GetTypeID()));
 }