@chihuy

Как реализовать инлайн кнопки вк, VKNET C#?

Как можно реализовать инлайн кнопки с помощью вк нет на csharp'e.
Код ниже не работает
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using VkNet;
using VkNet.Model;
using VkNet.Model.RequestParams;
using VkNet.Enums.SafetyEnums;
using VkNet.Abstractions;
using VkNet.Model.Keyboard;

namespace Bot
{
    public partial class Form1 : Form
    {
        Random random = new Random();
        VkApi vkApi = new VkApi();
        private void SendMessage(string message, long? userID) {
            vkApi.Messages.Send(new MessagesSendParams {
                RandomId = random.Next(),
                UserId = userID,
                Message = message
            });
        }
        public Form1()
        {
            InitializeComponent();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            KeyboardBuilder board = new KeyboardBuilder(isOneTime: false);
            vkApi.Authorize(new ApiAuthParams() { AccessToken = токен });
            while(true){
                var s = vkApi.Groups.GetLongPollServer(id);
                var poll = vkApi.Groups.GetBotsLongPollHistory(new BotsLongPollHistoryParams()
                { Server = s.Server, Ts = s.Ts, Key = s.Key, Wait = 25 });
                if (poll?.Updates == null) continue;
                foreach (var a in poll.Updates) {
                    if (a.Type == GroupUpdateType.MessageNew) {
                        string userMessage = a.Message.Body.ToLower();
                        long? userID = a.Message.UserId;
                        switch (userMessage)
                        {
                            case "привет":
                                board.AddButton("Кнопка", "");
                                board.Build();
                                break;
                        }
                    }
                }
            }
        }
  • Вопрос задан
  • 71 просмотр
Пригласить эксперта
Ответы на вопрос 1
@Carrot_M
KeyboardBuilder key = new KeyboardBuilder();
key.AddButton(...);
MessageKeyboard keyboard = key.Build();

И потом в отправке сообщения указываешь параметр keyboard

vk.Messages.Send(new VkNet.Model.RequestParams.MessagesSendParams
{
Keyboard = keyboard,
RandomId = random.Next(),
Message = "Текст",
UserId = ID
});
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы