如何像使用不和谐 API 一样创建不和谐服务器即时邀请?

Posted

技术标签:

【中文标题】如何像使用不和谐 API 一样创建不和谐服务器即时邀请?【英文标题】:How can I create a discord server instant invite like using the discord API? 【发布时间】:2018-08-28 13:23:07 【问题描述】:

我知道有很多框架,比如 discord.js 来管理 Discord 服务器。但它们对我的需要来说太复杂了。我需要简单地创建不和谐的即时邀请,例如...我尝试使用以下链接获取一个代码,该代码显然授予创建即时邀请的权限,但我不能超越... .io 框架。我想用代码创建一个邀请链接。

链接:

https://discordapp.com/api/oauth2/authorize?client_id=clientId&redirect_uri=http%3A%2F%2Flocalhost%3A5000%2Fcallback&response_type=code&scope=guilds.join

我需要一个简单的 javascript 解决方案,只为我的服务器创建一个即时邀请链接,供访问我网站的任何人使用。

更新:

我发现我必须首先授权我的帐户/机器人帐户,如下所示:

第一步:获取授权码

https://discordapp.com/api/oauth2/authorize?client_id=clientId&redirect_uri=http%3A%2F%2Flocalhost%3A5000%2Fcallback&response_type=code&scope=guilds.join

第 2 步:使用 POST 请求交换令牌代码,这是我尝试过的方法

//BUT I HAVE NO IDEA WHY THIS DOESN'T WORK

var client_id = 'CLIENT_ID';
var client_secret = 'CLIENT_SECRET';
var redirect_uri = 'http://localhost/callback';
var url = 'https://discordapp.com/api/oauth2/token';
var code = 'NVqrIAvYStyH7qMF6JjeVhbZWDO07u';

    var param = 
        'grant_type': 'authorization_code',
        'client_id': client_id,
        'client_secret': client_secret,
        'code': code,
        'redirect_uri': redirect_uri,
        'scope': 'guilds.join'
    ;

    $.ajaxSetup(
        headers: 
            'Content-Type': 'application/x-www-form-urlencoded'
        
    );
    $.ajax(
        type: "POST",
        url: url,
        data: param,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(respose) 
            $('body').text(response);
        
    );

在此之后,我应该获得一个授权令牌来自动生成一个我不知道该怎么做的邀请......

【问题讨论】:

如果你只需要一个邀请链接,为什么要在运行时创建呢?为什么不直接创建一个永久邀请并将其粘贴到网站上? @André Paulo 这是一个列出不和谐服务器的网站,例如 discord.me 或 discordservers.com。用户只需要提供服务器 ID 和其他一些详细信息,我们会做剩下的事情,比如邀请玩家到服务器等等。 您是在尝试生成邀请链接,还是自动邀请用户到服务器?如果您想将用户添加到公会,则需要使用 OAuth2,这有点棘手 @André Paulo 这就是我想要的,我想自动邀请用户到服务器...请任何指导...我更新了我如何尝试的问题.. 你可以看看这个:medium.com/@orels1/… 【参考方案1】:

即时邀请->高级设置->过期时间:从不。

链接不会改变。

使用该链接,而不是为每个访问者创建一个新链接。

【讨论】:

这适用于列出不和谐服务器的网站,例如 discord.me 或 discordservers.com 。用户只需提供服务器 ID 和其他一些详细信息,我们会做剩下的事情,比如邀请玩家到服务器等等。- 您需要邀请链接。如果您不拥有服务器或不是会员,我认为您无法生成链接。只使用 id 是行不通的。 您可以仅使用 ID 生成邀请链接,但机器人需要在服务器上。 @André Paulo 我将如何邀请生成仅包含服务器 ID 的邀请链接 您需要在该服务器上安装一个机器人。我已经看到一些库这样做了,所以如果库可以,那么使用原始 API 的你也可以。

以上是关于如何像使用不和谐 API 一样创建不和谐服务器即时邀请?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用java中的api创建一个不和谐的网络钩子

使用 json 统计不和谐用户

如何使用参数制作不和谐命令?

不和谐的自我机器人表现得像无法阅读消息

用于将图像从 Imgur 拉到不和谐机器人中的 API

如何让不和谐机器人在命令上创建频道