Пример #1
0
        private MessageKeyboard ConvertToVkKeyboard(INucleusKeyboard keyboard)
        {
            var keyboardVkButtons = new List <List <MessageKeyboardButton> >();

            foreach (var buttonsLine in keyboard.Buttons)
            {
                var line = new List <MessageKeyboardButton>();
                foreach (var button in buttonsLine)
                {
                    var vkButton = new MessageKeyboardButton();
                    vkButton.Action = new MessageKeyboardButtonAction()
                    {
                        AppId   = button.AppID == 0? null: button?.AppID,
                        Hash    = button.Hash,
                        Label   = button.Caption,
                        OwnerId = button.OwnerID == 0? null: button?.OwnerID,
                        Payload = new PayloadBuilder().BuildToStringFromModel(button.Payload),
                        Type    = button.Type,
                    };

                    vkButton.Color = button.Color;
                    line.Add(vkButton);
                }
                keyboardVkButtons.Add(line);
            }

            var vkKeyboard = new MessageKeyboard();

            vkKeyboard.Buttons = keyboardVkButtons;
            vkKeyboard.OneTime = keyboard.OneTimeKeyboard;
            return(vkKeyboard);
        }
Пример #2
0
        public void Image(string text, long photoId, long to, long from, INucleusKeyboard keyboard = null)
        {
            api = api ?? new VkApi();
            api.Authorize(new ApiAuthParams()
            {
                AccessToken = _settings.VKToken
            });
            var vkKeyboard = keyboard != null?ConvertToVkKeyboard(keyboard) : null;

            Task.Run(() =>
            {
                api.Messages.Send(new MessagesSendParams
                {
                    Keyboard    = vkKeyboard,
                    Message     = text,
                    Attachments = new List <MediaAttachment> {
                        new Photo {
                            Id = photoId, OwnerId = from
                        }
                    },
                    PeerId   = to,
                    RandomId = new Random().Next(0, 999999)
                });
            });
        }
Пример #3
0
// photo-198106962_457239020
//new List<MediaAttachment>{ new Photo { Id = 274583795, OwnerId = 198106962}}
        public void Text(string text, long to, INucleusKeyboard keyboard = null, long from = 0)
        {
            tgbot = tgbot ?? new TelegramBotClient(_settings.TGToken);

            if (keyboard != null)
            {
                var replyKeyboardMarkup = ConvertToTgKeyboard(keyboard);
                Task.Run(() =>
                {
                    tgbot.SendTextMessageAsync(
                        chatId: to,
                        text: text,
                        replyMarkup: replyKeyboardMarkup
                        );
                });
            }
            else
            {
                Task.Run(() =>
                {
                    tgbot.SendTextMessageAsync(
                        chatId: to,
                        text: text
                        );
                });
            }
        }
Пример #4
0
        public void Text(string text, long to, INucleusKeyboard keyboard = null, long from = 0)
        {
            api = api ?? new VkApi();
            api.Authorize(new ApiAuthParams()
            {
                AccessToken = _settings.VKToken
            });
            var vkKeyboard = keyboard != null?ConvertToVkKeyboard(keyboard) : null;

            Task.Run(() =>
            {
                api.Messages.Send(new VkNet.Model.RequestParams.MessagesSendParams()
                {
                    Keyboard = vkKeyboard,
                    Message  = text,
                    PeerId   = to,
                    RandomId = new Random().Next(0, 999999)
                });
            });
        }
Пример #5
0
        private ReplyKeyboardMarkup ConvertToTgKeyboard(INucleusKeyboard keyboard)
        {
            var keyboardArray = new List <List <KeyboardButton> >();

            foreach (var buttons in keyboard.Buttons)
            {
                var line = new List <KeyboardButton>();
                foreach (var button in buttons)
                {
                    var tgButton = new KeyboardButton();
                    tgButton.RequestContact  = button.RequestContact;
                    tgButton.RequestLocation = button.RequestLocation;
                    tgButton.Text            = button.Caption;
                    line.Add(tgButton);
                }
                keyboardArray.Add(line);
            }
            var replyKeyboardMarkup = new ReplyKeyboardMarkup();

            replyKeyboardMarkup.Keyboard        = keyboardArray;
            replyKeyboardMarkup.ResizeKeyboard  = true;
            replyKeyboardMarkup.OneTimeKeyboard = keyboard.OneTimeKeyboard;
            return(replyKeyboardMarkup);
        }
Пример #6
0
 public void Image(string text, long photoId, long to, long from, INucleusKeyboard keyboard = null)
 {
     throw new NotImplementedException();
 }