private static void ExceptionListener(string message, EMessageType messageType) { if (messageType == EMessageType.Error) { Debug.LogError(message); } else { Debug.Log($"{messageType.ToString()}:\n {message}"); } }
public override string ToString() { string desc = "Type:" + mode.ToString(); for (int idx = 1; idx < actions.Length; idx++) { desc += string.Format("\n[{0}] {1}:{2}{3} ({4})", idx, actions[idx].buttonType, actions[idx].buttonColor, actions[idx].isDisabled ? ":Disabled" : "", (EButtonPos)idx); } return(desc); }
/// <summary> /// 接收消息 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnMessageRecv(object sender, CMQTT.CMessageArgs e) { try { if (!_recieveTopics.ContainsKey(e.topic)) { OnMessageArgs.OnEvented(new CCMessageArgs(e.idNo, e.name, e.topic, e.message, true, "主题不存在")); return; } EMessageType msgType = _recieveTopics[e.topic]; switch (msgType) { case EMessageType.广播指令: //请求指示 CMessage <CData_Cmd> cmd_RPT = CJSon.Deserialize <CMessage <CData_Cmd> >(e.message); OnRPTCmdArgs.OnEvented(new CCmdArgs(e.topic, e.message, cmd_RPT)); break; case EMessageType.应答指令: //应答指令 CMessage <CData_Cmd> cmd_REQ = CJSon.Deserialize <CMessage <CData_Cmd> >(e.message); OnREQCmdArgs.OnEvented(new CCmdArgs(e.topic, e.message, cmd_REQ)); break; case EMessageType.状态消息: CMessage <CData_Status> status_data = CJSon.Deserialize <CMessage <CData_Status> >(e.message); OnStatusArgs.OnEvented(new CStatusArgs(e.topic, e.message, status_data)); break; case EMessageType.报警消息: break; case EMessageType.抽样消息: break; default: break; } OnMessageArgs.OnEvented(new CCMessageArgs(e.idNo, e.name, e.topic, e.message, false, msgType.ToString())); } catch (Exception ex) { OnMessageArgs.OnEvented(new CCMessageArgs(e.idNo, e.name, e.topic, e.message, true, ex.ToString())); } }
public static ClientNotificationMessageModel CreateNotificationMessage(string content, EMessageType type) { return new ClientNotificationMessageModel() { Content = content, MessageType = type.ToString() }; }
public void ShowMessage(string message, EMessageType type = EMessageType.Alert) { Console.WriteLine(string.Format("{0} {1}", message, type.ToString())); }
public void SendMessage(string[] args, EMessageType messageType) { DiscordWebhook webhook = configuration.Webhooks.FirstOrDefault(x => x.WebhookType == messageType.ToString()); if (webhook == null || string.IsNullOrEmpty(webhook.WebhookUrl)) { return; } List <Field> fields = new List <Field>(); string[] array = webhook.MessageFormat.Split(new string[] { ": ", ", " }, StringSplitOptions.RemoveEmptyEntries); int num = 0; while (num < array.Length - 1) { string[] arr = array.Skip(num).Take(2).ToArray(); string value = arr[1].Replace("{name}", args[0]).Replace("{steamid}", args[1]).Replace("{punisher}", args[2]); if (messageType != EMessageType.Unban) { value = value.Replace("{reason}", args[3]); } if (messageType == EMessageType.Ban) { value = value.Replace("{duration}", args[4]); } Field field = new Field(arr[0], value, true); fields.Add(field); num += 2; } DiscordWebhookMessage msg = new DiscordWebhookMessage(); msg.embeds = new List <Embed>() { new Embed(fields) }; using (WebClient wc = new WebClient()) { wc.Headers.Add(HttpRequestHeader.ContentType, "application/json"); wc.UploadString(webhook.WebhookUrl, JsonConvert.SerializeObject(msg)); } }
public void SendMessage(string content, EMessageType messageType) { DiscordWebhook webhook = configuration.Webhooks.FirstOrDefault(x => x.WebhookType == messageType.ToString()); if (webhook == null || string.IsNullOrEmpty(webhook.WebhookUrl)) { return; } DiscordWebhookMessage msg = new DiscordWebhookMessage(); msg.embeds = new List <Embed>() { new Embed(content, Convert.ToInt32(webhook.WebhookColor, 16)) }; using (WebClient wc = new WebClient()) { wc.Headers.Add(HttpRequestHeader.ContentType, "application/json"); wc.UploadString(webhook.WebhookUrl, JsonConvert.SerializeObject(msg)); } }
/// <summary> /// 接收消息 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnMessageRecv(object sender, CMQTT.CMessageArgs e) { try { if (!_recieveTopics.ContainsKey(e.topic)) { OnMessageArgs.OnEvented(new CCMessageArgs(e.idNo, e.name, e.topic, e.message, true, "主题不存在")); return; } CMessage <CData_Cmd> message = CJSon.Deserialize <CMessage <CData_Cmd> >(e.message); EMessageType msgType = _recieveTopics[e.topic]; //解析设备编号 List <CData_Cmd> data = new List <CData_Cmd>(); for (int i = 0; i < message.Data.Count; i++) { if (message.Data[i].ID == "-1") //广播设备编号 { for (int z = 0; z < _devices.Count; z++) { data.Add(new CData_Cmd() { ID = _devices[i].idNo, Name = _devices[i].Name, CmdName = message.Data[i].CmdName, CmdType = message.Data[i].CmdType, CmdInfo = message.Data[i].CmdInfo, Remark1 = message.Data[i].Remark1, Remark2 = message.Data[i].Remark2 }); } break; } else if (IsDeviceId(message.Data[i].ID)) //指定设备编号 { data.Add(new CData_Cmd() { ID = _devices[i].idNo, Name = _devices[i].Name, CmdName = message.Data[i].CmdName, CmdType = message.Data[i].CmdType, CmdInfo = message.Data[i].CmdInfo, Remark1 = message.Data[i].Remark1, Remark2 = message.Data[i].Remark2 }); } } if (data.Count == 0) { OnMessageArgs.OnEvented(new CCMessageArgs(e.idNo, e.name, e.topic, e.message, false, "NULL")); return; } CMessage <CData_Cmd> data_cmd = new CMessage <CData_Cmd>(); data_cmd.Header = message.Header; data_cmd.Data = data; string msg = CJSon.Serializer <List <CData_Cmd> >(data); if (msgType == EMessageType.广播指令) //接收主控端指令指示 { OnCmdRPTArgs.OnEvented(new CCmdArgs(e.topic, msg, data_cmd)); } else if (msgType == EMessageType.应答指令) //接收主端控制指令 { OnCmdREQArgs.OnEvented(new CCmdArgs(e.topic, msg, data_cmd)); } OnMessageArgs.OnEvented(new CCMessageArgs(e.idNo, e.name, e.topic, e.message, false, msgType.ToString())); } catch (Exception ex) { OnMessageArgs.OnEvented(new CCMessageArgs(e.idNo, e.name, e.topic, e.message, true, ex.ToString())); } }
public override string ToString() { return(string.Format("[{0}] {1}", Type.ToString(), Value.ToString())); }