Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const Discord = require('discord.io');
- const auth = require('./auth.json');
- const fs = require('fs');
- //please keep this token strictly confidential
- var bot = new Discord.Client({
- token: "ask teaf for the token",
- autorun: true
- });
- //i just hardcoded the server and admin channel IDs in because i'm a great programmer
- const serverID = "222537486260240384";
- const adminChannelID = "404461419577475082";
- bot.on('disconnect', (errMsg, code) => {
- var date = new Date().toLocaleString();
- if (errMsg) console.log(date + "\n" + errMsg);
- setTimeout(() => {
- console.log(date + "\nExited with code " + code);
- process.exit();
- }, 1000);
- bot.connect()
- });
- function sendMessage(channelID, message) {
- return bot.sendMessage({
- to: channelID,
- message: message
- });
- }
- bot.on('ready', function (rawEvent) {
- var date = new Date().toLocaleString();
- console.log(date)
- console.log("Connected! Logged in as: ");
- console.log(bot.username + " - (" + bot.id + ")");
- checkFiles()
- //nya
- var kikkoman;
- var usr = Object.keys(bot.servers[serverID].members);
- for(var i in bot.servers[serverID].roles){
- if(bot.servers[serverID].roles[i].name.toLowerCase() === "kikkoman") {
- kikkoman = bot.servers[serverID].roles[i].id; //get kikkoman ID
- break;
- }
- }
- var user;
- for (var i in bot.servers[serverID].roles) {
- if (bot.servers[serverID].roles[i].name.toLowerCase() === "user") {
- user = bot.servers[serverID].roles[i].id; //get user ID
- break;
- }
- }
- var deuser;
- for (var i in bot.servers[serverID].roles) {
- if (bot.servers[serverID].roles[i].name.toLowerCase() === "de-usered") {
- deuser = bot.servers[serverID].roles[i].id; //get de-usered ID
- break;
- }
- }
- //nyaaa
- function checkActivity() {
- var total, t;
- for (var i in usr) {
- var hasUser = false; //check if they have a user role
- for (var j in bot.servers[serverID].members[usr[i]].roles) {
- if (bot.servers[serverID].members[usr[i]].roles[j] === user) {
- hasUser = true;
- break;
- }
- }
- var hasDeuser = false; //check if they have a de-usered role
- for (var j in bot.servers[serverID].members[usr[i]].roles) {
- if (bot.servers[serverID].members[usr[i]].roles[j] === deuser) {
- hasDeuser = true;
- break;
- }
- }
- if (hasUser === true) {
- t = Number(readFile(usr[i], "activity"))
- total = updateActivity();
- var days = 86400000
- var timeAway = (total - t) / days
- if (timeAway > 50) {
- //check for kikkoman role
- var pass = false;
- for (var j in bot.servers[serverID].members[usr[i]].roles) {
- if (bot.servers[serverID].members[usr[i]].roles[j] === kikkoman) {
- pass = true;
- break;
- }
- }
- if (pass === false) {
- //remove user role
- bot.removeFromRole({
- serverID: serverID,
- userID: usr[i],
- roleID: user
- });
- if (hasDeuser === false) {
- bot.addToRole({
- serverID: serverID,
- userID: usr[i],
- roleID: deuser
- });
- console.log("Removed user role from " + bot.users[usr[i]].username)
- sendMessage(adminChannelID, "Removed user role from " + bot.users[usr[i]].username + " and added de-usered role.")
- }
- else {
- console.log("Removed user role from " + bot.users[usr[i]].username)
- sendMessage(adminChannelID, "Removed user role from " + bot.users[usr[i]].username + ". User already had de-usered role.")
- }
- }
- }
- }
- }
- setTimeout(checkActivity, 120000); //this is the timer okay
- }
- checkActivity();
- });
- //update activity
- function updateActivity() {
- var d = new Date();
- d = d.getTime();
- return d;
- }
- //user files
- function checkFiles() {
- //last known activity is stored in a user .txt file
- var usr = Object.keys(bot.servers[serverID].members)
- for (var i in usr) {
- if (fs.existsSync("./var/" + usr[i]) === false) {
- console.log("/var/ for " + usr[i] + " does not exist! Generating folder");
- fs.mkdirSync("./var/" + usr[i])
- fs.writeFileSync("./var/" + usr[i] + "/activity.txt", updateActivity());
- }
- }
- }
- function readFile(userID, file) {
- var userFile = "./var/" + userID + "/" + file + ".txt";
- return fs.readFileSync(userFile);
- }
- function writeFile(userID, file, content) {
- c = content.toString();
- var userFile = "./var/" + userID + "/" + file + ".txt";
- fs.writeFileSync(userFile, c);
- console.log("Updated user " + userID + " with " + c);
- }
- //detect messages
- bot.on('message', function (user, userID, channelID, message, rawEvent) {
- if (rawEvent.d.author.username !== bot.username) {
- if (fs.existsSync("./var/" + userID) === false) {
- console.log("/var/ for " + userID + " does not exist! Generating folder");
- fs.mkdirSync("./var/" + userID)
- fs.writeFileSync("./var/" + userID + "/activity.txt", updateActivity());
- }
- writeFile(userID, "activity", updateActivity());
- }
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement