-
Notifications
You must be signed in to change notification settings - Fork 59
/
poll.js
68 lines (58 loc) · 2.36 KB
/
poll.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
const {
MessageEmbed
} = require('discord.js')
const colors = require('../lib/colors.json')
exports.run = async (client, message, args, level) => {
const language = client.getSettings(message.guild.id).language
const lang = require("../lib/languages/" + language + ".json")
try {
const yesEmoji = '✅'
const noEmoji = message.client.emojis.cache.get('637573919204966410')
const settings = client.getSettings(message.guild.id)
const modRole = message.guild.roles.cache.find(r => r.name.toLowerCase() === client.getSettings(message.guild.id).modRole.toLowerCase())
const adminRole = message.guild.roles.cache.find(r => r.name.toLowerCase() === client.getSettings(message.guild.id).adminRole.toLowerCase())
// Ensure mod/admin roles actually exist
if (!modRole) {
return message.channel.send(lang.NoModRole)
}
if (!adminRole) {
return message.channel.send(lang.NoAdminRole)
}
if (!message.member.roles.cache.has(modRole.id) && !message.member.permissions.has("MANAGE_MESSAGES") && !message.member.roles.cache.has(adminRole.id) && !message.member.permissions.has("ADMINISTRATOR")) {
return message.channel.send(lang.NoPermission)
}
const input = message.content.split(`${settings.prefix}poll `)
let embed = new MessageEmbed()
.setTitle(`🗳 ${lang.Poll}`)
.setColor(colors.default)
.addField(`${lang.ReactWith} ✅ ${lang.Or} ${noEmoji} ${lang.ToVote}`, input, true)
.setFooter(`${lang.RespondingTo} ${message.author.tag}`, message.author.avatarURL())
.setTimestamp()
if (args.length === 0) {
message.channel.send(lang.NoArgumentSpecified)
} else {
message.delete()
message.channel.send({
embeds: [embed]
}).then(message => {
message.react(yesEmoji)
.then(() => message.react(noEmoji))
})
}
} catch (err) {
const errors = require('../modules/errors.js')
errors.embedError(err, lang, message)
}
}
exports.conf = {
enabled: true,
aliases: ['ask'],
guildOnly: true,
permLevel: 'User'
}
exports.help = {
name: 'poll',
category: 'Moderation',
description: 'Starts a poll.',
usage: 'poll <question>'
}