Vb. net отправить сообщение на разногласия webhook - PullRequest
0 голосов
/ 24 февраля 2020

Я хочу отправить сообщение из моего приложения Vb. net на дискорд сервер, но я не знаю, как именно это сделать, вот мой код.

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Using x As New HttpRequest
            x.KeepAlive = True
            x.IgnoreProtocolErrors = True
            x.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.3"
            x.Cookies = New CookieDictionary(False)
            Dim dis As String = x.Post("https://discordapp.com/api/webhooks/681417452596232216/blahblahblahbsamplesample", String.Concat(New String() {"{""content"":", TextBox1.Text, "}"}), "application/json").ToString()
        End Using
    End Sub

1 Ответ

1 голос
/ 25 февраля 2020

При работе с серверами и ссылками рассмотрите возможность использования C#. Я не смог проверить ваш код, так как вы не указали, используете ли вы пользовательский класс.

Но если вы настаиваете на использовании VB. NET для отправки Discord Web Hooks, я нашел точный проект для этого, созданный в VB. NET. Проверьте это здесь: Discord-Webhook-Announcer

Если вы переключите этот проект на C#, вам придется создать класс.

using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;

namespace SendWebHook_Test
{
    class Http
    {
        public static byte[] Post(string uri, 
NameValuecollection pairs)
        {
            using (webClient= new WebClient())
                return WebClient.UploadValues(uri, pairs);
        }
    }
}

Мы используем тот же метод WebClient. Но в этом примере у нас есть 3 TextBox элементов управления.

  • TextBox1 для указанного URL-адреса
  • TextBox2 для отображаемого имени
  • TextBox3 для сообщение
  • и одна кнопка

В вашей главной форме будет объявлено о публикации c stati c, которая не может инициировать отправку WebHook.

public static void sendWebHook(string URL, string msg, 
string username)
{
    Http.post(URL, new NameValueCollection()
    {
        {
            "username",
            username
        },
        {
            "content",
            msg
        }
    });
}

private void button1_Click(object sender, EventArgs e)
{
    sendWebHook(textBox1.Text, textBox2.Text, textBox3.Text); 
}

Надеюсь, я ответил на ваш вопрос, у меня трудности с тестированием с Discord. Прости меня за любой фл aws.

...