Ẩn kênh với Djs12
Oct 26 2020
Tôi cần khóa một kênh văn bản để @everyone không thể thấy điều đó, nhưng message.author thì có thể. Tôi có mã này nhưng mọi người đều có thể xem kênh (và trong thuộc tính kênh, mọi người không được phép gửi tin nhắn hoặc gửi tin nhắn TTS, nhưng trên đó mọi thứ là [/])
message.guild.channels.create(desc, {
type: 'text',
permissionOverwrites: [
{
id: message.guild.roles.everyone,
deny: ['VIEW_CHANNEL', 'SEND_MESSAGES'],
},
{
id: message.author.id,
allow: ['VIEW_CHANNEL'],
},
],
})
Trả lời
1 Lioness100 Oct 26 2020 at 22:44
Các PermissionOverwritestypedef đòi hỏi một Snowflake(trong trường hợp này, vai trò ngừơi tiêu dùng ID). Tuy nhiên, RoleManager.everyonetrả về a Role. Có hai cách để giải quyết vấn đề này:
- Đơn giản chỉ cần sử dụng thuộc idtính của vai trò
{
id: message.guild.roles.everyone.id,
deny: ['VIEW_CHANNEL', 'SEND_MESSAGES'],
},
- Sử dụng message.guild.id. Sự thật thú vị, vai trò @everyone có cùng ID với guild mà nó tham gia
{
id: message.guild.id,
deny: ['VIEW_CHANNEL', 'SEND_MESSAGES'],
},