当人们通过我的机器人在特定渠道以这种方式加入我的服务器时,我想发送一条消息(只是特定服务器,而不是其他加入了该机器人的服务器!):
Welcome {USERNAME_TAG}
Invited by: {THE USER WHO INVITE THE USER}
Member count: {CHANNEL MEMBERS}
我是新编码员-对于菜鸟问题很抱歉
答案 0 :(得分:0)
第一件事和第三件事都可以完成。中间的事情,我不相信可以做到。这是代码:
// Run dotenv
require('dotenv').config();
const Discord = require('discord.js');
const client = new Discord.Client();
client.on('ready', () => {
console.log(`Logged in as ${client.user.tag}!`);
});
client.on('guildMemberAdd', member => {
channel = member.guild.channels.cache.get("channel id");
channel.send("Welcome " + member.displayName + "\n Member Count: " + member.guild.memberCount);
})
client.login(process.env.DISCORD_TOKEN);
在那里。当有人加入时,我们只是将带有一些数据的消息发送到频道。
答案 1 :(得分:0)
您可以使用guildMemberAdd
事件,该事件在成员加入您的机器人所在的行会时发出。
// create the event
client.on('guildMemberAdd', (member) => {
// code..
});
第一个和最后一个请求非常简单。您可以使用member.user.tag
显示成员的标签,并可以使用member.guild.memberCount
获取行会中成员的数量。
但是,您的第二个请求虽然可能,但执行起来会有些困难。我建议阅读this guide,以了解有关邀请以及如何使用邀请的更多信息,但现在,我将仅使用邀请函显示在其网站上。
const invites = {};
client.on('guildMemberAdd', (member) => {
member.guild.fetchInvites().then(async (guildInvites) => {
const ei = invites[member.guild.id];
invites[member.guild.id] = guildInvites;
const invite = guildInvites.find((i) => ei.get(i.code).uses < i.uses);
const inviter = await client.users.fetch(invite.inviter.id);
const channel = member.guild.channels.cache.get('Channel ID Here');
channel.send(
`Welcome ${member.user.tag}\nInvited by ${inviter.tag ||
'Unknown#0000'}\nMember Count: ${member.guild.memberCount}`
);
});
});
答案 2 :(得分:0)
您可以使用 guildMemberAdd
df
group var_ABC1 var_GHI2 var_DEF1
1 A 1.5 1.5 1.50
2 A 2.6 2.6 2.60
3 A 3.9 3.9 3.87
4 A 4.0 4.0 4.00
5 A 5.0 5.0 5.00
6 A 6.1 6.1 6.08
7 A 7.0 7.0 7.00
8 A 9.0 9.0 9.00
9 A 9.3 9.3 9.35
10 A 50.0 50.0 50.00
11 B 1.0 1.0 1.00
12 B 2.0 2.0 2.00
13 B 3.0 3.0 3.00
14 B 4.0 4.0 4.00
15 B 5.0 5.0 5.00
16 B 6.0 6.0 6.00
17 B 7.0 7.0 7.00
18 B 8.0 8.0 8.00
19 B 9.0 9.0 9.00
20 B 50.0 50.0 50.00