示例#1
0
 static async Task SendStaticFullContact(Message message)
 {
     await botClient.SendContactAsync(
         chatId : message.Chat.Id,
         phoneNumber : "+1234567890",
         firstName : "Han",
         vCard : "BEGIN:VCARD\n" +
         "VERSION:3.0\n" +
         "N:Solo;Han\n" +
         "ORG:Scruffy-looking nerf herder\n" +
         "TEL;TYPE=voice,work,pref:+1234567890\n" +
         "EMAIL:[email protected]\n" +
         "END:VCARD"
         );
 }
示例#2
0
        private void SendContactPost(IPostModel post)
        {
            if (post.Text == null)
            {
                throw new ArgumentException("Images Post: post.text = null");
            }

            if (post.Attachments == null)
            {
                throw new ArgumentException("Images Post: post.attachments = null");
            }

            if (post.Attachments.Length == 0)
            {
                throw new ArgumentException("Images Post: post.attachments.length = 0");
            }

            var temp = bot.SendContactAsync(
                ChannelID,
                post.Attachments[0],
                post.Text);

            temp.Wait();
            Console.WriteLine(temp.Result);
        }
示例#3
0
 private static async void ForwardMessage(Message message, UserModel recipient, ITelegramBotClient botClient)
 {
     _ = message.Type switch
     {
         MessageType.Unknown => await botClient.SendTextMessageAsync(recipient.TelegramId, "Bad message!"),
         MessageType.Text => await botClient.SendTextMessageAsync(recipient.TelegramId, message.Text),
         MessageType.Photo => await botClient.SendPhotoAsync(recipient.TelegramId, new InputOnlineFile(message.Photo[0].FileId)),
         MessageType.Audio => await botClient.SendAudioAsync(recipient.TelegramId, new InputOnlineFile(message.Audio.FileId)),
         MessageType.Video => await botClient.SendVideoAsync(recipient.TelegramId, new InputOnlineFile(message.Video.FileId)),
         MessageType.Voice => await botClient.SendVoiceAsync(recipient.TelegramId, new InputOnlineFile(message.Voice.FileId)),
         MessageType.Document => await botClient.SendDocumentAsync(recipient.TelegramId, new InputOnlineFile(message.Document.FileId)),
         MessageType.Sticker => await botClient.SendStickerAsync(recipient.TelegramId, new InputOnlineFile(message.Sticker.FileId)),
         MessageType.Contact => await botClient.SendContactAsync(recipient.TelegramId, message.Contact.PhoneNumber, message.Contact.FirstName, message.Contact.LastName),
         MessageType.VideoNote => await botClient.SendVideoNoteAsync(recipient.TelegramId, message.VideoNote.FileId),
     };
 }
示例#4
0
        private async static void _botclient_OnMessage(object sender, Telegram.Bot.Args.MessageEventArgs e)
        {
            if (e.Message.Text.ToLower().Contains("message"))
            {
                Console.WriteLine("opcion message");
                await _botclient.SendTextMessageAsync
                (
                    chatId : e.Message.Chat.Id,
                    text : $"jevi, le llegamos a tu cotorra: {e.Message.Text}"
                );
            }
            else if (e.Message.Text.ToLower().Contains("sticker"))
            {
                Console.WriteLine("opcion sticker");
                await _botclient.SendStickerAsync(
                    chatId : e.Message.Chat.Id,
                    sticker : "https://github.com/TelegramBots/book/raw/master/src/docs/sticker-dali.webp"
                    );
            }

            else if (e.Message.Text.ToLower().Contains("contact"))
            {
                Console.WriteLine("opcion contacto");
                await _botclient.SendContactAsync(
                    chatId : e.Message.Chat.Id,
                    phoneNumber : "123456789",
                    firstName : "Test",
                    lastName : "bot"

                    );
            }

            else if (e.Message.Text.ToLower().Contains("/repeat"))
            {
                await _botclient.SendTextMessageAsync
                (
                    chatId : e.Message.Chat.Id,
                    text : $"jevi, le llegamos a tu cotorra: {e.Message.Text}"
                );
            }
        }
示例#5
0
        private async static void _botClient_OnMessage(object sender, Telegram.Bot.Args.MessageEventArgs e)
        {
            if (e.Message.Text != null)
            {
                System.Console.WriteLine($"Message Received");

                if (e.Message.Text.ToLower().Contains("hola"))
                {
                    await _botClient.SendTextMessageAsync(chatId : e.Message.Chat.Id, text : $"Coño tu otra vez?");

                    System.Console.WriteLine($"Message send");
                }
                else if (e.Message.Text.ToLower().Contains("contacto"))
                {
                    await _botClient.SendContactAsync(chatId : e.Message.Chat.Id, phoneNumber : "(+58) 424778906", firstName : "John", lastName : "Wick");
                }
            }
            else if (e.Message.Sticker != null)
            {
                System.Console.WriteLine($"StickerS Received");
                await _botClient.SendStickerAsync(chatId : e.Message.Chat.Id, sticker : "https://tlgrm.eu/_/stickers/ee1/7e3/ee17e34b-083f-3cae-b8de-24e96558758b/thumb-animated-128.mp4");
            }
        }
示例#6
0
        static async void Bot_OnMessage(object sender, MessageEventArgs e)
        {
            if (e.Message.Text == "/hello")
            {
                Message textMessage = await botClient.SendTextMessageAsync(
                    chatId : e.Message.Chat,
                    text : "Hello, world!",
                    parseMode : ParseMode.Default,
                    disableNotification : false);
            }
            if (e.Message.Text == "/sendpic")
            {
                Message photoMessage = await botClient.SendPhotoAsync(
                    chatId : e.Message.Chat,
                    photo : "https://cdn5.zp.ru/job/attaches/2019/08/35/b8/35b8649f6773c52f3535793d96d84317.jpg",
                    caption : "<b>Логотип ИнПАД</b>. <i>Источник</i>: <a href=\"https://www.inpad.ru\">ИнПАД</a>",
                    parseMode : ParseMode.Html);
            }
            if (e.Message.Text == "/sendpoll")
            {
                Message pollMessage = await botClient.SendPollAsync(
                    chatId : e.Message.Chat,
                    isAnonymous : false,
                    question : "Ты работаешь в ИнПАДе?",
                    options : new[]
                {
                    "Да",
                    "Нет, в другом месте"
                });
            }
            if (e.Message.Text == "/sendfile")
            {
                Message fileMessage = await botClient.SendDocumentAsync(
                    chatId : e.Message.Chat,
                    document : "https://media.tenor.com/images/e9cc959f643d3aac2322295eb95d19ce/tenor.gif"
                    );
            }
            if (e.Message.Text == "/sendsticker")
            {
                Message stickerMessage = await botClient.SendStickerAsync(
                    chatId : e.Message.Chat,
                    sticker : "https://raw.githubusercontent.com/zubanidze/telegramBot/master/TelegramTestBot/1146271698.webp");
            }
            if (e.Message.Text == "/sendlocation")
            {
                Message locationMessage = await botClient.SendVenueAsync(
                    chatId : e.Message.Chat.Id,
                    latitude : 56.8393f,
                    longitude : 60.5836f,
                    title : "ИНСТИТУТ ПРОЕКТИРОВАНИЯ, архитектуры и дизайна",
                    address : "ул. Шейнкмана, 10, Екатеринбург, Свердловская обл., 620014",
                    replyMarkup : new InlineKeyboardMarkup(InlineKeyboardButton.WithUrl(
                                                               "Перейти на сайт организации",
                                                               "https://www.inpad.ru/")));
            }
            if (e.Message.Text == "/sendcontact")
            {
                Message contactMessage = await botClient.SendContactAsync(
                    chatId : e.Message.Chat.Id,
                    phoneNumber : "+73432875694",
                    firstName : "Виктор",
                    lastName : "Сальников");
            }
            if ((!e.Message.Text.Contains("/") && (!e.Message.Text.All(char.IsDigit))))
            {
                Message textMessage = await botClient.SendTextMessageAsync(
                    chatId : e.Message.Chat,
                    text : "Такой команды пока нет :(",
                    parseMode : ParseMode.Default,
                    replyMarkup : keyboard);
            }
            if (e.Message.Text == "custom")
            {
                var rkm  = new ReplyKeyboardMarkup();
                var rows = new List <KeyboardButton[]>();
                var cols = new List <KeyboardButton>();
                for (var Index = 1; Index < 17; Index++)
                {
                    cols.Add(new KeyboardButton("" + Index));
                    if (Index % 4 != 0)
                    {
                        continue;
                    }
                    rows.Add(cols.ToArray());
                    cols = new List <KeyboardButton>();
                }
                rkm.Keyboard = rows.ToArray();


                await botClient.SendTextMessageAsync(
                    e.Message.Chat,
                    "Choose",
                    replyMarkup : rkm);
            }
            if (e.Message.Text == "1")
            {
                Message textMessage = await botClient.SendTextMessageAsync(
                    chatId : e.Message.Chat,
                    text : "Hello, world!",
                    parseMode : ParseMode.Default,
                    disableNotification : false);
            }
            if (e.Message.Text == "2")
            {
                Message contactMessage = await botClient.SendContactAsync(
                    chatId : e.Message.Chat.Id,
                    phoneNumber : "+73432875694",
                    firstName : "Виктор",
                    lastName : "Сальников");
            }
            if (e.Message.Text == "3")
            {
                Message pollMessage = await botClient.SendPollAsync(
                    chatId : e.Message.Chat,
                    isAnonymous : false,
                    question : "Ты работаешь в ИнПАДе?",
                    options : new[]
                {
                    "Да",
                    "Нет, в другом месте"
                });
            }
        }
