我的代码已经运行了好几个星期了,但是一些事件和函数已经随机停止工作了!
首先,我的gudMemberAdd
、gudMemberRemove
和gudMemberUpdate
事件只是停止执行任何操作。没有出现错误,当我调试代码时,我意识到当相应的操作发生时,事件甚至没有被发出。
// const client = new Discord.Client();
client.on('guildMemberAdd', (member) => // not triggering!
client.channels.cache.get('channel-id').send(`${member.tag} joined!`); // not sending!
其次,当试图从GuildMemberManager
缓存中获取成员时,它总是返回undefined
:
const member = message.guild.members.cache.get(targetID); // undefined
当我试图显示该公会成员缓存中的每个成员时,它只显示我和我的机器人,而不是通常的100名成员。
然后我试图获取每个成员在我的公会使用GuildMemberManager.fetch()
:
const members = await message.guild.members.fetch();
但是我得到了这个错误:
[公会成员超时]:成员没有及时到达。
同样,我确信我的语法是正确的,因为它已经完美地工作了一段时间,而且我最近没有更新任何会影响这段代码的东西。
当涉及到您需要处理的数据量时,维护一个有状态的应用程序可能会很困难,尤其是在规模上。网关意图是一个帮助您降低计算负担的系统。
网关意图允许您选择要“订阅”的事件,这样您就不必在不使用的事件上使用存储空间。这一特性被引入了discord。v12中的js
由于数据的敏感性,一些意图被定义为“特权”。这些意图是:
GUILD\u存在
GUILD\u会员
截至10月27日,这些意图已默认关闭。
>
GUILD\u存在
Guild.memberCount
返回准备就绪的计数Presences
的事件都不会触发(presextUpdate
)Presence
数据返回null
或未定义的
工会会员
显示为脱机。client.login()
如果您在ClientOptions中指定了felchAll成员
选项,则超时GUILD\u会员
GuildMemberManager.fetch()
和UserManager.fetch()
方法超时Guild成员
的事件都不会触发(GuildMemberAdd
,GuildMemberRemove
,GuildMemberUpdate
,GuildMemberTalk
和GudMembersChunk
)通过不和谐开发者门户:
首先,您必须从Discord开发者站点手动启用意图。转到应用程序,选择你的应用程序,然后在侧边栏上找到“机器人”选项卡。然后可以向下滚动,直到看到以下内容:
如屏幕截图所示,如果您的机器人在超过75个公会中,则需要验证。
如果您的机器人已验证:
一旦验证了bot,您将无法在开发人员门户中手动翻转意图开关。若要请求白名单访问验证机器人的其他特权网关,请在此处向我们的支持团队发送通知单!请确保包括您请求的机器人ID、您请求的意图的用例的基本描述,以及正在运行的用例的屏幕截图或视频(或者代码片段,如果不是面向用户的!)。
通过discord.js模块:
一旦您勾选了其中一个/两个意图,您只需通过discord启用它们。js。不和谐。js意向指南彻底解释了如何做到这一点,但我将在这里进行解释。
如果你想要所有的意图,你不需要经历这些步骤。默认情况下,Discord启用所有意图(显然这两个除外)。只要您在开发人员门户中勾选了这两个意图,如果您不想阻止任何其他意图,就可以在这里停止。如果你这样做了,请记住,只有不和谐才能支持意图。JSV12,所以您可能需要升级。
其中一个ClientOptions
(ClientOpthtml" target="_blank">ions
是创建客户端时要传递的潜在选项的类型定义)是ws
(还有另一个潜在websocket选项的类型定义)。在那里,您可以找到intents
属性。
intents
接受一个IntentsResolable,它可以是一个字符串或一个意图的字符串数组(如'GUILD_PRESENCES'
)。所有可用的intents),一个位域(一个对应于意图的数字),一个Intents类的实例。
示例:
// using a string
const client = new Discord.Client({ ws: { intents: 'GUILD_PRESENCES' }});
// using an array
const client = new Discord.Client({ ws: { intents: ['GUILD_PRESENCES', 'GUILD_MEMBERS'] }});
// using a bitfield value
const client = new Discord.Client({ ws: { intents: 32509 }));
// using Intents class
const client = new Discord.Client({ ws: { intents: Discord.Intents.PRIVILEDGED }});
const client = new Discord.Client({ ws: { intents: new Discord.Intents(Discord.Intents.ALL) }});
要解决此问题,请转到:
Discord开发者门户
我不明白为什么我所有的bean在控制器中都是空的。我知道这是一个常见的问题,但我不是用实例化对象。 控制器: 当我请求我在上收到一个NullPointerException。 我的服务 网络配置 主要的 启动应用程序时,我可以在日志中看到bean实际上正在自动连接到控制器: 所以我不明白为什么当我试图访问控制器中的时,它是空的。我不会在任何地方用实例化控制器。 裁剪异常 编辑: 我已经删除了网页。
我一直在尝试安装Python 3.5.1的pygame,在Windows 10,64位。到目前为止,我所尝试的一切都导致了某种形式的错误消息。我最近的一次尝试是从http://www.lfd.uci.edu/~gohlke/pythonlibs/#pygame下载pygame-1.9.2a0-cp35-none-win_amd64.whl(也尝试了32位,得到了同样的错误),并将.whl文件拖到p
我制作了一个不和谐的机器人.js并尝试执行帮助命令以向用户显示所有可用的命令。 示例命令:头像.js 然后,我尝试发送一条包含完整命令列表的消息,比如: < li >命令1 < li >描述 < li >用法 < li >命令2 < li >描述 < li >用法 <李>... 帮助.js 我的代码有点工作,但它只发送第一个命令。 我对javascript很陌生,我找不到解决这个问题的方法。我试图
问题内容: 从数据库表和solr中读取数据后,我编写了一个脚本来更新数据库表。我正在使用asyn.waterfall模块。问题在于,成功完成所有操作后,脚本不会退出。我使用过的数据库连接池也认为可能正在创建脚本以无限期等待。我想将此脚本放在crontab中,如果无法正确退出,它将不必要地创建大量实例。 问题答案: 我刚刚经历了这个问题。 仅仅使用的问题是我正在处理的程序正在创建句柄,但从未销毁它们
更新:正如当前答案所建议的,我还给出了的输出:
评估根项目“android”时出现问题。 配置项目时出现问题:应用程序。无法打开构建文件“C:\ flutter \ basic apone \ Android \ app \ build . gradle”(C:\ Users(my username))的proj泛型类缓存。grad le \ caches \ 6.7 \ scripts \ dzfm 7 roiq 3666 tjbu 4va