我尝试过的方式。循环通过令牌,这是很好的,但没有太多的空间来定制机器人做什么。例如,每个机器人类型都在一个特定的通道中,通过这种方式,我已经意识到机器人类型在相同的位置上彼此紧随其后。
const auth = require('./tokens.json')
const Discord = require('discord.js')
for (const token of auth.Tokens) {
const client = new Discord.Client()
client.on('ready', () => {
console.log('I am ready !')
console.log(client.user.id)
})
client.login(token)
}还可以通过创建discord.client的多个实例
const Discord = require('discord.js');
const client1 = new Discord.Client();
const client2 = new Discord.Client();
ect...
client1.once('ready',() => {
})
client1.on('message', async(message) => {
})
client2.once('ready',() => {
})
client2.on('message', async(message) => {
})
client1.login(CONFIG.Token1);
client2.login(CONFIG.Token2);我只是想知道是否有其他的方法来做到这一点,假设我有5-6个机器人,我做了第二个方法,代码会变得相当长,这取决于我想要添加什么。我确实想过添加一个循环,就像这样。
for(var i = 0; i < token.length; i++)并且具有链接到特定号码的信道id,因为i++正在增加它。因此,每个机器人都会有自己的编号和频道id,但我不确定这是不是可以工作,或者它是否足够好用。如有任何建议,我们将不胜感激,感谢您的阅读。
发布于 2020-08-19 18:38:37
我认为你的第二种方法:
创建
discord.client的多个实例将是最好的方法。
为机器人提供特定通道的最简单方法是更改它们的不一致权限,并以物理方式为它们分配通道。
另一种方式可以是这样的:
client.channelID = <ID of channel you want the bot in>
client2.channelID = <ID of channel you want the bot in>
// ... code
client.on('message', message => {
if (message channel.id !== client.channelID) return;
// ...发布于 2020-09-14 20:46:17
我可以使用下面的代码从同一个脚本运行多个机器人:
const auth = ['TOKEN1', 'TOKEN2']
const Discord = require('discord.js')
for (const token of auth) {
const client = new Discord.Client()
client.on('ready', () => {
console.log('I am ready !')
console.log(client.user.id)
});
client.on('message', (msg) => {
if (msg.content === '!ping') {msg.reply('pong!')}
});
client.login(token);
}https://stackoverflow.com/questions/63479217
复制相似问题