ContinueCallbackQueryHandler.cs 1.2 KB

123456789101112131415161718192021222324252627282930
  1. using System.Threading.Tasks;
  2. using MafiaTelegramBot.Controllers;
  3. using MafiaTelegramBot.Extensions;
  4. using MafiaTelegramBot.Game;
  5. using MafiaTelegramBot.Game.GameRooms;
  6. using MafiaTelegramBot.Resources;
  7. using Telegram.Bot.Types;
  8. namespace MafiaTelegramBot.Commands.CallbackQueries
  9. {
  10. public class ContinueCallbackQueryHandler : CallbackQueryHandler
  11. {
  12. protected override string Command => Callback.Continue.ToString();
  13. public override async Task<Message> Execute(Update update)
  14. {
  15. Logs.LogOut(GetType(), "Execute");
  16. var roomKey = RoomEncrypter.GetCode(User.GetRoomName());
  17. var room = RoomController.GetRoom(roomKey);
  18. if (room is not FastGameRoom r)
  19. return await MessageController.EditMessage(User.Info,
  20. update.CallbackQuery.Message.MessageId, strings.unexpected_error);
  21. r.ContinuePlayers.AddUnique(User);
  22. return await MessageController.EditMessage(User.Info,
  23. update.CallbackQuery.Message.MessageId, strings.you_continued_the_game);
  24. }
  25. public ContinueCallbackQueryHandler(Player player) : base(player) { }
  26. }
  27. }