Revert "Fix race condition in name collector to close #14"

This reverts commit bb3afc2bf6.
This commit is contained in:
Lamp 2019-01-21 13:45:57 -08:00
parent 18b034ed58
commit dd5fdc521a
No known key found for this signature in database
GPG Key ID: 0F1F8704BEDE369E
1 changed files with 4 additions and 12 deletions

View File

@ -1,15 +1,9 @@
var nameCollector = module.exports = {
collection: mdbClient.db('heroku_jrtfvpd9').collection('ppl'),
buffer: [],
operationPending: false,
collect: async function (participant) {
if (config.testmode) return;
if (this.operationPending) { this.buffer.push(participant); return }
this.operationPending = true;
if (participant.name == "Anonymous" || participant.name == "Anonymoose") return;
var newMsg = function(continued){
var str = `__**${participant._id}**__${continued ? ' (continued)' : ''}\n${participant.name}`;
return dClient.channels.get(config.channels.name_collection).send(str);
@ -21,25 +15,23 @@ var nameCollector = module.exports = {
// update person
if (document.names.includes(participant.name)) return;
document.names.push(participant.name);
await this.collection.updateOne({_id: participant._id}, {$set:{names: document.names}});
this.collection.updateOne({_id: participant._id}, {$set:{names: document.names}});
let message = await dClient.channels.get(config.channels.name_collection).messages.fetch(document.discord_msg_id);
try {
await message.edit(message.content + ', ' + participant.name);
} catch(e) {
let message = await newMsg(true);
await this.collection.updateOne({_id: participant._id}, {$set:{discord_msg_id: message.id}});
this.collection.updateOne({_id: participant._id}, {$set:{discord_msg_id: message.id}});
}
} else {
// add new person
let message = await newMsg();
await nameCollector.collection.insertOne({
nameCollector.collection.insertOne({
_id: participant._id,
discord_msg_id: message.id,
names: [participant.name]
});
}
if (this.buffer.length) this.collect(this.buffer.shift());
else this.operationPending = false;
}
}