Skip to content
This repository has been archived by the owner on Jan 4, 2023. It is now read-only.

Commit

Permalink
Merge pull request #60 from Butterstroke/development
Browse files Browse the repository at this point in the history
v1.3.0
  • Loading branch information
AurelicButter authored May 19, 2020
2 parents 3ce62a6 + 89d64d6 commit f751d77
Show file tree
Hide file tree
Showing 48 changed files with 810 additions and 517 deletions.
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
# MargarineBot - Version: Release 1.2.2
# MargarineBot - Version: Release 1.3.0
![License](https://img.shields.io/github/license/Butterstroke/MargarineBot.svg?style=flat-square) ![Support Server](https://discordapp.com/api/guilds/303253034551476225/widget.png)

<b>Dependencies</b>

![discord.js](https://img.shields.io/badge/discord.js-v12.2.0-brightgreen.svg) ![klasa](https://img.shields.io/badge/Klasa-v0.22.0-brightgreen.svg) ![node](https://img.shields.io/badge/Node-v10.0.0+-brightgreen.svg)
![discord.js](https://img.shields.io/badge/discord.js-v12.2.0-brightgreen.svg) ![klasa](https://img.shields.io/badge/Klasa-v0.22.0-brightgreen.svg) ![node](https://img.shields.io/badge/Node-v12.0.0+-brightgreen.svg)

A Discord bot coded in Node.js using the Discord.js Library and the Klasa framework.

## Introduction

MargarineBot is a multi-purpose Discord bot that ranges in features such as server moderation, to an economy system using a SQLite database, to starboards, and much more. MargarineBot also features highly customizable settings for your guild to personalize and maximize his potential in your server!

Created through part-desire, part-what can I do in Discord, part-I'm going to learn Javascript, and part-it's only midnight thoughts, MargarineBot has been my personal project for several years now. For the amount of time and effort I've spent, I'm quite proud of my work and the functionality I've be able to pull off. Ever since the start of his development, I've recieved plenty of support and can't thank those people enough. As without it, Margarine would never be as big or as good as he is today. So, take a look...get some inspiration...just be sure to enjoy Margarine as much as I do.
Created through part-desire, part-what can I do in Discord, part-I'm going to learn Javascript, and part-it's only midnight thoughts, MargarineBot has been my personal project for several years now. For the amount of time and effort I've spent, I'm quite proud of my work and the functionality I've be able to pull off. Ever since the start of his development, I've recieved plenty of support and can't thank those people enough. As without it, Margarine would never be as big or as good as he is today. So, take a look... get some inspiration... just be sure to enjoy Margarine as much as I do.

### Looking to invite me?
<a href="https://discordapp.com/oauth2/authorize?client_id=315132794172997633&permissions=60482&scope=bot"> You can do so here!</a> However, music is a self-hosted feature and is not present in the bot.
Expand Down
11 changes: 11 additions & 0 deletions assets/items.json
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,17 @@
["chocolate", 2]
]
},
"pancake": {
"sell": 30,
"name": "pancake",
"emote": "🥞",
"category": "product",
"subcategory": "food",
"recipe": [
["egg", 2],
["bread", 2]
]
},
"oden": {
"sell": 125,
"name": "oden",
Expand Down
36 changes: 3 additions & 33 deletions assets/settingsExample.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,38 +2,8 @@
"token": "Token Key",
"prefix": "Prefix",
"build": {
"version": "Release 1.2.2",
"releaseDate": "May 7th, 2020"
"version": "Release 1.3.0",
"releaseDate": "May 19th, 2020"
},
"owner": {
"channels": {
"award": "Channel ID",
"report": "Channel ID"
},
"awards": {
"suggest": 250,
"bug": 500,
"minor": 600,
"major": 2000
}
},
"database": "./assets/MargarineData.sqlite",
"permLevels": {
"general": [
"Level 0: Everyone",
"Level 1: Placeholder", "Level 2: Placeholder", "Level 3: Placeholder", "Level 4: Placeholder",
"Level 5: Guild Moderators",
"Level 6: Guild Admins",
"Level 7: Guild Owners",
"Level 8: Placeholder",
"Level 9: Toast & Butter",
"Level 10: Bot Owner"
],
"addPerms": [
"with no additional permissions",
"with guild moderator permissions",
"with guild admin permissions",
"with guild owner permissions"
]
}
"database": "./assets/MargarineData.sqlite"
}
84 changes: 44 additions & 40 deletions assets/speech/en-CA/config.js
Original file line number Diff line number Diff line change
@@ -1,42 +1,46 @@
exports.starboard = {
"wrongItem": [
"Nope, that's not going to work. You're going to need something that matches what you want to set.",
"Sorry, that's not going to work. You need to match what you want to set."
],
"set": [
"Okay! I've set -target to -item!",
"You're all set! -target is now set to -item!"
],
"list": [
"Okay! Here's your starboard settings:\n__Channel:__ <#-channel>\n__Emote:__ -emote\n__Amount:__ -amount"
],
"noItem": [
"Hmm... looks like you didn't want me to set anything.",
"Didn't want me to set anything? Okay then..."
],
"remove": [
"Okay! I've set -target back to its original state.",
"-target is now back to its original state!",
"Okay! -target will be at it's default value then."
]
};
/*
* Speech module for all configuation commands.
*/

exports.setrole = {
"highpos": [
"I can't assign that role. It's much higher than my highest role. Try lowering its position before making it assignable.",
"That role's position is much higher than my highest. I won't be able to assign that role until you lower its position. Try again once you do!"
],
"added": [
"Okay! I'll be sure to distribute -role from now on!",
"-role is now on my list of assignables!"
],
"remove": [
"Okay! I'll stop distributing -role from now on!",
"-role has been removed from my list of assignables!"
module.exports = {
"starboard": {
"wrongItem": [
"Nope, that's not going to work. You're going to need something that matches what you want to set.",
"Sorry, that's not going to work. You need to match what you want to set."
],
"set": [
"Okay! I've set -target to -item!",
"You're all set! -target is now set to -item!"
],
"list": [
"Okay! Here's your starboard settings:\n__Channel:__ <#-channel>\n__Emote:__ -emote\n__Amount:__ -amount"
],
"noItem": [
"Hmm... looks like you didn't want me to set anything.",
"Didn't want me to set anything? Okay then..."
],
"remove": [
"Okay! I've set -target back to its original state.",
"-target is now back to its original state!",
"Okay! -target will be at it's default value then."
]
},
"setrole": {
"highpos": [
"I can't assign that role. It's much higher than my highest role. Try lowering its position before making it assignable.",
"That role's position is much higher than my highest. I won't be able to assign that role until you lower its position. Try again once you do!"
],
"added": [
"Okay! I'll be sure to distribute -role from now on!",
"-role is now on my list of assignables!"
],
"remove": [
"Okay! I'll stop distributing -role from now on!",
"-role has been removed from my list of assignables!"
]
},
"setprefix": [
"Okay! I've updated the guild prefix to -editPrefix.",
"I'll be sure to stay on the lookout for -editPrefix now."
]
};

exports.setprefix = [
"Okay! I've updated the guild prefix to -editPrefix.",
"I'll be sure to stay on the lookout for -editPrefix now."
];
};
86 changes: 45 additions & 41 deletions assets/speech/en-CA/cooking.js
Original file line number Diff line number Diff line change
@@ -1,45 +1,49 @@
/* Speech for cooking specific commands */
/*
* Speech for cooking specific commands
*/

exports.craft = {
"noRecipe": [
"I couldn't find a recipe like that!"
module.exports = {
"craft": {
"noRecipe": [
"I couldn't find a recipe like that!",
"There's no recipe like that!"
],
"success": [
"Oh! You've crafted -amount of -item!",
"Success! You've crafted -amount of -item"
]
},
"fish": [
"Nice catch! You just caught yourself -kind and placed it in your inventory.",
"Looks like you'll be dining on -kind tonight. You place it in your inventory.",
"You have caught -kind! You placed it in your inventory.",
"Oh! A -kind. Looks like that's a winner. You have placed it in your inventory."
],
"success": [
"Oh! You've crafted -amount of -item!"
]
};

exports.fish = [
"Nice catch! You just caught yourself -kind and placed it in your inventory.",
"Looks like you'll be dining on -kind tonight. You place it in your inventory.",
"You have caught -kind! You placed it in your inventory.",
"Oh! A -kind. Looks like that's a winner. You have placed it in your inventory."
];

exports.harvest = {
"noRow": [
"You should redeem your first daily. Then, you can harvest all you like."
],
"noCredits": [
"Hmm... you seem to be lacking in credits. Find some and come back."
],
"success": [
"You found a -kind. You placed it in your inventory",
"That looks like a fine -kind. You placed it in your inventory.",
"A -kind! You could make a good meal out of that one. You placed it in your inventory."
]
};

exports.inventory = [ //No account. Seperate from dataCheck since no credits are needed
"Doesn't look like you've redeemed your first daily yet. Do that and then you'll have an inventory to look at!",
"You don't have an inventory yet. Redeem your first daily to get one!"
];

exports.sell = {
"notEnough": [
"You don't have enough of this to sell!"
"harvest": {
"noRow": [
"You should redeem your first daily. Then, you can harvest all you like."
],
"noCredits": [
"Hmm... you seem to be lacking in credits. Find some and come back."
],
"success": [
"You found a -kind. You placed it in your inventory",
"That looks like a fine -kind. You placed it in your inventory.",
"A -kind! You could make a good meal out of that one. You placed it in your inventory."
]
},
"inventory": [ //No account. Seperate from dataCheck since no credits are needed
"Doesn't look like you've redeemed your first daily yet. Do that and then you'll have an inventory to look at!",
"You don't have an inventory yet. Redeem your first daily to get one!"
],
"success": [
"Success! You've sold -amount of -item for -price!"
]
"sell": {
"notEnough": [
"You don't have enough of this to sell!",
"That's more than you have! You can't sell this much."
],
"success": [
"Success! You've sold -amount of -item for -price!",
"Okay! You've earned -price for selling -amount of -item"
]
}
};
90 changes: 48 additions & 42 deletions assets/speech/en-CA/economy.js
Original file line number Diff line number Diff line change
@@ -1,45 +1,51 @@
/*Speech for all commands in the general economy section*/
/*
* Speech for all commands in the general economy section
*/

exports.balance = []; //Placeholder

exports.daily = {
"self": [
"You have redeemed 100 credits!",
"Poof! You are 100 credits richer now!",
"Don't go gambling your 100 credits all in one place now.",
"You have redeemed your daily credits. Come back tomorrow at the same time for more!",
"You should buy me a game with those credits. I won't take all 100 on you, I swear."
],
"other": [
"Oh? Feeling generous are we? You have given -user -credit credits!",
"Success! -user is now -credit credits richer!",
"-user is really going to make it rain with -credit extra credits in their pockets!"
]
};

exports.exchange = [
"-user1 just gave -user2 -credit credits!",
"Looks like -user2 is -credit credits richer because of -user1.",
"Exchange complete, -user1! -user2 has received -credit credits.",
"Credits exchanged! -credit credits have been given to -user2."
];

exports.rep = [
"You have given -mention a reputation point!",
"One new, shiny reputation point for -mention has been given!"
];

exports.revoke = {
"prompt": [
"By doing this, you will delete all of your data. If you want to do this, reply with \"yes\"."
],
"stopped": [
"Action aborted. Nothing has happened."
module.exports = {
"balance": null, //Placeholder
"daily": {
"self": [
"You have redeemed -credit credits!",
"Poof! You are -credit credits richer now!",
"Don't go gambling your -credit credits all in one place now.",
"You have redeemed your daily credits. Come back tomorrow at the same time for more!",
"You should buy me a game with those credits. I won't take all -credit on you, I swear.",
"Nice! Now you'll be able to buy me a game with those credits! Don't worry, I won't take all -credit on you."
],
"other": [
"Oh? Feeling generous are we? You have given -user -credit credits!",
"Success! -user is now -credit credits richer!",
"-user is really going to make it rain with -credit extra credits in their pockets!"
]
},
"exchange": [
"-user1 just gave -user2 -credit credits!",
"Looks like -user2 is -credit credits richer because of -user1.",
"Exchange complete, -user1! -user2 has received -credit credits.",
"Credits exchanged! -credit credits have been given to -user2."
],
"success": [
"Okay. I've deleted your data from my systems. If you want to give it to me again, wait 24 hours."
"rep": [
"You have given -mention a reputation point!",
"One new, shiny reputation point for -mention has been given!",
"-mention has been awarded a reputation point!"
],
"timeout": [
"Whoops! Looks like you forgot to respond to me. I'm not waiting around anymore."
]
}
"revoke": {
"prompt": [
"By doing this, you will delete all of your data. If you want to do this, reply with \"yes\".",
"You will delete all of your data if you do this. To confirm your action, reply with \"yes\"."
],
"stopped": [
"Action aborted. Nothing has happened.",
"Action cancelled! Nothing has happened."
],
"success": [
"Okay. I've deleted your data from my systems. If you want to give it to me again, wait 24 hours.",
"Just like that, your data is deleted. If you want to give it to me again, wait 24 hours before redeeming a daily."
],
"timeout": [
"Whoops! Looks like you forgot to respond to me. I'm not waiting around anymore.",
"I can't wait all day. Try again when ready to."
]
}
};
Loading

0 comments on commit f751d77

Please sign in to comment.