Advertisement
Guest User

BF example

a guest
Dec 12th, 2018
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.75 KB | None | 0 0
  1. //метод обработки входящего сообщения, которое не является коммандой
  2. //получает сообщение пользователя и возвращает следующее, которое ожидается
  3. public static string TextGo(string message)
  4.         {
  5.             string hymn = @"
  6.                Союз нерушимый республик свободных
  7.                Сплотила навеки Великая Русь.
  8.                Да здравствует созданный волей народов
  9.                Единый, могучий Советский Союз!
  10.                Славься, Отечество наше свободное,
  11.                Дружбы народов надёжный оплот!
  12.                Партия Ленина — сила народная
  13.                Нас к торжеству коммунизма ведёт!
  14.                Сквозь грозы сияло нам солнце свободы,
  15.                И Ленин великий нам путь озарил:
  16.                На правое дело он поднял народы,
  17.                На труд и на подвиги нас вдохновил!
  18.                Славься, Отечество наше свободное,
  19.                Дружбы народов надёжный оплот!
  20.                Партия Ленина — сила народная
  21.                Нас к торжеству коммунизма ведёт!
  22.                В победе бессмертных идей коммунизма
  23.                Мы видим грядущее нашей страны,
  24.                И Красному знамени славной Отчизны
  25.                Мы будем всегда беззаветно верны!
  26.                Славься, Отечество наше свободное,
  27.                Дружбы народов надёжный оплот!
  28.                Партия Ленина — сила народная
  29.                Нас к торжеству коммунизма ведёт!
  30.            ";
  31.             List<string> hymnMassive = new List<string> { };
  32.             string[] strArr = null;
  33.             int count = 0;
  34.             char[] splitchar = { ' ', '\n', '\r' };
  35.             strArr = hymn.Split(splitchar);
  36.             for (count = 0; count <= strArr.Length - 1; count++)
  37.             {
  38.                 strArr[count] = strArr[count].Trim(' ', '.', ',', '-', '\n', '\r', '!', '—');
  39.                 if (strArr[count] != "") { hymnMassive.Add(strArr[count]); }
  40.             }
  41.  
  42.             //логика проверки слова и переключения счетчика
  43.             if (message.ToUpper().Contains(hymnMassive[dialogCount].ToUpper()))
  44.             {
  45.                 dialogCount++;
  46.                 dialogCount++;
  47.                 return hymnMassive[dialogCount - 1].ToUpper();
  48.             }
  49.             else
  50.             {
  51.                 return null;
  52.             }
  53.         }
  54.  
  55.  
  56.  
  57.  
  58. //это часть метода, который обрабатывает общую логику поведения при новом сообщении
  59. if (message.Text.ToUpper().Contains("ПЕС") || (message.Text.ToUpper().Contains("ПЁС"))) /*если сообщение содержит команду - обработка тут*/
  60.                     {
  61.                         var replyMessage = context.MakeMessage();
  62.                         replyMessage.Attachments.Add(new Attachment()
  63.                         {
  64.                             ContentUrl = "http://bot-temp.azurewebsites.net/Sources/IMG/dog.jpg",
  65.                             ContentType = "image/jpg",
  66.                             Name = "@" + userID + ", хороший мальчик!"
  67.                         });
  68.                         await context.PostAsync(replyMessage);
  69.                         context.Wait(MessageReceivedAsync);
  70.                     }
  71.  
  72.                     else if (message.Text != null) /*если это не команда, но сообщение текстовое (не медиа) - вызывает предыдущий метод*/
  73.                     {
  74.                         var replyMessage = context.MakeMessage();
  75.                         answer = TextGo(message.Text.ToUpper());
  76.                         if (answer != null)
  77.                         {
  78.                             replyMessage.Text = answer;
  79.                         }
  80.                         await context.PostAsync(replyMessage);
  81.                         context.Wait(MessageReceivedAsync);
  82.                     }
  83.                     else
  84.                     {
  85.  
  86.                     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement