GiveToAllQuery.cs 1.6 KB

12345678910111213141516171819202122232425262728293031323334
  1. using System;
  2. using System.Linq;
  3. using System.Threading.Tasks;
  4. using MafiaTelegramBot.Resources;
  5. using Telegram.Bot.Types;
  6. namespace MafiaTelegramBot.Models.Inlines
  7. {
  8. public class GiveToAllQuery : Query
  9. {
  10. protected override Callback Name => Callback.GiveToAll;
  11. protected override async Task<Message> Execute(Update update)
  12. {
  13. await DeletePreviousMessage(ChatId, update.CallbackQuery.Message.MessageId);
  14. var msg1 = String.Format(strings.giveaway_sample_message, keywords.giveaway,
  15. keywords.message, keywords.picture, keywords.button, keywords.prize, keywords.count, keywords.to);
  16. msg1 = msg1.Replace("\\n", "\\\n");
  17. await Bot.SendWithMarkdown2(ChatId, msg1);
  18. var msg2 = String.Format(strings.giveaway_attentions, keywords.to, keywords.message,
  19. keywords.picture, keywords.count, keywords.picture, keywords.prize);
  20. msg2 = msg2.Replace("\\n", "\\\n");
  21. await Bot.SendWithMarkdown2(ChatId, msg2);
  22. var msg3 = strings.list_of_roles;
  23. var rolesList = Enum.GetValues(typeof(Roles)).Cast<Roles>().ToList();
  24. rolesList.RemoveAll(role => role is Roles.All or Roles.None or Roles.Doctor or Roles.Don or Roles.Mafia or Roles.Cop or Roles.Villager);
  25. msg3 += $"\n`{Roles.All}` - {strings.use_this_to_random_giveaway}";
  26. foreach (var role in rolesList)
  27. msg3 += $"\n{roles.ResourceManager.GetString(role.ToString())} - `{role}`";
  28. return await Bot.SendWithMarkdown2(ChatId, msg3);
  29. }
  30. }
  31. }