@Taifunov

Как подвязать inlinebuttons к бд?

private  async void HandleCallBackQuery(CallbackQuery callBackQuery)
        {
            var Bot = new Telegram.Bot.TelegramBotClient(TOKEN);
            var postUrls = new List<string>();
            var postIds = new List<long>();
            var posts = Api.Wall.Get(new WallGetParams { Domain = "artifactgamer", Count = 1 });
            foreach (var item in posts.WallPosts)
            {
                var postUrl= item.PostSource.Uri.ToString();
                var postId = item.CopyPostId.Value;
                postUrls.Add(postUrl);
                postIds.Add(postId);
            }

            PostData postData = new PostData()
            {
                MessageId = callBackQuery.Message.MessageId,
                Post_url = postUrls.ToString(),
                PostId = postIds[0]
            };

            VoteData voteData = new VoteData()
            {
                PostDataId = postData.PostId,
                VoterId = callBackQuery.From.Id,
                LikedPost = false,
            };

            Bot.OnCallbackQuery += async (object sc, CallbackQueryEventArgs ev) =>
            {
                using (SQLiteConnection db = new SQLiteConnection("Data Source = DB.db", true))
                {

                    if (ev.CallbackQuery.Data == "post_id like")
                    {
                        await Bot.AnswerCallbackQueryAsync(ev.CallbackQuery.Id, "You have choosen " + ev.CallbackQuery.Data, true);
                    }
                    else if (ev.CallbackQuery.Data == "post_id dislike")
                    {
                        await Bot.AnswerCallbackQueryAsync(ev.CallbackQuery.Id); // отсылаем пустое, чтобы убрать "частики" на кнопке
                    }
                }
            };

            using (IDbConnection conn = new SQLiteConnection("Data Source=DB.db", true))
            {
                conn.Execute("INSERT into PostData(PostId, Post_url, MessageId)" +
               "VALUES (@PostId, @Post_url, @MessageId)", postData);
               conn.Execute("INSERT into VoteData(PostDataId, VoterId, LikedPost)" + 
               "VALUES (@PostDataId, @VoterId, @LikedPost)", voteData);
            }
        }


Так создаю кнопки:
new [] {
new InlineKeyboardButton{Text = "",CallbackData = "post_id like"},
new InlineKeyboardButton{Text = "",CallbackData = "post_id dislike"},
}


Не могу раздуплится как теперь лайк и дизлайк записывать в БД :/
Подскажите плз
  • Вопрос задан
  • 147 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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