javascript - discord.js v12 向第一个频道发送消息
问题描述
嗨,我如何将消息发送到机器人可以在 Discord.js v12 中发送消息的第一个通道。请帮我。这对我不起作用:
client.on("guildCreate", guild => {
let channelID;
let channels = guild.channels;
channelLoop:
for (let c of channels) {
let channelType = c[1].type;
if (channelType === "text") {
channelID = c[0];
break channelLoop;
}
}
let channel = client.channels.get(guild.systemChannelID || channelID);
channel.send(`Thanks for inviting me into this server!`);
});
解决方案
更新了 Discord v13
注意c.type
已从 更改text
为GUILD_TEXT
const Discord = require("discord.js");
const client = new Discord.Client();
client.on("guildCreate", (guild) => {
const channel = guild.channels.cache.find(
(c) => c.type === "GUILD_TEXT" && c.permissionsFor(guild.me).has("SEND_MESSAGES")
);
// Do something with the channel
});
推荐阅读
- azure - 连接到 cosmos db 时出现“未找到给定的标头”
- swift - iOS 12 错误:似乎来自与此上下文不同的 NSManagedObjectModel
- javascript - 将数组数据从会话显示到 html 表
- json - 从 UWP 的 JSON Odata 列表中获取项目
- reactjs - 如何在 POST 标头中添加功能
- angular - 如何在 ionic 3 中将数据从模板驱动表单推送到数据模型
- spring-security - 在 Spring Security 中未调用 authenticationFilter
- c# - C# 打开 Exel 模板,复制行格式并将新数据插入每个新行
- ios - 使用 mmPlayerView 无法正确显示 CollectionView 单元格
- bazel - Bazel 是否需要 external-repo BUILD 文件位于 $WORKSPACE_ROOT/external 中?