Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var discord = require("discord.io");
- var logger = require("winston");
- var auth = require("./auth.json");
- logger.remove(logger.transports.Console);
- logger.add(new logger.transports.Console, {
- colorize: true
- });
- logger.level = "debug";
- var bot = new discord.Client({
- token: auth.token,
- autorun: true
- });
- bot.on("ready", function(event){
- logger.info("Connected");
- logger.info("Logged in as: ");
- logger.info(bot.username + " - (" + bot.id + ")");
- });
- var numEmoteNames = [
- "one",
- "two",
- "three",
- "four",
- "five",
- "six",
- "seven",
- "eight",
- "nine",
- ];
- var numEmoteCodes = [
- "701685482098262036",
- "701685482098262036",
- "701685482098262036",
- "701685482098262036",
- "701685482098262036",
- "701685482098262036",
- "701685482098262036",
- "701685482098262036",
- "701685482098262036",
- ];
- var lastBotMessage = 0;
- var reactNum = 0;
- var numPollOptions = 0;
- function getReaction(channelID, j){
- return new Promise(function(resolve, reject){
- bot.getReaction({
- channelID: channelID,
- messageID: lastBotMessage,
- reaction: (j + 1) + "\u20e3"
- }, function(err, res){
- var voteAmountForReaction = res.length - 1;
- resolve(voteAmountForReaction);
- });
- });
- }
- bot.on("message", async function(user, userID, channelID, message, evt){
- try {
- var isInPollChannel = false;
- if(channelID == 701657588701462680) {
- isInBotTestChannel = true;
- }
- var messageParts = message.split(" ");
- if(messageParts[0] == "!createpoll"){
- if(isInBotTestChannel){
- var secondPart = "";
- var i = 0;
- for(i = 12; i < message.length; i++){
- secondPart += message[i];
- }
- var pollOptions = secondPart.split("|");
- if(pollOptions.length > 9) {
- bot.sendMessage({
- to: channelID,
- embed: {
- title: "Error!",
- description: "Polls can only have up to 9 options!",
- color: 16751145,
- footer: {
- text: "PollBot by atm959"
- }
- }
- });
- return;
- }
- numPollOptions = pollOptions.length;
- var args = "\n";
- var i = 0;
- for(i = 0; i < numPollOptions; i++){
- args += "<:" + numEmoteNames[i] + ":" + numEmoteCodes[i] + "> " + pollOptions[i] + "\n";
- }
- bot.sendMessage({
- to: channelID,
- embed: {
- title: "A poll is now active!",
- description: "Use the reactions to vote!",
- color: 16751145,
- fields: [
- {
- name: "Available Options:",
- value: args
- }
- ],
- footer: {
- text: "PollBot by atm959"
- }
- }
- }, function (err, res){
- lastBotMessage = res.id;
- var i = 0;
- for(i = 0; i < numPollOptions; i++){
- setTimeout(function(){
- bot.addReaction({
- channelID: channelID,
- messageID: res.id,
- reaction: (reactNum + 1) + "\u20e3"
- });
- reactNum++;
- }, 500 * i);
- }
- reactNum = 0;
- });
- }
- } else if(messageParts[0] == "!endpoll"){
- var numVotes = [];
- console.log("numVotes.length: " + numVotes.length);
- var i = 0;
- for(i = 0; i < numPollOptions; i++){
- var n = await getReaction(channelID, i);
- numVotes.push(n);
- console.log("numVotes.length after push #" + (i + 1) + ": " + numVotes.length);
- console.log("Votes for " + (i + 1) + ": " + numVotes[i]);
- }
- console.log("numVotes.length: " + numVotes.length);
- var numVoteText = "";
- var k = 0;
- for(k = 0; k < numPollOptions; k++){
- numVoteText += k + ": " + numVotes[k] + "\n";
- }
- bot.sendMessage({
- to: channelID,
- embed: {
- title: "Number of votes",
- description: "Just to debug!",
- color: 16751145,
- fields: [
- {
- name: "AAAAA",
- value: numVoteText
- }
- ],
- footer: {
- text: "PollBot by atm959"
- }
- }
- });
- }
- } catch(error){
- bot.sendMessage({
- to: channelID,
- message: "`" + error + "`"
- });
- }
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement