CreateGameCommand.cs 1.3 KB

12345678910111213141516171819202122232425262728
  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.Commands
  7. {
  8. public class CreateGameCommand : Command
  9. {
  10. protected override string Name => strings.create_game;
  11. public override async Task<Message> Execute(Update update)
  12. {
  13. var chatId = update.Message.Chat.Id;
  14. var userId = update.Message.From.Id;
  15. await Bot.Get().SendChatActionAsync(chatId, ChatAction.Typing);
  16. var user = await UserDao.GetUserById(userId);
  17. if (user?.GetCurrentGame() != "")
  18. return await Bot.SendWithMarkdown2(chatId, $"{strings.user_already_playing} _*{user?.GetCurrentGame()}*_");
  19. var inlineKeyboard = new InlineKeyboardMarkup(new[]
  20. {
  21. new[] {InlineKeyboardButton.WithCallbackData(strings.make_public_room, $"{strings.make_public_room_callback}|{userId}")},
  22. new[] {InlineKeyboardButton.WithCallbackData(strings.make_private_room, $"{strings.make_private_room_callback}|{userId}")}
  23. });
  24. return await Bot.SendWithMarkdown2(chatId, strings.settings_room, inlineKeyboard);
  25. }
  26. }
  27. }