private void TcpMessageReceived(object sender, OPENwebAsciiServerEventArgs e) { try { var users = _bot.UsersForOpenwebId (e.OPENwebId); foreach (var user in users) { var msg = e.Message; if(!e.HasParseError) { } TelegramBot.SendMessage (user, e.RawMessage); } } catch (Exception ex) { StLog.DebugWriteLine (ex.Message); } }
private static bool ParseMessageHeavy(OPENwebAsciiServerEventArgs oase) { try { var msg = oase.RawMessage.Trim (); oase.OPENwebId = msg.Substring (msg.Length - 8).Trim ().ToUpper (); var dateRegEx = new System.Text.RegularExpressions.Regex("(0[1-9]|[12][0-9]|3[01])[.](0[1-9]|1[012])[.](19|20)[0-9]{2}"); if (dateRegEx.IsMatch (msg)) { var date = dateRegEx.Match (msg).Value; var timeRegEx = new System.Text.RegularExpressions.Regex("(?:0?[0-9]|1[0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]"); if (timeRegEx.IsMatch (msg)) { var time = timeRegEx.Match (msg).Value; oase.MessageTime = DateTime.ParseExact(date + " " + time, "dd.MM.yyyy HH:mm:ss", CultureInfo.InvariantCulture); } else { return false; } } else { return false; } oase.State = msg.Contains (" EIN") ? true : false; var text = msg.Substring (msg.LastIndexOf (":") + 1); text = text.Replace (oase.OPENwebId, "").Trim (); oase.Message = text; oase.RawMessage = oase.RawMessage.Substring (0, oase.RawMessage.Length-8).Trim (); return true; } catch { return false; } }
private static bool ParseMessageDefaultTemplate(OPENwebAsciiServerEventArgs oase) { try { var msg = oase.RawMessage.Trim (); oase.OPENwebId = msg.Substring (msg.Length - 8).Trim ().ToUpper (); var sdt = DateTime.Now.Year.ToString () + "." + msg.Substring (0, 12); oase.MessageTime = DateTime.ParseExact(sdt, "yyyy.dd.MM. HH:mm", CultureInfo.InvariantCulture); var state = msg.Substring (13,3); oase.State = state == "EIN"; oase.Message = msg.Substring (16); oase.Message = oase.Message.Substring (0, oase.Message.Length - 8).Trim (); oase.RawMessage = oase.RawMessage.Substring (0, oase.RawMessage.Length-8).Trim (); return true; } catch { return false; } }