webhook url 不可复制,由 bot 制作
webhook url is not copyable which is made by bot
问题
我无法从 discord 客户端复制 webhook URL,这是由机器人制作的。
Copy Webhook URL
按钮被禁用。
我想知道的
- 如何让机器人制作的
Copy Webhook URL
按钮不被禁用
- webhook的URL不可复制的原因是bot
发生了什么事
我通过以下代码使用 discord.js 创建了一个 webhook:
const target: TextChannel = client.channels.cache.get('CHANNEL_ID') as TextChannel;
const result = await target.createWebhook('webhook made by bot')
并且 webhook 已正确创建,但我无法从 discord 客户端复制 URL。
准确地说,我不能点击 Copy Webhook URL
按钮。已禁用。
当然,我可以从 createWebhook
的结果或通过获取 webhook 信息获取 URL,但我想让使用 discord 客户端的人轻松复制 webhook URL .
我检查了什么
我试图查看 webhooks 的信息,以了解人工和机器人制作的 webhooks 之间的区别:
这是人工制作的信息
'webhook made by my hand' => Webhook {
name: 'Spidey Bot',
avatar: null,
id: 'id',
type: 'Incoming',
guildID: 'guildid',
channelID: 'channelid',
owner: undefined
}
这是来自机器人
'webhook made by bot' => Webhook {
name: 'webhook made by bot',
avatar: null,
id: 'id',
type: 'Incoming',
guildID: 'guildid',
channelID: 'channelid',
owner: ClientUser {
id: 'id_of_bot',
system: null,
locale: null,
flags: null,
username: 'botbotbot',
bot: true,
discriminator: 'XXXX',
avatar: null,
lastMessageID: null,
lastMessageChannelID: null,
verified: true,
mfaEnabled: false,
_typing: Map(0) {}
}
}
看起来有标志 bot
来识别 webhook 是由 bot 还是其他人制作的。
我可以通过编辑这个选项来解决这个问题吗?
我可以改变它吗?
How to make the Copy Webhook URL
button not disabled which is made by bot
据我所知,这不可能。通读 Discord Developer portal 后,Discord API 似乎不允许您对 Webhook 进行重大更改,除了 name
、avatar
和 channel_id
.
你将无法通过你的机器人创建一个正常的 webhook(人为的),除非它被认为是自我机器人,这当然是被禁止的。
The reason if the URL of webhook is not copyable which is made by bot
它是一种特殊类型的 webhook,应用程序拥有的 webhook,由应用程序(例如您的 discord 机器人)管理。普通用户不使用此类 webhook 的目的。
普通 webhook 和应用程序拥有的 webhook 之间的一个区别是应用程序拥有的 webhook 允许您发送 message components。因此,除非您以此为目标,否则您应该可以使用普通的 webhook。
如果您的目标是在多个公会中自动创建 webhook 作为机器人功能的一部分,并且应用程序拥有的 webhook 是绝对需要的(没有其他方法)。我会发出一个命令,它会向您显示当前频道中的 webhook 列表及其 URL 供您的用户使用(当然还有权限检查和隐私等)。
问题
我无法从 discord 客户端复制 webhook URL,这是由机器人制作的。
Copy Webhook URL
按钮被禁用。
我想知道的
- 如何让机器人制作的
Copy Webhook URL
按钮不被禁用 - webhook的URL不可复制的原因是bot
发生了什么事
我通过以下代码使用 discord.js 创建了一个 webhook:
const target: TextChannel = client.channels.cache.get('CHANNEL_ID') as TextChannel;
const result = await target.createWebhook('webhook made by bot')
并且 webhook 已正确创建,但我无法从 discord 客户端复制 URL。
准确地说,我不能点击 Copy Webhook URL
按钮。已禁用。
当然,我可以从 createWebhook
的结果或通过获取 webhook 信息获取 URL,但我想让使用 discord 客户端的人轻松复制 webhook URL .
我检查了什么
我试图查看 webhooks 的信息,以了解人工和机器人制作的 webhooks 之间的区别:
这是人工制作的信息
'webhook made by my hand' => Webhook {
name: 'Spidey Bot',
avatar: null,
id: 'id',
type: 'Incoming',
guildID: 'guildid',
channelID: 'channelid',
owner: undefined
}
这是来自机器人
'webhook made by bot' => Webhook {
name: 'webhook made by bot',
avatar: null,
id: 'id',
type: 'Incoming',
guildID: 'guildid',
channelID: 'channelid',
owner: ClientUser {
id: 'id_of_bot',
system: null,
locale: null,
flags: null,
username: 'botbotbot',
bot: true,
discriminator: 'XXXX',
avatar: null,
lastMessageID: null,
lastMessageChannelID: null,
verified: true,
mfaEnabled: false,
_typing: Map(0) {}
}
}
看起来有标志 bot
来识别 webhook 是由 bot 还是其他人制作的。
我可以通过编辑这个选项来解决这个问题吗?
我可以改变它吗?
How to make the
Copy Webhook URL
button not disabled which is made by bot
据我所知,这不可能。通读 Discord Developer portal 后,Discord API 似乎不允许您对 Webhook 进行重大更改,除了 name
、avatar
和 channel_id
.
你将无法通过你的机器人创建一个正常的 webhook(人为的),除非它被认为是自我机器人,这当然是被禁止的。
The reason if the URL of webhook is not copyable which is made by bot
它是一种特殊类型的 webhook,应用程序拥有的 webhook,由应用程序(例如您的 discord 机器人)管理。普通用户不使用此类 webhook 的目的。
普通 webhook 和应用程序拥有的 webhook 之间的一个区别是应用程序拥有的 webhook 允许您发送 message components。因此,除非您以此为目标,否则您应该可以使用普通的 webhook。
如果您的目标是在多个公会中自动创建 webhook 作为机器人功能的一部分,并且应用程序拥有的 webhook 是绝对需要的(没有其他方法)。我会发出一个命令,它会向您显示当前频道中的 webhook 列表及其 URL 供您的用户使用(当然还有权限检查和隐私等)。