Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var fs = require('fs')
- const axios = require('axios')
- const bot = require('discord.js')
- const client = new bot.Client()
- const token = ""
- const roles = new Map([
- ['atc', '194717624708366336'],
- ['mentor', '337014482335170562'],
- ['staff', '194710733924073472']
- ])
- const commands = {
- avatar (...args) {
- let message = args[0]
- message.reply(message.author.avatarURL)
- },
- ping (...args) {
- let message = args[0]
- message.channel.send('pong')
- },
- whoami (...args) {
- let message = args[0]
- let member = message.member || message.author
- let nickname = member.displayName || member.username
- member.send(`Hey, ${nickname}. Your unique discord id is \`${member.id}\`. Don't give this to **anyone**!`)
- },
- forget (...args) {
- let message = args[0]
- let member = message.member || message.author
- let nickname = member.displayName || member.username
- member.send(`Sad to see you go, ${nickname}. See ya later!`).then(e => {member.kick()})
- },
- metar (...args) {
- let message = args[0]
- let codes = [...new Set(args[1])]
- if (codes.length === 0)
- return message.reply("You need to supply at least one ICAO code! How am I supposed to know which airport(s) you're talking about!?")
- if (codes.length > 3)
- return message.reply(":astonished: Slow down cowboy! You are limited to three (3) icao codes per request!")
- Promise.all(codes.map(c => {return axios.get(`http://metar.vatsim.net/metar.php?id=${c}`)}))
- .then( responses => {
- responses.forEach(e => {
- if (e.data.substr(0,18) == `No METAR available`)
- return message.reply(':confused: ' + e.data)
- return message.reply(e.data)
- });
- })
- }
- }
- client.on('message', message => {
- if (message.content.charAt(0) != '.') return
- let list = Object.keys(commands)
- let args = message.content.substr(1).split(" ")
- let command = args.shift()
- if (command === 'list')
- message.reply(list.join(', '))
- else if (list.includes(command))
- commands[command](message, args)
- else
- message.reply(`I'm gonna go ahead and assume that your message wasn't meant for me.\n I cannot understand a word you're saying... Run \`.list\` for a list of all available commands!`)
- })
- client.on('presenceUpdate', (o, member) => {
- if (!(o.presence.status === 'offline' && member.presence.status === 'online')) return
- let identifier = `../alcyoneus.hvacc.org/storage/app/${member.id}`
- if (!fs.existsSync(identifier)) {
- message = `Hello ${member}! My name is Alcyoneus and I am the gatekeeper of the Hellenic vACC discord server. I believe that your account is unverified.\n\nI shall grant you access after you have verified your account. To do this go to https://alcyoneus.hvacc.org/${member.id} and follow the on-screen instructions.\n\n*Please note that you must be a member of the Hellenic vACC forum for this to work.*`
- return member.send(message).then(e => {member.kick()})
- }
- let u = JSON.parse(fs.readFileSync(identifier, 'utf8'))
- let r = u.roles.map(e => {return roles.get(e)})
- member.setNickname(u.nickname)
- member.setRoles(r)
- })
- client.login(token)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement