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);
         }
     }
 }
Example #2
0
 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");
 }
Example #6
0
        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();
 }
Example #9
0
        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);
                }
            }
        }
Example #10
0
 public void Dispose()
 {
     _client.Dispose();
 }