using System; using System.Net; using Telegram.Bot; using Telegram.Bot.Types.Enums; using Telegram.Bot.Types.ReplyMarkups; namespace Monithor.api.Alerting { public class MattermostWebhookTarget : ITarget { public MattermostWebhookTarget(string url, IMonitor monitor, string displayName, string username = "monithor-alerting", string channel = "") { _url = url; _channel = channel; _username = username; Monitor = monitor; _displayName = displayName; } private readonly string _url; private readonly string _channel; private readonly string _username; public IMonitor Monitor { get; set; } private readonly string _displayName; public void SendMessage() { var message = General.GetMessage(Monitor, _displayName); var json = $"{{ \"channel\": \"{_channel}\", \"username\": \"{_username}\", \"text\": \"{message}\" }}".Replace("\n", "\\n");; try { new WebClient().UploadString(_url, json); } catch (Exception e) { Console.WriteLine(e); } } } }