Bots HTTP请求和对Discord的响应,而不邀请正式的Discord bot访问该服务器

Bots HTTP请求和对Discord的响应,而不邀请正式的Discord bot访问该服务器,bots,discord,discord.js,discord.py,discord.net,Bots,Discord,Discord.js,Discord.py,Discord.net,我有一个不和谐的服务器和频道列表,我想要一个节目来听。如果在此频道发送的文本消息中找到特定关键字,我希望程序使用标准文本DM与消息的发送者联系。它基本上是一个目标机器人。我假设,如果我的bot是discord bot,服务器不会邀请它,因此我需要一个使用HTTP请求和响应的外部程序。这对不和谐有用吗?你对如何实现我的想法有什么想法吗?在服务器中查看消息的唯一方法是在该服务器中,这也适用于机器人程序,因此你必须让他们添加它。还请注意,使用Discord API使用户bot成为充当bot的用户帐户或

我有一个不和谐的服务器和频道列表,我想要一个节目来听。如果在此频道发送的文本消息中找到特定关键字,我希望程序使用标准文本DM与消息的发送者联系。它基本上是一个目标机器人。我假设,如果我的bot是discord bot,服务器不会邀请它,因此我需要一个使用HTTP请求和响应的外部程序。这对不和谐有用吗?你对如何实现我的想法有什么想法吗?

在服务器中查看消息的唯一方法是在该服务器中,这也适用于机器人程序,因此你必须让他们添加它。还请注意,使用Discord API使用户bot成为充当bot的用户帐户或发送不需要的直接消息是违反他们的意愿的

考虑到这一点,您有两个选择:

使用网关 当您连接到Discord网关时,每当在您的机器人可以看到的地方发送新消息时,您就会收到消息\u CREATE events。有许多库允许您这样做,例如。一旦安装了它,监听消息就非常简单:

const Discord=require'Discord.js'; const client=新的Discord.client; client.on'ready',=>{ console.log`以${client.user.tag}的身份登录!`; }; client.on'message',msg=>{ 如果msg.content=='ping'{ msg.回复“Pong!”; } }; client.login'token'; 查询restapi
您也可以使用端点获取消息,但我不建议这样做,因为您必须为bot所在的每个通道发送一个请求,并每隔X分钟/秒重复一次以说明新消息。如果您的bot恰好位于多个服务器中,这将很容易达到他们的速率限制。

如果您没有实际位于该服务器中,则无法在服务器中侦听消息。在不和谐的情况下,这将是非常糟糕的隐私实践。此外,除非与用户共享服务器,否则无法向该用户发送消息。所以,不,你想要的东西都不管用。你有没有让它管用过?我想做类似的事情;让机器人只在我所属的频道和服务器中侦听消息,但所有者不想邀请机器人