MakePublicRoomQuery.cs 1.4 KB

12345678910111213141516171819202122232425262728293031
  1. using System.Threading.Tasks;
  2. using MafiaTelegramBot.DataBase;
  3. using Telegram.Bot.Types;
  4. using Telegram.Bot.Types.Enums;
  5. using Telegram.Bot.Types.ReplyMarkups;
  6. namespace MafiaTelegramBot.Models.Inlines
  7. {
  8. public class MakePublicRoomQuery : Query
  9. {
  10. protected override string Name => strings.make_public_room_callback;
  11. public override async Task<Message> Execute(Update update)
  12. {
  13. var chatId = update.CallbackQuery.Message.Chat.Id;
  14. await Bot.Get().SendChatActionAsync(chatId, ChatAction.Typing);
  15. var data = update.CallbackQuery.Data;
  16. var userId = long.Parse(data.Split('|')[1]);
  17. var user = await UserDao.GetUserById(userId);
  18. if (user?.GetCurrentGame() != "")
  19. return await Bot.SendWithMarkdown2(chatId, $"{strings.user_already_playing} _*{user?.GetCurrentGame()}*_");
  20. var inlineKeyboard = new InlineKeyboardMarkup(new[]
  21. {
  22. new[] {
  23. InlineKeyboardButton.WithCallbackData(strings.standart, $"{strings.standart_callback}|{userId}|public"),
  24. InlineKeyboardButton.WithCallbackData(strings.extended, $"{strings.extended_callback}|{userId}|public")
  25. }
  26. });
  27. return await Bot.SendWithMarkdown2(chatId, strings.choose_game_type, inlineKeyboard);
  28. }
  29. }
  30. }