小编Lio*_*100的帖子

我的 discord.js guildmember 事件都没有发出,我的用户缓存基本上是空的,我的函数超时了?

我的代码已经运行了几个星期,但一些事件和函数随机停止工作!

首先, my guildMemberAdd, guildMemberRemove, 和guildMemberUpdateevents 只是停止做任何事情。没有出现错误,当我调试我的代码时,我意识到在发生相应的操作时甚至没有发出事件。

// const client = new Discord.Client();

client.on('guildMemberAdd', (member) => // not triggering!
 client.channels.cache.get('channel-id').send(`${member.tag} joined!`); // not sending!
Run Code Online (Sandbox Code Playgroud)

其次,当试图从GuildMemberManager缓存中获取成员时,它总是返回undefined

const member = message.guild.members.cache.get(targetID); // undefined
Run Code Online (Sandbox Code Playgroud)

当我尝试显示该公会成员缓存中的每个成员时,它只显示了我和我的机器人,而不是通常的 100 多个成员。

然后我尝试使用以下方法获取公会中的每个成员GuildMemberManager.fetch()

const members = await message.guild.members.fetch();
Run Code Online (Sandbox Code Playgroud)

但我收到了这个错误:

[GUILD_MEMBERS_TIMEOUT]:成员没有及时到达。

同样,我确定我的语法是正确的,因为它已经完美运行了一段时间,而且我最近没有更新任何会影响此代码的内容。

javascript discord discord.js

20
推荐指数
1
解决办法
2万
查看次数

如何让机器人发送个性化表情符号?

好吧,我目前正在使用表情符号:x:,但在我的服务器上我有一个名为:superbotxemoji 的表情符号:我只是不知道如何让我的机器人使用它

我的代码:

const Discord = require('discord.js');

module.exports = {
 name: 'say',
 description: 'say',
 execute(message, args) {
  const { prefix, token } = require('../config.json');

  if (!message.member.hasPermission('ADMINISTRATOR'))
   return message.channel.send({
    embed: {
     color: 16777201,
     description: `:x: | ${message.author}, You are not allowed to use this command.`,
     footer: {
      text: `   | Required permission: ADMINISTRATOR`,
     },
    },
   });

  if (!args.length)
   return message.channel.send({
    embed: {
     color: 16777201,
     description: `:x: | ${message.author}, You need to put a message.`,
     footer: {
      text: …
Run Code Online (Sandbox Code Playgroud)

javascript node.js discord discord.js

4
推荐指数
1
解决办法
2万
查看次数

discord.js 中的 User 和 GuildMember 有什么区别?

我的代码中有很多错误,我认为这是GuildMembers和之间混淆的结果Users。有人可以解释一下区别吗?

const user = message.mentions.users.first();

// TypeError: user.kick() is not a function
user.kick({ reason: 'spamming' });

// TypeError: user.ban() is not a function
user.ban({ reason: 'DM Advertising' });

// TypeError: message.author.hasPermission() is not a function
if (!message.author.hasPermission('ADMINISTRATOR')) return;

console.log(user.displayName); // undefined

// TypeError: message.member.createdAt() is not a function
embed.addField('Account Created', message.member.createdAt());

client.on('guildMemberUpdate', (oldMember, newMember) => {
 console.log(`${newMember.tag} was updated`); // 'undefined was updated'
});

if (message.member.bot) return; // undefined

// TypeError: Cannot read property 'add' of …
Run Code Online (Sandbox Code Playgroud)

javascript node.js discord discord.js

4
推荐指数
1
解决办法
5589
查看次数

如何将普通文本和嵌入到同一条消息中?不和谐.js

所以我想将嵌入文本和普通文本放在一条消息中。我想我已经看到了,但如果不可能的话,你可以在评论中说出来。

我尝试了一些可能很愚蠢的方法(我是编码新手)。这是我尝试的方法:

if (msg.startsWith(among + 'wiki')) {
 wikipog = message.content.slice(7);
 var embed = new Discord.MessageEmbed()
  .setTitle(':globe_with_meridians: Among Us Wiki :globe_with_meridians:')
  .setDescription('Down below is the page you asked for!')
  .addField(
   'If an image shows up down below, that means your page exists!',
   '\u200B'
  )
  .addField('\u200b', field)
  .setColor(color)
  .setFooter(footer);
 message.channel.send(embed, `https://among-us.fandom.com/wiki/${wikipog}`);
}
Run Code Online (Sandbox Code Playgroud)

先感谢您!

(顺便说一句,我知道我可以只执行两个 message.channel.send(),但这会发送两个 ping/通知)

javascript node.js discord.js

4
推荐指数
1
解决办法
7425
查看次数

message.client.guilds.fetch() 不是函数

这是我正在处理的代码的相关片段:

message.client.guilds.fetch('ID Here', false).then(guild => message.channel.send(guild.name))
Run Code Online (Sandbox Code Playgroud)

根据 do the discord.jsdocs,这个函数GuildManager#fetch()理论上应该可以工作。但是,我不断收到此错误:

message.client.guilds.fetch is not a function
Run Code Online (Sandbox Code Playgroud)

我什至尝试直接从函数文档中复制和粘贴示例,但它仍然给了我同样的错误。

文档示例

我很难过,任何帮助将不胜感激!

编辑:我应该提到所有其他discord.js fetch方法都可以正常工作,例如:

message.client.guilds.fetch is not a function
Run Code Online (Sandbox Code Playgroud)

编辑 #2:我之前的问题已经解决,我使用了错误版本的discord.js. 但是,我现在收到一个新错误:

message.channel.messages.fetch()
Run Code Online (Sandbox Code Playgroud)

运行时。

javascript node.js discord discord.js

3
推荐指数
1
解决办法
3335
查看次数

如何禁止不在服务器中的人

我想知道是否可以通过User ID. 通常,要禁止某人,您可以使用 aGuildMember.ban()方法

GuildMember.ban()
Run Code Online (Sandbox Code Playgroud)

但是,如果用户不在您要禁止他们加入的公会中,则不可能获得他们的GuildMember对象。有替代方法吗?


使用实际的不和谐程序,它可以禁止某人通过与他们的提他们加入之前User ID(例如:<@123456789012345678>)。然后,您可以右键单击提及,然后禁止它们:

例子

有没有办法复制这个discord.js


在我研究这个问题的过程中,我偶然发现有人和我问了同样的问题。接受的答案是使用该Guild.ban功能。

但是,由于我在Guild类 docs 中找不到该方法,并且使用了相同的答案fetchUser()(不推荐使用的函数),我得出的结论是它只能在discord.js v11.

由于它以前是早期版本中的一个函数,我敢肯定现在可能还有一种方法可以做到这一点,但我还没有找到。


最后,我知道我可以将 加入User ID到一个数组中,每当guildMemberAdd发出事件时,我都可以User ID根据该数组检查它们,但我仍然想知道是否可以禁止成员User ID。提前致谢!


编辑: v11Guild.ban()函数的文档

javascript node.js discord.js

3
推荐指数
1
解决办法
1172
查看次数

无法启动 webpack-dev-server - MODULE NOT FOUND

(我正在尝试按照本教程进行操作

当我运行时npm start,出现以下错误:

PS C:\Users\user\Desktop\Projects\Websites\project\project> npm start 
> PROJECT@0.0.0 start C:\Users\user\Desktop\Projects\Websites\project\project
> webpack-dev-server --config webpack.config.js --open

'find_dp0' is not recognized as an internal or external command,
operable program or batch file.
internal/modules/cjs/loader.js:775
    throw err;
    ^

Error: Cannot find module 'C:\webpack-dev-server\bin\webpack-dev-server.js'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:772:15)
    at Function.Module._load (internal/modules/cjs/loader.js:677:27)
    at Function.Module.runMain (internal/modules/cjs/loader.js:999:10)
    at internal/main/run_main_module.js:17:11 {
  code: 'MODULE_NOT_FOUND',
  requireStack: []
}
Run Code Online (Sandbox Code Playgroud)

我认为主要问题是它正在webpack-dev-server我的C:/驱动器中寻找模块,因为错误是这样说的:

Error: Cannot find module 'C:\webpack-dev-server\bin\webpack-dev-server.js'
Run Code Online (Sandbox Code Playgroud)

为什么它会在那里寻找模块而不是在本地node_modules文件夹中?这至少是我认为导致问题的原因,也许是其他原因?

我在其他任何地方都找不到在线相同的错误(它在用户C:/驱动器中查找的位置)。我在 Visual Studio Community …

node.js npm webpack material-design webpack-dev-server

3
推荐指数
1
解决办法
1455
查看次数

如何计算反应 Discord js

我在 中做了一个投票命令discord.js,但我不确定如何获得对特定表情符号做出反应的人数。这是我的代码:

if (!args[1]) return message.channel.send('You need to ask a question.');
let pollq = args.join(' ');
let whoask = msg.author.username;

const poll = new D.MessageEmbed()
 .setTitle('New Poll')
 .setAuthor(
  'Cleansound',
  'https://yt3.ggpht.com/a/AATXAJxJ8Qab93CDlxO7tOg06Jifb1Z1-14j1Xj2nt3dNg=s100-c-k-c0xffffffff-no-rj-mo'
 )
 .setDescription(`${whoask} Baru Saja Membuat Pollin question baru`)
 .setDescription(`${pollq}`)
 .addField(`  `, 'Untuk Setuju')
 .addField(`  `, 'Untuk Tidak Setuju')
 .setTimestamp()
 .setFooter(
  'Cleansound Host',
  'https://yt3.ggpht.com/a/AATXAJxJ8Qab93CDlxO7tOg06Jifb1Z1-14j1Xj2nt3dNg=s100-c-k-c0xffffffff-no-rj-mo'
 );
await poll.react('');
await poll.react('');
msg.channel.send(poll);
Run Code Online (Sandbox Code Playgroud)

javascript node.js discord discord.js

3
推荐指数
1
解决办法
1744
查看次数

Discord.js 如何为我的机器人所在的每个公会创建邀请?

我正在尝试发出一个命令,在其中我可以获得机器人当前所在的每个公会邀请。当前代码:

client.on('message', async (message) => {
 if (message.content.startsWith(prefix + 'invite')) {
  let invite = client.guilds
   .createInvite({
    maxAge: 0, // 0 = infinite expiration
    maxUses: 0, // 0 = infinite uses
   })
   .catch(console.error);
  message.channel.send(invite);
 }
});
Run Code Online (Sandbox Code Playgroud)

错误:

DiscordAPIError: Cannot send an empty message
Run Code Online (Sandbox Code Playgroud)

javascript node.js discord discord.js

2
推荐指数
1
解决办法
6846
查看次数

如何修复错误:字体配置错误:无法加载默认配置文件

client.on('guildMemberAdd', async (member) => {
 const channel = member.guild.channels.cache.find(
  (channel) => channel.name === 'general'
 );

 if (!channel) return;

 const canvas = Canvas.createCanvas(700, 250);

 const ctx = canvas.getContext('2d');

 const background = await Canvas.loadImage('./wallpaper.jpg');
 ctx.drawImage(background, 0, 0, canvas.width, canvas.height);

 ctx.strokeStyle = '#ffffff';
 ctx.strokeRect(0, 0, canvas.width, canvas.height);

 // Select the font size and type from one of the natively available fonts
 ctx.font = '60px ArialCE.ttf';
 // Select the style that will be used to fill the text in
 ctx.fillStyle = '#ffffff';
 // Actually …
Run Code Online (Sandbox Code Playgroud)

javascript node.js discord.js

1
推荐指数
1
解决办法
2万
查看次数