如何让不和谐机器人在命令上创建频道
Posted
技术标签:
【中文标题】如何让不和谐机器人在命令上创建频道【英文标题】:How can I make a discord bot creates a channel on a command 【发布时间】:2021-08-13 18:46:13 【问题描述】:你好
我目前正在开发一个名为“文件存储”的不和谐服务器(名称可能会更改) 我想知道是否有一种方法:当用户键入某个命令时,例如“fs create” 机器人会创建一个类似“channelid-storing”的频道,该频道仅对使用该命令的用户可见?
频道名称格式将显示频道 ID,然后显示“-storing”
let client = new Discord.Client()
client.on("message", message =>
if(message.content === "ping")
message.channel.send("pong")
client.on(message, async (message) =>
if(message === `>fs create`)
const channel = await message.guild.channels.create("channel",
permissionOverwrites: [
id: message.guild.roles.everyone,
deny: ["VIEW_CHANNEL"],
,
id: message.member,
allow: [
"VIEW_CHANNEL",
"SEND_MESSAGES",
"EMBED_LINKS",
"ATTACH_FILES",
"READ_MESSAGE_HISTORY",
],
,
id: message.guild.me,
allow: [
"VIEW_CHANNEL",
"SEND_MESSAGES",
"EMBED_LINKS",
"ATTACH_FILES",
"READ_MESSAGE_HISTORY",
],
,
],
);
channel.editName(`$channel.id-store`)
)
)
client.login(process.env.DISCORD_TOKEN);```
【问题讨论】:
【参考方案1】:您只需在创建频道时提供用户权限
if(commandname === `> fs create`)
const channel = await message.guild.channels.create("channelname",
permissionOverwrites: [
id: message.guild.roles.everyone,
deny: ["VIEW_CHANNEL"],
,
id: message.member,
allow: [
"VIEW_CHANNEL",
"SEND_MESSAGES",
"EMBED_LINKS",
"ATTACH_FILES",
"READ_MESSAGE_HISTORY",
],
,
id: message.guild.me,
allow: [
"VIEW_CHANNEL",
"SEND_MESSAGES",
"EMBED_LINKS",
"ATTACH_FILES",
"READ_MESSAGE_HISTORY",
],
,
],
);
channel.editName(`$channel.id-store`)
顺便说一句,你必须添加你的东西,这样它才能正常工作,上面的例子展示了频道创建的工作原理。
【讨论】:
为迈泽伙伴投票 @Meister9667 但是我如何让频道自动命名为 channelid-storing,其中 channelid 是实际频道的 id 唯一的办法就是等待它,通过const channel = await channelcreate....
然后用channel.editName($channel.id-storing
)编辑名字
你能告诉我如何在你的代码中格式化它吗?对不起,我是初学者,我真的只能做简单的回复命令之类的事情,没有 tut @Meister9667
@Meister9667 它说“解析错误:不能在异步函数之外使用关键字'await'以上是关于如何让不和谐机器人在命令上创建频道的主要内容,如果未能解决你的问题,请参考以下文章