public override System.Object Handle(System.Int32 request, TelegramBotClient botClient, System.Object message) { if (request == (System.Int32)SetChain.LinkChatPharase) { Message _message = message as Message; DataBase db = Singleton.GetInstance().Context; if (SearchChannel(_message)) { return(null); } GetUser(_message); ChangeUser(); SendMessage(botClient, _message); AnaliticsPhrase[] analyticsTexts = db.GetAnaliticsPharse(); PrintExel.GetAnaliticsInOneChatPharase(analyticsTexts, channel, botClient, _message, user); return(null); } else { return(base.Handle(request, botClient, message)); } }
private void AddAnaliticsPharase(TelegramBotClient botClient, Message _message, Settings settings) { DataBase db = Singleton.GetInstance().Context; Channel channel = db.GetChannel(_message); String clean = ""; String analiticsText = ""; foreach (System.String word in _message.Text.Split(" ")) { clean += word.Trim(new System.Char[] { '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '-', '_', '=', '+', '|', '\\', ']', '}', '[', '{', '\'', '\"', ';', ':', '/', '?', '.', '>', '<', ',', ' ' }) + " "; } AnaliticsPhraseAllChat[] analiticsPhraseAllChats = db.GetAnaliticsPhraseAllChats(); if (analiticsPhraseAllChats.Length != 0) { if (_message.Chat.Type == Telegram.Bot.Types.Enums.ChatType.Private) { foreach (AnaliticsPhraseAllChat text in analiticsPhraseAllChats) { if (CalculateFuzzyEqualValue(clean.ToLower(), text.NameId, settings) >= settings.ProcentMessage) { AnaliticsPhrase[] analyticsText = db.GetAnaliticsPharse(text.NameId); IQueryable <AnaliticsPhrase> temp = analyticsText.OrderByDescending(p => p.Count).AsQueryable(); foreach (AnaliticsPhrase item in temp) { analiticsText += "\nГруппа: " + item.channel.ChannelName + ";\nФраза: " + text.NameId + ";\nКоличество использования: " + item.Count + "\n"; } break; } } } } if (analiticsText.Length != 0) { analitics += analiticsText; } else { analitics += "\nПо Вашему запросу нет совподений."; } SendMessage(botClient, _message); }