仍然是同一个不和谐的bot,但是让其他东西起作用了。我知道使用awaitReactions的方法,但是我不知道该怎么做,因为当我实现它时,它根本没有用。这是大块的代码:
else if (command == 'createteam'){
message.channel.send(message.author.username + ' has started a dungeon party! React with your class to join.').then(messageReaction => {
messageReaction.react("⚔️")
messageReaction.react("?")
messageReaction.react("?️")
messageReaction.react("❤️")
messageReaction.react("?")
});
const members = [];
members.count = 0
client.on('messageReactionAdd', (messageReaction, user) => {
if(user.bot) return;
const { message2, emoji } = messageReaction;
if(emoji.name === "⚔️"){
message.channel.send(user.username + ' has joined ' + message.author.username + '\'s\ party as a beserker!');
let newLength = members.unshift(user.username);
members.count += 1
console.log(members);
if(members.count == 5){
message.channel.send({embed: {
color: 3447003,
title: "Full Team!",
fields: [
{ name: "Message:", value: message.author.username + '\'s\ party is full! The members are ' + members[0] + ', ' + members[1] + ', ' + members[2] + ', ' + members[3] + ', and ' + members[4] + '.', inline: true},
]
}
});
console.log(members);
members.count = 0
members.splice(0, 5)
}
}
if(emoji.name === "?") {
message.channel.send(user.username + ' has joined ' + message.author.username + '\'s\ party as an archer!');
let newLength = members.unshift(user.username);
members.count += 1
console.log(members);
if(members.count == 5){
message.channel.send({embed: {
color: 3447003,
title: "Full Team!",
fields: [
{ name: "Message:", value: message.author.username + '\'s\ party is full! The members are ' + members[0] + ', ' + members[1] + ', ' + members[2] + ', ' + members[3] + ', and ' + members[4] + '.', inline: true},
]
}
});
console.log(members);
members.count = 0
members.splice(0, 5)
}
}
if(emoji.name === "?️") {
message.channel.send(user.username + ' has joined ' + message.author.username + '\'s\ party as a tank!');
let newLength = members.unshift(user.username);
members.count += 1
console.log(members);
if(members.count == 5){
message.channel.send({embed: {
color: 3447003,
title: "Full Team!",
fields: [
{ name: "Message:", value: message.author.username + '\'s\ party is full! The members are ' + members[0] + ', ' + members[1] + ', ' + members[2] + ', ' + members[3] + ', and ' + members[4] + '.', inline: true},
]
}
});
console.log(members);
members.count = 0
members.splice(0, 5)
}
}
if(emoji.name === "❤️") {
message.channel.send(user.username + ' has joined ' + message.author.username + '\'s\ party as a healer!');
let newLength = members.unshift(user.username);
members.count += 1
console.log(members);
if(members.count == 5){
message.channel.send({embed: {
color: 3447003,
title: "Full Team!",
fields: [
{ name: "Message:", value: message.author.username + '\'s\ party is full! The members are ' + members[0] + ', ' + members[1] + ', ' + members[2] + ', ' + members[3] + ', and ' + members[4] + '.', inline: true},
]
}
});
console.log(members);
members.count = 0
members.splice(0, 5)
}
}
if(emoji.name === "?") {
message.channel.send(user.username + ' has joined ' + message.author.username + '\'s\ party as a mage!');
let newLength = members.unshift(user.username);
members.count += 1
console.log(members);
if(members.count == 5){
message.channel.send({embed: {
color: 3447003,
title: "Full Team!",
fields: [
{ name: "Message:", value: message.author.username + '\'s\ party is full! The members are ' + members[0] + ', ' + members[1] + ', ' + members[2] + ', ' + members[3] + ', and ' + members[4] + '.', inline: true},
]
}
});
console.log(members);
members.count = 0
members.splice(0, 5)
}
}
});
client.on('messageReactionRemove', (messageReaction, user) => {
if(user.bot) return;
const { message2, emoji } = messageReaction;
if(emoji.name === "⚔️" && members.count != 0) {
message.channel.send(user.username + ' has left ' + message.author.username + '\'s\ party (was beserker).');
members.splice(members.indexOf(user.username), 1);
members.count -= 1
console.log(members);
}
if(emoji.name === "?" && members.count != 0) {
message.channel.send(user.username + ' has left ' + message.author.username + '\'s\ party (was archer).');
members.splice(members.indexOf(user.username), 1);
members.count -= 1
console.log(members);
}
if(emoji.name === "?️" && members.count != 0) {
message.channel.send(user.username + ' has left ' + message.author.username + '\'s\ party (was tank).');
members.splice(members.indexOf(user.username), 1);
members.count -= 1
console.log(members);
}
if(emoji.name === "❤️" && members.count != 0) {
message.channel.send(user.username + ' has left ' + message.author.username + '\'s\ party (was healer).');
members.splice(members.indexOf(user.username), 1);
members.count -= 1
console.log(members);
}
if(emoji.name === "?" && members.count != 0) {
message.channel.send(user.username + ' has left ' + message.author.username + '\'s\ party (was mage).');
members.splice(members.indexOf(user.username), 1);
members.count -= 1
console.log(members);
}
});
if(command == 'starttimer'){
setTimeout(() => {message.channel.send('test');}, 2000);
}
};
是的,每次我运行-createteam时,它都会第一次运行,但之后会逐渐增加。我还试图让它一次运行多个实例,但稍后再讲。
(奖金:如果有人可以告诉我如何在5分钟后删除尚未填补的团队,那将是史诗般的事情)