Discord bot:检查谁邀请了某人

Posted

技术标签:

【中文标题】Discord bot:检查谁邀请了某人【英文标题】:Discord bot : Check who invited someone 【发布时间】:2018-06-20 20:03:44 【问题描述】:

我正在创建一个 Discord 机器人,它会根据用户的邀请数量来奖励用户。

API 允许您在用户执行 !invites 时检索他们的邀请数,但是这很容易被 bott 攻击,因此我正在尝试寻找一种方法来防止 botters。

当前代码:

[Command("test")]
public async Task InviteCheck()

    var test = await Context.Guild.GetInvitesAsync();

    foreach (var tests in test)
    
        if (Context.User.Username + "#" + Context.User.Discriminator == tests.Inviter.ToString())
        
            //amount of invites
            await Context.Channel.SendMessageAsync(tests.Uses.ToString());
        
    

所以我有这个想法来检查用户何时加入,然后检查他们的邀请链接,但显然这不包含在 API 中。

在文档中:https://discord.foxbot.me/docs/api/Discord.IInviteMetadata.html

它显示我可以检索邀请者信息(我不确定),但我不知道如何使用 Iinvitemetadata。

Tldr;我想制作一个不和谐的机器人来检查用户有多少有效邀请,如果受邀用户离开则删除邀请。用户必须在群组中停留 10 分钟才能算作邀请。

【问题讨论】:

【参考方案1】:

当有新用户加入公会时,您可以检查事件。 See here

但我认为 *** 不适合解决这类问题,因为它非常模糊,而且您不会从用户那里获得完整的开箱即用解决方案。

我将从their github repository 获取源代码,并了解它可以做什么以及如何做。

或者,您应该在官方非官方“Discord API”Discord-Server 中提出此类问题,其中有一个用于您的库 Discord.Net 的额外频道,称为“#dotnet_discord-net”-Here you go。

【讨论】:

以上是关于Discord bot:检查谁邀请了某人的主要内容,如果未能解决你的问题,请参考以下文章

DiscordJs:邀请机器人时检查 serverId

如何添加一种方法来检查某人是不是已经在部落中/或者他们是不是是 Discord 中的部落所有者 - Discord.JS

Discord bot 发送后删除消息

检查 Discord bot 在服务器中是不是具有斜杠命令权限?

通过 discord.py 中的用户 ID 向某人发送消息

公会加入事件打印机器人被邀请 - Discord.py