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"},
}
Не могу раздуплится как теперь лайк и дизлайк записывать в БД :/
Подскажите плз