-
-
Notifications
You must be signed in to change notification settings - Fork 3
/
index.js
137 lines (114 loc) · 3.23 KB
/
index.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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
const fs = require('fs');
const path = require('node:path');
const {
prefix
} = require('./config.json');
require('dotenv').config();
token = process.env.TOKEN;
const {
Routes
} = require('discord-api-types/v9');
const {
quotes
} = require('./quotes.json');
//const Discord = require('discord.js');Client, Collection, Intents
const {
Client,
Collection,
Intents,
MessageActionRow,
MessageButton
} = require('discord.js');
//const client = new Discord.Client();
const client = new Client({
intents: [Intents.FLAGS.GUILD_MESSAGES, Intents.FLAGS.GUILDS]
});
const PORT = process.env.PORT || 3000;
const express = require("express");
const server = express();
var libFlayer = require("./libFlayer.js");
let linkFlayerMap = [];
server.all("/", (req, res) => {
var htmlOutput = "LinkFlayer Bot is Ready - Sources loading <br />";
var sources = libFlayer.getSources();
sources.forEach(source => {
htmlOutput += `
<div style='margin-bottom:15px;'>
<div> Title: ${source.title} </div>
<div> Link: ${source.link} </div>
<div> category: ${source.category} </div>
</div>
<div>
<hr />
</div>
`
});
res.send(htmlOutput);
});
function keepAlive() {
server.listen(PORT, () => {
console.log("Keep Alive Server Running");
try {
libFlayer.loadFeeds();
libFlayer.feedArray = libFlayer.getFeeds();
} catch (error) {
console.log(error);
}
})
}
libTrivia.loadTrivia();
client.commands = new Collection();
const commandsPath = path.join(__dirname, 'commands');
const commandFiles = fs.readdirSync(commandsPath).filter(file => file.endsWith('.js'));
//const commandFiles = fs.readdirSync('./commands').filter(file => file.endsWith('.js'));
for (const file of commandFiles) {
const filePath = path.join(commandsPath, file);
const command = require(filePath);
// Set a new item in the Collection
// With the key as the command name and the value as the exported module
client.commands.set(command.name, command);
}
/*
for (const file of commandFiles) {
const command = require(`./commands/${file}`);
client.commands.set(command.name, command);
}
*/
client.on('ready', () => {
console.log(`Logged in as ${client.user.tag}!`);
});
client.on('interactionCreate', async interaction => {
//if (!interaction.isCommand()) return;
if (!interaction.isSelectMenu()) return;
let aaa = interaction.values[0];
await interaction.channel.send({
content: 'You picked something',
ephemeral: true
});
try {
//await command.execute(interaction);
} catch (error) {
//console.error(error);
//await interaction.reply({ content: 'There was an error while executing this command!', ephemeral: true });
}
});
client.on('messageCreate', message => {
if (!message.content.startsWith(prefix) || message.author.bot) return;
const args = message.content.slice(prefix.length).trim().split(/ +/);
const command = args.shift().toLowerCase();
if (!client.commands.has(command)) return;
try {
client.commands.get(command).execute(message, args);
} catch (error) {
console.error(error);
//message.reply('there was an error trying to execute that command!');
}
});
console.log("Link Flayer Bot Activating");
keepAlive();
client.login(token); //Load Client Discord Token
try {
libFlayer.loadFeeds();
} catch (error) {
console.log(error);
}