Случайный выбор
С помощью Squelize я хотел бы найти случайный тег в этой модели:
const Sequelize = require('sequelize');
const Database = require('../PostgreSQL');
let Tag = Database.db.define('tags', {
userID: { type: Sequelize.STRING },
userName: { type: Sequelize.STRING },
guildID: { type: Sequelize.STRING },
guildName: { type: Sequelize.STRING },
name: { type: Sequelize.STRING },
content: { type: Sequelize.STRING(1800) }, // eslint-disable-line new-cap
type: {
type: Sequelize.BOOLEAN,
defaultValue: false
},
example: {
type: Sequelize.BOOLEAN,
defaultValue: false
},
exampleID: {
type: Sequelize.STRING,
defaultValue: ''
},
uses: {
type: Sequelize.INTEGER,
defaultValue: 0
}
});
module.exports = Tag;
И это мой настоящий код, я работаю с discord.js. Поэтому я стараюсь выбрать во все теги случайный тег.
async run(msg) {
const tag = Tag.findAll({ pickRandomProperty, where: { guildID: msg.guild.id } });
if (!tag) return null;
console.log(tag.content)
return msg.say(tag.content);
}
};
function pickRandomProperty(obj) {
var result;
var count = 0;
for (var prop in obj)
if (Math.random() < 1/++count)
result = prop;
return result;
}
Это выглядит так, потому что используется w/ discord.js