KickPlayerCommand.cs 929 B

12345678910111213141516171819202122232425
  1. using System.Threading.Tasks;
  2. using MafiaTelegramBot.Controllers;
  3. using MafiaTelegramBot.DataBase.EntityDao;
  4. using MafiaTelegramBot.Game;
  5. using MafiaTelegramBot.Resources;
  6. using Telegram.Bot.Types;
  7. namespace MafiaTelegramBot.Models.Commands
  8. {
  9. public class KickPlayerCommand : Command
  10. {
  11. protected override string Name => keyboard.kick_player;
  12. protected override async Task<Message> Execute(Update update)
  13. {
  14. var user = await UserDao.GetPlayerById(UserId);
  15. var roomKey = RoomEncrypter.GetCode(user.GetRoomName());
  16. var room = RoomController.GetRoom(roomKey);
  17. var players = await room.GetPlayers();
  18. if (players.Count > 0)
  19. return await Bot.SendWithMarkdown2(ChatId, strings.kick_user, Keyboard.KickKeyboard(players));
  20. return await Bot.SendWithMarkdown2(ChatId, strings.users_list_empty);
  21. }
  22. }
  23. }