Vb.net在不和谐的webhook上发送消息

时间:2020-02-24 16:56:19

标签: vb.net discord webhooks

我想从我的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 个答案:

答案 0 :(得分:1)

使用服务器和链接时,请考虑使用C#。由于您尚未指定是否使用自定义类,因此我无法测试您的代码。

但是,如果您坚持使用VB.NET发送Discord Web Hook,我发现了一个针对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 控件。

  • 指定URL的TextBox1
  • TextBox2作为显示名称
  • 消息的TextBox3
  • 还有一个按钮

在您的Main表单上,将声明一个公共静态void来触发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上对此进行测试。原谅我的任何缺陷。