Compare commits
10 Commits
Author | SHA1 | Date |
---|---|---|
Skylar Grant | 9d24745e46 | |
Skylar Grant | 6f7f3df001 | |
Skylar Grant | 050d927908 | |
Skylar Grant | fcbe25687f | |
Skylar Grant | 26e94e71b2 | |
Skylar Grant | b1ffd2d22b | |
Skylar Grant | 06f9758bc2 | |
Skylar Grant | c46d183608 | |
Skylar Grant | ae95349b9b | |
Skylar Grant | d15ccf6a5b |
|
@ -1,7 +1,7 @@
|
|||
name: NodBot Production Dockerization
|
||||
|
||||
on:
|
||||
commit:
|
||||
push:
|
||||
branches:
|
||||
- pe
|
||||
|
||||
|
|
|
@ -2,8 +2,7 @@
|
|||
.vscode
|
||||
package-lock.json
|
||||
.VSCodeCounter/
|
||||
env.dev
|
||||
env.prod
|
||||
.env*
|
||||
|
||||
# Custom folders
|
||||
# gifs/*
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
FROM node:16
|
||||
FROM node:18
|
||||
RUN mkdir -p /usr/src/app
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@ module.exports = {
|
|||
name: 'joint',
|
||||
description: 'Send a random weed-themed phrase.',
|
||||
usage: '.joint',
|
||||
alias: ['bong', 'blunt', 'bowl', 'pipe'],
|
||||
execute(message, commandData) {
|
||||
let joints = [];
|
||||
for (const entry of message.client.joints.map(joint => joint.content)) {
|
||||
|
|
|
@ -7,6 +7,7 @@ module.exports = {
|
|||
execute(message, commandData) {
|
||||
const request = commandData.args;
|
||||
commandData.content = `Your request has been submitted!\nRequest: ${request}`;
|
||||
commandData.requestUrl = message.url;
|
||||
message.reply(fn.embeds.text(commandData));
|
||||
commandData.content = `A new request has been submitted by ${message.author.tag}:\n${commandData.args}`;
|
||||
message.client.users.fetch(process.env.ownerID).then(user => {
|
||||
|
|
50
functions.js
50
functions.js
|
@ -323,9 +323,11 @@ const functions = {
|
|||
|
||||
return { embeds: [requestsEmbed], ephemeral: true };
|
||||
},
|
||||
strain(strainInfo, interaction) {
|
||||
strain(commandData, message) {
|
||||
const strainEmbed = new Discord.MessageEmbed()
|
||||
.setTimestamp();
|
||||
.setTimestamp()
|
||||
.setFooter(commandData.author);
|
||||
const { strainInfo } = commandData;
|
||||
strainEmbed.addFields([
|
||||
{
|
||||
name: 'Strain Name',
|
||||
|
@ -349,7 +351,7 @@ const functions = {
|
|||
},
|
||||
{
|
||||
name: 'Rating',
|
||||
value: `⭐️${strainInfo.rating}`,
|
||||
value: `${strainInfo.rating}⭐️s`,
|
||||
inline: true,
|
||||
},
|
||||
{
|
||||
|
@ -359,7 +361,7 @@ const functions = {
|
|||
},
|
||||
]);
|
||||
|
||||
interaction.reply({ embeds: [ strainEmbed ]});
|
||||
message.reply({ embeds: [ strainEmbed ]});
|
||||
},
|
||||
},
|
||||
collect: {
|
||||
|
@ -370,7 +372,7 @@ const functions = {
|
|||
},
|
||||
upload: {
|
||||
request(commandData, client) {
|
||||
const query = `INSERT INTO requests (author, request, status) VALUES (${db.escape(commandData.author)},${db.escape(commandData.args)},'Active')`;
|
||||
const query = `INSERT INTO requests (author, request, status, url) VALUES (${db.escape(commandData.author)},${db.escape(commandData.args)},'Active',${db.escape(commandData.url)})`;
|
||||
db.query(query, (err, rows, fields) => {
|
||||
if (err) throw err;
|
||||
functions.download.requests(client);
|
||||
|
@ -431,30 +433,6 @@ const functions = {
|
|||
} else {
|
||||
return 'Sorry, you don\'t have permission to do that.';
|
||||
}
|
||||
},
|
||||
medicalAdvice(content, client) {
|
||||
const query = `INSERT INTO medical_advice (content) VALUES (${db.escape(content)})`;
|
||||
db.query(query, (err, rows, fields) => {
|
||||
if (err) throw err;
|
||||
functions.download.medicalAdvice(client);
|
||||
});
|
||||
},
|
||||
strain(interaction) {
|
||||
const strain = db.escape(interaction.options.getString('name'));
|
||||
const type = db.escape(interaction.options.getString('type'));
|
||||
const effects = db.escape(( interaction.options.getString('effects') || 'Unkown' ));
|
||||
const description = db.escape(( interaction.options.getString('description') || 'Unknown' ));
|
||||
const flavor = db.escape(( interaction.options.getString('flavor') || 'Unknown' ));
|
||||
const rating = db.escape(( interaction.options.getString('rating') || '3' ));
|
||||
const strainQuery = `INSERT INTO strains (strain, type, effects, description, flavor, rating) VALUES (${strain}, ${type}, ${effects}, ${description}, ${flavor}, ${rating})`;
|
||||
console.log(strainQuery);
|
||||
return new Promise((resolve, reject) => {
|
||||
db.query(strainQuery, (err, rows, fields) => {
|
||||
if (err) reject(err);
|
||||
functions.download.strains(interaction.client);
|
||||
resolve();
|
||||
});
|
||||
})
|
||||
}
|
||||
},
|
||||
download: {
|
||||
|
@ -486,11 +464,12 @@ const functions = {
|
|||
functions.collections.joints(rows, client);
|
||||
});
|
||||
},
|
||||
strain(strainName, interaction) {
|
||||
strain(commandData, message) {
|
||||
const { strainName } = commandData;
|
||||
const query = `SELECT id, strain, type, effects, description, flavor, rating FROM strains WHERE strain = ${db.escape(strainName)}`;
|
||||
db.query(query, (err, rows, fields) => {
|
||||
if (rows != undefined) {
|
||||
const strainInfo = {
|
||||
commandData.strainInfo = {
|
||||
id: `${rows[0].id}`,
|
||||
strain: `${rows[0].strain}`,
|
||||
type: `${rows[0].type}`,
|
||||
|
@ -499,7 +478,7 @@ const functions = {
|
|||
flavor: `${rows[0].flavor}`,
|
||||
rating: `${rows[0].rating}`,
|
||||
};
|
||||
functions.embeds.strain(strainInfo, interaction);
|
||||
functions.embeds.strain(commandData, message);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
@ -522,7 +501,12 @@ const functions = {
|
|||
strain: {
|
||||
lookup(strainName, client) {
|
||||
const strainSearcher = new FuzzySearch(client.strains.map(e => e.name));
|
||||
return strainSearcher.search(strainName).slice(0,25);
|
||||
const name = strainSearcher.search(strainName)[0];
|
||||
if (name != undefined) {
|
||||
return name;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
},
|
||||
submit(strainName) {
|
||||
const query = ``
|
||||
|
|
10
main.js
10
main.js
|
@ -7,15 +7,8 @@ const token = process.env.TOKEN;
|
|||
const statusChannelId = process.env.statusChannelId;
|
||||
|
||||
// Discord.JS
|
||||
const { Client, Intents } = require('discord.js');
|
||||
const { Client } = require('discord.js-selfbot-v13');
|
||||
const client = new Client({
|
||||
intents: [
|
||||
'GUILDS',
|
||||
'GUILD_MESSAGES',
|
||||
'GUILD_MESSAGE_REACTIONS',
|
||||
'DIRECT_MESSAGES',
|
||||
'DIRECT_MESSAGE_REACTIONS',
|
||||
],
|
||||
partials: [
|
||||
'CHANNEL',
|
||||
'MESSAGE',
|
||||
|
@ -192,6 +185,7 @@ client.on('interactionCreate', async interaction => {
|
|||
client.on('messageCreate', message => {
|
||||
// Some basic checking to prevent running unnecessary code
|
||||
if (message.author.bot) return;
|
||||
if (message.author.id == client.user.id) return;
|
||||
|
||||
// Wildcard Responses, will respond if any message contains the trigger word(s), excluding self-messages
|
||||
const lowerContent = message.content.toLowerCase();
|
||||
|
|
|
@ -9,13 +9,14 @@
|
|||
"axios": "^0.21.4",
|
||||
"discord-api-types": "^0.22.0",
|
||||
"discord.js": "^13.15.1",
|
||||
"discord.js-selfbot-v13": "^2.14.0",
|
||||
"dotenv": "^10.0.0",
|
||||
"fuzzy-search": "^3.2.1",
|
||||
"mysql": "^2.18.1",
|
||||
"tenorjs": "^1.0.10"
|
||||
},
|
||||
"engines": {
|
||||
"node": "16.x"
|
||||
"node": "18.x"
|
||||
},
|
||||
"devDependencies": {
|
||||
"eslint": "^7.32.0"
|
||||
|
|
Loading…
Reference in New Issue