public static void SendMessage(List <string> traces, string dpsReportPermalink, WebhookSettings settings) { if (settings.WebhookURL != null && settings.WebhookURL.Length > 0) { if (!dpsReportPermalink.Contains("https")) { traces.Add("Nothing to send to Webhook"); return; } try { var client = new DiscordWebhookClient(settings.WebhookURL); try { if (settings.Embed == null) { _ = client.SendMessageAsync(text: dpsReportPermalink).Result; } else { _ = client.SendMessageAsync(embeds: new[] { settings.Embed }).Result; } traces.Add("Sent Embed"); } finally { client.Dispose(); } } catch (Exception e) { traces.Add("Couldn't send embed: " + e.Message); } } }
public static void SendMessage(ParsedLog log, string[] uploadresult) { if (Properties.Settings.Default.WebhookURL != null && Properties.Settings.Default.WebhookURL.Length > 0) { if (!uploadresult[0].Contains("https")) { log.UpdateProgressWithCancellationCheck("Nothing to send to Webhook"); return; } try { var client = new DiscordWebhookClient(Properties.Settings.Default.WebhookURL); try { if (Properties.Settings.Default.SendSimpleMessageToWebhook) { _ = client.SendMessageAsync(text: uploadresult[0]).Result; } else { _ = client.SendMessageAsync(embeds: new[] { GetEmbed(log, uploadresult) }).Result; } log.UpdateProgressWithCancellationCheck("Sent Embed"); } finally { client.Dispose(); } } catch (Exception e) { log.UpdateProgressWithCancellationCheck("Couldn't send embed: " + e.GetFinalException().Message); } } }
public static ulong SendMessage(string webhookURL, string embed, out string message) { if (IsWebhookURLValid(webhookURL)) { try { var client = new DiscordWebhookClient(webhookURL); ulong id; try { id = client.SendMessageAsync(text: embed).Result; } finally { client.Dispose(); } message = "Sent Embed"; return(id); } catch (Exception e) { message = "Couldn't send embed: " + e.Message; return(0); } } message = "Webhook url invalid"; return(0); }
public static void DeleteMessage(string webhookURL, ulong id, out string message) { if (IsWebhookURLValid(webhookURL)) { try { var client = new DiscordWebhookClient(webhookURL); try { client.DeleteMessageAsync(id).Wait(); } finally { client.Dispose(); } message = "Deleted message"; return; } catch (Exception e) { message = "Couldn't delete message: " + e.Message; return; } } message = "Webhook url invalid"; }
public string SendMessage() { if (_webhookURLValid) { try { var client = new DiscordWebhookClient(_webhookURL); try { if (_embed == null) { _ = client.SendMessageAsync(text: _message).Result; } else { _ = client.SendMessageAsync(embeds: new[] { _embed }).Result; } } finally { client.Dispose(); } return("Sent Embed"); } catch (Exception e) { return("Couldn't send embed: " + e.Message); } } return("Webhook url invalid"); }
protected async Task <Task> DiscordBotChatControler(string message, string sender_name, UUID sender_uuid, bool avatar, bool group, UUID group_uuid, bool localchat, bool fromme) { if (fromme == false) { if (myconfig.DiscordFull_Enable == false) { if (discord_group_relay == true) { // GroupChat Relay only if (group == true) { if (myconfig.DiscordRelay_URL != "") { if ((myconfig.DiscordRelay_GroupUUID == group_uuid.ToString()) || (myconfig.DiscordRelay_GroupUUID == "*") || (myconfig.DiscordRelay_GroupUUID == "all")) { Group Gr = mygroups[group_uuid]; using var DWHclient = new DiscordWebhookClient(myconfig.DiscordRelay_URL); string SendMessage = "(" + Gr.Name + ") @" + sender_name + ":" + message + ""; await DWHclient.SendMessageAsync(text : SendMessage).ConfigureAwait(false); DWHclient.Dispose(); } } } } } else if (DiscordClientConnected == true) { if (avatar == true) { if (localchat == false) { if (group == true) { await DiscordGroupMessage(group_uuid, sender_name, message).ConfigureAwait(false); } else { await DiscordIMMessage(sender_uuid, sender_name, message).ConfigureAwait(false); } } else { await SendMessageToChannelAsync("localchat", "" + sender_name + ":" + message, "bot", UUID.Zero, "bot").ConfigureAwait(false); } } } } return(Task.CompletedTask); }
public void Dispose() => _discordWebhookClient.Dispose();
private void Window_Closed(object sender, EventArgs e) { discord.Dispose(); }
async private void SendButton_Click(object sender, EventArgs e) { Embed embed = null; if (EmbedEnabled.Checked) { EmbedBuilder builder = new EmbedBuilder(); builder.Title = EmbedNameTextBox.Text; builder.Description = DescriptionTextBox.Text; builder.Color = (Discord.Color?)colorDialog1.Color; builder.ImageUrl = ImageUrl.Text; if (AuthorEnabled.Checked) { builder.WithAuthor(new EmbedAuthorBuilder().WithIconUrl(AuthorIconUrlTextBox.Text).WithName(AuthorText.Text).WithUrl(AuthorUrlTextBox.Text)); } if (FooterEnabled.Checked) { builder.WithFooter(new EmbedFooterBuilder().WithIconUrl(FooterIconUrl.Text).WithText(FooterText.Text)); } embed = builder.Build(); } if (InputWebHookRadioBtn.Checked) { DiscordWebhookClient webhookClient = new DiscordWebhookClient(InputWebHookTextBox.Text); await webhookClient.SendMessageAsync(text: TextTextBox.Text, username : NameTextBox.Text, avatarUrl : AvatarTextBox.Text, embeds : new Embed[] { embed }); webhookClient.Dispose(); } else if (ChooseWebHookRadioBtn.Checked) { //DiscordWebhookClient webhookClient = new DiscordWebhookClient(hooks[WebHookComboBox.SelectedIndex]._WebHook); //await webhookClient.SendMessageAsync(text: TextTextBox.Text, username: NameTextBox.Text, avatarUrl: AvatarTextBox.Text, embeds: new Embed[] { embed }); //webhookClient.Dispose(); MessageBox.Show("Нажмите кнопку \"Выбрать\""); } else if (InputTokenRadioButton.Checked) { if (_client == null) // Если сменить токен после отправки, отправлять будет всё-равно на прошлый токен { _client = new DiscordSocketClient(); await _client.LoginAsync(0, TokenTextBox.Text); // TokenType.User = 0 await _client.StartAsync(); while (_client.ConnectionState != Discord.ConnectionState.Connected) { await Task.Delay(500); } } if (GuildChannelRadioButton.Checked) // Guild Channel { var channel = _client .GetChannel(ulong.Parse(ChannelIdTextBox.Text)); await((IMessageChannel)channel).SendMessageAsync(TextTextBox.Text, embed: embed); } else if (UserRadioButton.Checked) // User channel { SocketUser user = _client .GetUser(ulong.Parse(UserIdTextBox.Text)); await user.SendMessageAsync(TextTextBox.Text, embed : embed); } } }
public void Dispose() { _client.Dispose(); }