LookUsersListQuery.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. using System.Collections.Generic;
  2. using System.Threading.Tasks;
  3. using MafiaTelegramBot.Controllers;
  4. using Microsoft.VisualBasic;
  5. using Telegram.Bot.Types;
  6. using Telegram.Bot.Types.Enums;
  7. namespace MafiaTelegramBot.Models.Inlines
  8. {
  9. public class LookUsersListQuery :Query
  10. {
  11. protected override string Name => strings.look_user_list_callback;
  12. public override async Task<Message> Execute(Update update)
  13. {
  14. var chatId = update.CallbackQuery.Message.Chat.Id;
  15. await Bot.Get().SendChatActionAsync(chatId, ChatAction.Typing);
  16. var data = update.CallbackQuery.Data;
  17. var param = data.Split('|');
  18. var userId = long.Parse(param[1]);
  19. var roomKey = param[2];
  20. var users = await RoomController.GetPlayers(roomKey);
  21. string s = "";
  22. if (users.Count > 1)
  23. {
  24. s = strings.users_list;
  25. foreach (var player in users)
  26. {
  27. if (player.Id == userId) continue;
  28. s += $"\n \n {player.Username} \n{player.FirstName} {player.LastName}";
  29. }
  30. }
  31. else
  32. {
  33. s = strings.users_list_empty;
  34. }
  35. return await Bot.SendWithMarkdown2(chatId, s);
  36. }
  37. }
  38. }