【发布时间】: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 分钟才能算作邀请。
【问题讨论】: