当前位置: 首页 > 知识库问答 >
问题:

当人们加入我的服务器时,这个迎接他们的不和谐机器人不起作用?

澹台胜
2023-03-14

我试图向任何使用此机器人加入我的不和谐服务器的人发出欢迎消息,但当有人加入时,不会发生任何事情。我得到一个错误:引用错误:通道名称未定义在C:\用户\Vir\桌面\DiscBot\index.js:13: 71在Map.find(C:\用户\Vir\桌面\DiscBot\node_modules\discord.js\src\util\Collection.js:506: 11)在客户端。(C:\用户\Vir\桌面\DiscBot\index.js:13: 43)在Client.emit(events.js:223: 5)在公会。_addMember(C:\用户\Vir\桌面\DiscBot\node_modules\discord.js\src\结构\Guild.js:1298: 19)在GuildMemberaddHandler.handle(C:\用户\Vir\桌面\DiscBot\node_modules\discord.js\src\客户端\WebSocketPacketMdd.js:12: 13)在WebSocketPacketManager.handle(C:\用户\Vir\桌面\DiscBot\node_modules\discord.js\src\客户端\webSocketPacketManager.js:105: 65)在WebSocketConnection.on数据包(C:\用户\Vir\桌面\DiscBot\node_modules\discord.js\src\客户端\webSocketConnection.js:333: 35)在WebSocketConnection.on消息(C:\用户\Vir\桌面\DiscBot\node_modules\discord.js\src\Client\webSocketConnection. js: 296:17)在WebSocket. onMessage(C:\用户\Vir\Desktop\DiscBot\node_modules\ws\lib\event-Target. js: 120:16)PS C:\用户\Vir\Desktop\DiscBot

const Discord = require('discord.js');
const bot = new Discord.Client();

const token = "NzEzMTcwNjc4NjYwMjAyNTA2.XscOxQ.0YxwpbBEITN0DIwGFwYIdRxCOu0";

const PREFIX = ";";

bot.on('ready', () =>{
    console.log('This bot is online!');
})

bot.on('guildMemberAdd', member =>{
    const channel = member.guild.channels.find(channel => channelname === "welcome");
    if(!channel) return;

    channel.send('Welcome, ${member}, make sure to read the rules and verfiy.') 
});


bot.on('message', message=>{

    let args = message.content.substring(PREFIX.length).split(" ")

    switch(args[0]){
        case 'Version':
            message.reply('Version 1.0.0');
        break;
        case 'Commands':
            message.reply(';Version ;Commands');
        break;


    }
})

bot.login(token);

共有3个答案

容飞掣
2023-03-14

错误表明未定义channelname。我认为你应该使用频道。取而代之的是名字,只是一个简单的打字错误。

在OP的评论之后,我检查了文档,您必须访问cache属性才能获得频道列表,如下所示:

js prettyprint-override">bot.on('guildMemberAdd', member => {
    const channel = member.guild.channels.cache.find(channel => channel.name === "welcome");

    if(!channel) {
        return;
    }

    channel.send(`Welcome, ${member}, make sure to read the rules and verfiy.`) 
});
卞嘉许
2023-03-14

他们已经更改了它,所以您现在需要使用缓存。所以在这种情况下:

bot.on('guildMemberAdd', member =>{
    const channel = member.guild.channels.cache.find(channel => channel.name === "welcome");
    if(!channel) return;

    channel.send('Welcome, ${member}, make sure to read the rules and verfiy.') 
});

希望这有帮助!

景英杰
2023-03-14

这是我用于此的代码

      client.on("guildMemberAdd", (member) => {

    const channel = member.guild.channels.cache.get('CHANNEL_ID'); 
    channel.send(`**Hey ${member.user}, welcome to the server!\nMake sure to read the rules in <#CHANNEL_ID>**`); 
});

 类似资料:
  • 我试图让我的自我机器人加入服务器。我知道self-bots反对discordtos,但我想学习一些新的东西。 这是我尝试过的命令: 错误:

  • 当成员加入服务器时,bot不会以消息响应。有什么问题吗?

  • 我正在努力让我的机器人进入语音频道,我已经阅读了这里的很多帖子,但没有一篇能够解决我的问题,我正在尝试让我的机器人复制yt视频的声音,但它甚至没有加入,我不知道该怎么办,下面是代码:

  • 我已经创建了一个bot,它现在在我的discord服务器中,使用下面的代码。 我的问题是,一旦我在与bot不和谐的聊天中,我如何调用命令让bot运行代码,为用户列表收集csv?我不确定如何调用机器人,一旦它在聊天/服务器中获得列表。

  • 我希望我的不和谐机器人加入语音频道。但是我遇到了一个问题,每当我想让它加入风投时,什么都不会发生——甚至没有错误。我尝试过SO/Git的其他解决方案,但没有一个适合我(下面有一个)。 编辑:解决了!问题是:没有不和。已安装py[语音]模块。解决方案:

  • 当我在discord内部运行以下脚本(“cmd中的node musicbot.js”)和“!play ytlink”时,bot加入语音通道,并在控制台中记录命令和链接。然而,音乐并没有开始播放。我安装了ffmpeg、ytdl核心和discord。js。 有人能帮我吗?我不知道是哪一部分搞砸了。