示例#7
0
        private static async void Bot_OnCallbackQuery(object sender, Telegram.Bot.Args.CallbackQueryEventArgs e)
        {
            var data    = e.CallbackQuery.Data;
            var message = e.CallbackQuery.Message;

            log.Query(e);

            try
            {
                switch (data)
                {
                default:
                    return;

                case "🛒 Связаться с продавцом 🛒":
                    string seller = db.GetUserPhone(e.CallbackQuery.From.Id);
                    if (seller[0] == '+')
                    {
                        await bot.SendContactAsync(e.CallbackQuery.From.Id, seller, "Продавец");
                    }
                    else
                    {
                        await bot.SendTextMessageAsync(e.CallbackQuery.From.Id, '@' + seller);
                    }
                    return;

                case "⭐️ В избранное ⭐️":
                    db.AddSelectedOfferToFavorites(e.CallbackQuery.From.Id);
                    return;

                case "PS4 ⚪️":
                    db.SetPlatform(0, e.CallbackQuery.From.Id, true);
                    break;

                case "Xbox ⚪️":
                    db.SetPlatform(1, e.CallbackQuery.From.Id, true);
                    break;

                case "Switch ⚪️":
                    db.SetPlatform(2, e.CallbackQuery.From.Id, true);
                    break;

                case "Изменить название":
                    await bot.AnswerCallbackQueryAsync(e.CallbackQuery.Id,
                                                       "Отправьте название игры в следующем сообщении.", true);

                    db.SetAwaitInfoType(e.CallbackQuery.From.Id, (int)awaitInfoType.name);
                    return;

                case "Указать цену":
                    await bot.AnswerCallbackQueryAsync(e.CallbackQuery.Id,
                                                       "Отправьте цену игры в следующем сообщении.", true);

                    db.SetAwaitInfoType(e.CallbackQuery.From.Id, (int)awaitInfoType.price);
                    return;

                case "Обмен":
                    if (db.GetExchange(e.CallbackQuery.From.Id, true) != "")
                    {
                        db.SetExchange("", e.CallbackQuery.From.Id, true);
                        break;
                    }
                    else
                    {
                        await bot.AnswerCallbackQueryAsync(e.CallbackQuery.Id,
                                                           "Отправьте названия желаемых игр в следующем сообщении.", true);

                        db.SetAwaitInfoType(e.CallbackQuery.From.Id, (int)awaitInfoType.exchange);
                        return;
                    }

                case "Загрузить фото":
                    await bot.AnswerCallbackQueryAsync(e.CallbackQuery.Id,
                                                       "Отправьте фотогрфию в следующем сообщении.", true);

                    db.SetAwaitInfoType(e.CallbackQuery.From.Id, (int)awaitInfoType.photo);
                    return;

                case "✅ Сохранить ✅":
                    await bot.DeleteMessageAsync(e.CallbackQuery.Message.Chat.Id, db.GetEditMessageId(e.CallbackQuery.From.Id));

                    await bot.SendTextMessageAsync(e.CallbackQuery.Message.Chat.Id, "✅ Товар добавлен!\n\nℹ️ Чтобы просмотреть список ваших товаров, выберите пункт \"Мои товары\".");

                    return;

                case "❌ Удалить ❌":
                    db.DeleteOffer(e.CallbackQuery.From.Id);
                    await bot.DeleteMessageAsync(e.CallbackQuery.Message.Chat.Id, db.GetEditMessageId(e.CallbackQuery.From.Id));

                    await bot.SendTextMessageAsync(e.CallbackQuery.Message.Chat.Id, "✅ Товар удален!\n\nℹ️ Чтобы просмотреть список ваших товаров, выберите пункт \"Мои товары\".");

                    return;

                case "❌ Удалить из избранного ❌":
                    db.DeleteOfferFromFav(db.GetEditOfferId(e.CallbackQuery.From.Id));
                    await bot.DeleteMessageAsync(e.CallbackQuery.Message.Chat.Id, db.GetEditMessageId(e.CallbackQuery.From.Id));

                    await bot.SendTextMessageAsync(e.CallbackQuery.Message.Chat.Id, "✅ Товар удален из избранного!\n\nℹ️ Чтобы просмотреть список избранного, выберите пункт \"Избранное\".");

                    return;
                }
                await bot.EditMessageCaptionAsync(message.Chat.Id,
                                                  message.MessageId,
                                                  caption : db.GetCaption(e.CallbackQuery.From.Id, true),
                                                  replyMarkup : IReplies.editKeyboard(db.GetOfferPlatform(e.CallbackQuery.From.Id)));
            }
            catch (Exception e3)
            {
                log.Error(e3.Message);
                return;
            }
        }