ConnectToSelectedRoomCallbackQueryHandler.cs 1.2 KB

1234567891011121314151617181920212223242526272829
  1. using System.Threading.Tasks;
  2. using MafiaTelegramBot.Controllers;
  3. using MafiaTelegramBot.Game;
  4. using MafiaTelegramBot.Resources;
  5. using Telegram.Bot.Types;
  6. namespace MafiaTelegramBot.Commands.CallbackQueries
  7. {
  8. public class ConnectToSelectedRoomCallbackQueryHandler : CallbackQueryHandler
  9. {
  10. protected override string Command => Callback.ConnectToSelectedRoom.ToString();
  11. public override async Task<Message> Execute(Update update)
  12. {
  13. Logs.LogOut(GetType(), "Execute");
  14. var data = update.CallbackQuery.Data;
  15. var param = data.Split('|');
  16. var roomKey = param[1];
  17. var resultCode = await RoomController.ConnectToGame(User, roomKey);
  18. if (resultCode != ResultCode.CodeOk) return await MessageController.EditMessage(User.Info,
  19. update.CallbackQuery.Message.MessageId,Utilities.GetResultCodeMessage(resultCode));
  20. await MessageController.DeleteMessage(User.Info.ChatId, update.CallbackQuery.Message.MessageId);
  21. return await MessageController.SendText(User.Info, strings.successful_entry_into_room, Keyboard.PlayerGameMenu);
  22. }
  23. public ConnectToSelectedRoomCallbackQueryHandler(Player player) : base(player) { }
  24. }
  25. }