您好我想让机器人向加入服务器的新用户发送直接/私人消息。它能够在频道上发布欢迎消息,但它不断为直接消息抛出错误。
const Discord = require('discord.js');
const bot = new Discord.Client ();
bot.on('ready', () => {
console.log('I am ready!');
});
bot.on('guildMemberAdd', member => {
member.guild.defaultChannel.send(`Welcome to the server, ${member}!`);
console.log(`${member.user.username} has joined`);
});
bot.login('TOKEN_HERE');
答案 0 :(得分:0)
Member
对象有一个像channel一样的发送方法。
注意不推荐使用sendMessage
const Discord = require('discord.js');
const bot = new Discord.Client ();
bot.on('guildMemberAdd', member => {
member.send("Welcome to the server!");
});
bot.login('TOKEN_HERE');
答案 1 :(得分:0)
使用 Python 可以运行如下脚本 (Source)
# bot.py
import os
import discord
from dotenv import load_dotenv
load_dotenv()
TOKEN = os.getenv('DISCORD_TOKEN')
client = discord.Client()
@client.event
async def on_ready():
print(f'{client.user.name} has connected to Discord!')
@client.event
async def on_member_join(member):
await member.create_dm()
await member.dm_channel.send(
f'Hi {member.name}, welcome to my Discord server!'
)
client.run(TOKEN)
on_member_join()
处理新成员加入公会的事件。
在本例中,它使用 member.create_dm()
创建直接消息通道。然后,使用该频道向该新成员.send()
直接发送消息。