├── Website └── index.html ├── json.sqlite ├── Ayame-Main-Modules ├── Emojis.js ├── Event-Checker │ ├── message │ │ └── msg.js │ ├── ready.js │ └── guildmemberadd.js ├── src │ ├── Command_Example.js │ ├── Commands │ │ ├── Roles │ │ │ ├── Roles.js │ │ │ └── RoleInfo.js │ │ ├── Fun │ │ │ ├── Insult.js │ │ │ ├── Reddit.js │ │ │ ├── Yomama.js │ │ │ ├── Chucknorris.js │ │ │ ├── Zalgo.js │ │ │ ├── Enchant.js │ │ │ ├── ThanosQuote.js │ │ │ └── Compliment.js │ │ ├── Info │ │ │ ├── Avatar.js │ │ │ ├── Invite.js │ │ │ ├── Channels.js │ │ │ ├── Uptime.js │ │ │ ├── Help.js │ │ │ ├── MemberCount.js │ │ │ ├── ServerInfo.js │ │ │ ├── BotInfo.js │ │ │ ├── UserInfo.js │ │ │ ├── Emojis.js │ │ │ ├── ChannelInfo.js │ │ │ └── Weather.js │ │ ├── Nsfw │ │ │ ├── Anal.js │ │ │ ├── Tits.js │ │ │ ├── Classic.js │ │ │ └── NsfwAvatar.js │ │ ├── Roleplay │ │ │ ├── Hug.js │ │ │ ├── Cuddle.js │ │ │ ├── Tickle.js │ │ │ ├── Divorce.js │ │ │ └── Marry.js │ │ ├── Anime │ │ │ ├── Baka.js │ │ │ ├── Baguette.js │ │ │ ├── AnimeMeme.js │ │ │ ├── AnimeScrap.js │ │ │ └── AnimeAvatar.js │ │ ├── Moderation │ │ │ ├── Ban.js │ │ │ └── Kick.js │ │ ├── Config │ │ │ ├── EnableCommandsChannel.js │ │ │ ├── DisableCommandsChannel.js │ │ │ ├── EnableNsfwCommands.js │ │ │ └── DisableNsfwCommands.js │ │ ├── Welcomer │ │ │ ├── EnableWelcomerDM.js │ │ │ ├── SetWelcomerImage.js │ │ │ ├── DisableWelcomerDM.js │ │ │ ├── SetWelcomerMessage.js │ │ │ ├── DisableWelcomerImage.js │ │ │ ├── SetWelcomerMessageDM.js │ │ │ ├── SetWelcomerChannel.js │ │ │ ├── DisableWelcomerChannel.js │ │ │ ├── TestWelcomerDM.js │ │ │ └── TestWelcomer.js │ │ ├── Leveling │ │ │ ├── DisableLeveling.js │ │ │ ├── EnableLeveling.js │ │ │ └── SetLevelMessage.js │ │ └── CommandsList.js │ └── Functions │ │ ├── EmbedTemplate.js │ │ ├── Baka.js │ │ ├── Uptime.js │ │ ├── Roles.js │ │ ├── Hug.js │ │ ├── Tickle.js │ │ ├── Channels.js │ │ ├── Cuddle.js │ │ ├── Invite.js │ │ ├── EnableWelcomerDM.js │ │ ├── DisableWelcomerDM.js │ │ ├── DisableWelcomerImage.js │ │ ├── Anal.js │ │ ├── Tits.js │ │ ├── DisableWelcomerChannel.js │ │ ├── Classic.js │ │ ├── NsfwAvatar.js │ │ ├── EnableCommandsChannel.js │ │ ├── SetWelcomerChannel.js │ │ ├── DisableCommandsChannel.js │ │ ├── SetWelcomerImage.js │ │ ├── AnimeRedditMeme.js │ │ ├── BotInfo.js │ │ ├── Reddit.js │ │ ├── MemberCount.js │ │ ├── SetWelcomerMessageDM.js │ │ ├── SetWelcomerMessage.js │ │ ├── Baguette.js │ │ ├── Ban.js │ │ ├── Kick.js │ │ ├── Avatar.js │ │ ├── RoleInfo.js │ │ ├── UserInfo.js │ │ ├── AnimeScraper.js │ │ ├── ServerInfo.js │ │ ├── Help.js │ │ └── Insult.js ├── Regions.js ├── ErrorMessage.js ├── Permissions.js └── Ayame-Script.js ├── Ayame-Core ├── core-start.js └── ayameLogin.js ├── index.js ├── package.json ├── LICENSE └── README.md /Website/index.html: -------------------------------------------------------------------------------- 1 | 2 |

test

3 | -------------------------------------------------------------------------------- /json.sqlite: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syrup/Ayame/main/json.sqlite -------------------------------------------------------------------------------- /Ayame-Main-Modules/Emojis.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | notice: '<:notice:785729699892428801>', 3 | } -------------------------------------------------------------------------------- /Ayame-Main-Modules/Event-Checker/message/msg.js: -------------------------------------------------------------------------------- 1 | function msg(msg) { 2 | console.log(msg.author.tag + ' ' + msg.author.id + ' ' + 'Ran a command.' + ' ' + msg.content) 3 | } 4 | module.exports = msg; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Command_Example.js: -------------------------------------------------------------------------------- 1 | function ExampleCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, /*Command Function*/) { 2 | /*Code*/ 3 | } 4 | module.exports = ExampleCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Roles/Roles.js: -------------------------------------------------------------------------------- 1 | function RolesCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, RolesFunction) { 2 | RolesFunction(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate); 3 | } 4 | module.exports = RolesCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Fun/Insult.js: -------------------------------------------------------------------------------- 1 | function InsultCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, InsultFunction) { 2 | InsultFunction(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate); 3 | } 4 | module.exports = InsultCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Info/Avatar.js: -------------------------------------------------------------------------------- 1 | function AvatarCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, AvatarFunction) { 2 | AvatarFunction(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate); 3 | } 4 | module.exports = AvatarCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Info/Invite.js: -------------------------------------------------------------------------------- 1 | function InviteCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, InviteFunction) { 2 | InviteFunction(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate); 3 | } 4 | module.exports = InviteCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Info/Channels.js: -------------------------------------------------------------------------------- 1 | function ChannelsCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, ChannelsFunction) { 2 | ChannelsFunction(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate); 3 | } 4 | module.exports = ChannelsCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Nsfw/Anal.js: -------------------------------------------------------------------------------- 1 | function AnalCommand(msg, args, notice, Superagent, Discord, AyameClient, Db, EmbedTemplate, AnalFunction) { 2 | AnalFunction(msg, args, notice, Superagent, Discord, AyameClient, Db, EmbedTemplate) 3 | } 4 | module.exports = AnalCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Nsfw/Tits.js: -------------------------------------------------------------------------------- 1 | function TitsCommand(msg, args, notice, Superagent, Discord, AyameClient, Db, EmbedTemplate, TitsFunction) { 2 | TitsFunction(msg, args, notice, Superagent, Discord, AyameClient, Db, EmbedTemplate) 3 | } 4 | module.exports = TitsCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Roleplay/Hug.js: -------------------------------------------------------------------------------- 1 | function HugCommand(msg, args, notice, Superagent, Discord, AyameClient, Db, EmbedTemplate, HugFunction) { 2 | HugFunction(msg, args, notice, Superagent, Discord, AyameClient, Db, EmbedTemplate); 3 | } 4 | module.exports = HugCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Functions/EmbedTemplate.js: -------------------------------------------------------------------------------- 1 | const { MessageEmbed } = require("discord.js"), 2 | Color = 'F0F8FF' 3 | 4 | function EmbedTemplate() { 5 | 6 | return new MessageEmbed() 7 | .setColor(Color) 8 | } 9 | 10 | module.exports = EmbedTemplate; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Anime/Baka.js: -------------------------------------------------------------------------------- 1 | function BakaCommand(msg, args, notice, Discord, Superagent, AyameClient, Db, EmbedTemplate, BakaFunction) { 2 | BakaFunction(msg, args, notice, Discord, Superagent, AyameClient, Db, EmbedTemplate); 3 | } 4 | module.exports = BakaCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Info/Uptime.js: -------------------------------------------------------------------------------- 1 | function UptimeCommand(msg, args, notice, moment, Discord, AyameClient, Db, EmbedTemplate, UptimeFunction) { 2 | UptimeFunction(msg, args, notice, moment, Discord, AyameClient, Db, EmbedTemplate); 3 | } 4 | module.exports = UptimeCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Moderation/Ban.js: -------------------------------------------------------------------------------- 1 | function BanCommand(msg, args, notice, Permissions, Discord, AyameClient, Db, EmbedTemplate, BanFunction) { 2 | BanFunction(msg, args, notice, Permissions, Discord, AyameClient, Db, EmbedTemplate); 3 | } 4 | module.exports = BanCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Fun/Reddit.js: -------------------------------------------------------------------------------- 1 | function RedditCommand(msg, args, notice, Superagent, Discord, AyameClient, Db, EmbedTemplate, RedditFunction) { 2 | RedditFunction(msg, args, notice, Superagent, Discord, AyameClient, Db, EmbedTemplate); 3 | } 4 | module.exports = RedditCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Info/Help.js: -------------------------------------------------------------------------------- 1 | function HelpCommand(msg, args, notice, moment, Prefix, Discord, AyameClient, Db, EmbedTemplate, HelpFunction) { 2 | HelpFunction(msg, args, notice, moment, Prefix, Discord, AyameClient, Db, EmbedTemplate); 3 | } 4 | module.exports = HelpCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Moderation/Kick.js: -------------------------------------------------------------------------------- 1 | function KickCommand(msg, args, notice, Permissions, Discord, AyameClient, Db, EmbedTemplate, KickFunction) { 2 | KickFunction(msg, args, notice, Permissions, Discord, AyameClient, Db, EmbedTemplate); 3 | } 4 | module.exports = KickCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Anime/Baguette.js: -------------------------------------------------------------------------------- 1 | function BaguetteCommand(msg, args, notice, Discord, Fetch, AyameClient, Db, EmbedTemplate, BaguetteFunction) { 2 | BaguetteFunction(msg, args, notice, Discord, Fetch, AyameClient, Db, EmbedTemplate); 3 | } 4 | module.exports = BaguetteCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Info/MemberCount.js: -------------------------------------------------------------------------------- 1 | function MemberCountCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, MemberCountFunction) { 2 | MemberCountFunction(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate); 3 | } 4 | module.exports = MemberCountCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Nsfw/Classic.js: -------------------------------------------------------------------------------- 1 | function ClassicCommand(msg, args, notice, Superagent, Discord, AyameClient, Db, EmbedTemplate, ClassicFunction) { 2 | ClassicFunction(msg, args, notice, Superagent, Discord, AyameClient, Db, EmbedTemplate) 3 | } 4 | module.exports = ClassicCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Roleplay/Cuddle.js: -------------------------------------------------------------------------------- 1 | function CuddleCommand(msg, args, notice, Superagent, Discord, AyameClient, Db, EmbedTemplate, CuddleFunction) { 2 | CuddleFunction(msg, args, notice, Superagent, Discord, AyameClient, Db, EmbedTemplate); 3 | } 4 | module.exports = CuddleCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Roleplay/Tickle.js: -------------------------------------------------------------------------------- 1 | function TickleCommand(msg, args, notice, Superagent, Discord, AyameClient, Db, EmbedTemplate, TickleFunction) { 2 | TickleFunction(msg, args, notice, Superagent, Discord, AyameClient, Db, EmbedTemplate); 3 | } 4 | module.exports = TickleCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Roles/RoleInfo.js: -------------------------------------------------------------------------------- 1 | function RoleInfoCommand(msg, args, notice, moment, Discord, AyameClient, Db, EmbedTemplate, RoleInfoFunction) { 2 | RoleInfoFunction(msg, args, notice, moment, Discord, AyameClient, Db, EmbedTemplate); 3 | } 4 | module.exports = RoleInfoCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Info/ServerInfo.js: -------------------------------------------------------------------------------- 1 | function ServerInfoCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, ServerInfoFunction, Regions) { 2 | ServerInfoFunction(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, Regions); 3 | } 4 | module.exports = ServerInfoCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Anime/AnimeMeme.js: -------------------------------------------------------------------------------- 1 | function AnimeMemeCommand(msg, args, notice, Discord, Superagent, AyameClient, Db, EmbedTemplate, AnimeMemeFunction){ 2 | AnimeMemeFunction(msg, args, notice, Discord, Superagent, AyameClient, Db, EmbedTemplate); 3 | } 4 | module.exports = AnimeMemeCommand; 5 | -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Info/BotInfo.js: -------------------------------------------------------------------------------- 1 | function BotInfoCommand(msg, args, notice, moment, Discord, AyameClient, Db, EmbedTemplate, BotInfoFunction, Developer) { 2 | BotInfoFunction(msg, args, notice, moment, Discord, AyameClient, Db, EmbedTemplate, Developer); 3 | } 4 | module.exports = BotInfoCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Info/UserInfo.js: -------------------------------------------------------------------------------- 1 | function UserInfoCommand(msg, args, notice, moment, Discord, AyameClient, Db, EmbedTemplate, UserInfoFunction, Flags) { 2 | UserInfoFunction(msg, args, notice, moment, Discord, AyameClient, Db, EmbedTemplate, Flags); 3 | } 4 | module.exports = UserInfoCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Nsfw/NsfwAvatar.js: -------------------------------------------------------------------------------- 1 | function NsfwAvatarCommand(msg, args, notice, Superagent, Discord, AyameClient, Db, EmbedTemplate, NsfwAvatarFunction) { 2 | NsfwAvatarFunction(msg, args, notice, Superagent, Discord, AyameClient, Db, EmbedTemplate) 3 | } 4 | module.exports = NsfwAvatarCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Anime/AnimeScrap.js: -------------------------------------------------------------------------------- 1 | function AnimeScrapCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, AnimeScrapFunction, Prefix, Scraper) { 2 | AnimeScrapFunction(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, Prefix, Scraper); 3 | } 4 | module.exports = AnimeScrapCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Config/EnableCommandsChannel.js: -------------------------------------------------------------------------------- 1 | function EnableCommandsChannelCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, EnableCmdFunction, Permissions) { 2 | EnableCmdFunction(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, Permissions); 3 | } 4 | module.exports = EnableCommandsChannelCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Welcomer/EnableWelcomerDM.js: -------------------------------------------------------------------------------- 1 | function EnableWelcomerDMCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, Permissions, EnableWelcomerDMFunction) { 2 | EnableWelcomerDMFunction(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, Permissions); 3 | } 4 | module.exports = EnableWelcomerDMCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Welcomer/SetWelcomerImage.js: -------------------------------------------------------------------------------- 1 | function SetWelcomerImageCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, Permissions, SetWelcomerImageFunction) { 2 | SetWelcomerImageFunction(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, Permissions); 3 | } 4 | module.exports = SetWelcomerImageCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Config/DisableCommandsChannel.js: -------------------------------------------------------------------------------- 1 | function DisableCommandsChannelCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, DisableCmdFunction, Permissions) { 2 | DisableCmdFunction(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, Permissions); 3 | } 4 | module.exports = DisableCommandsChannelCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Welcomer/DisableWelcomerDM.js: -------------------------------------------------------------------------------- 1 | function DisableWelcomerDMCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, Permissions, DisableWelcomerDMFunction) { 2 | DisableWelcomerDMFunction(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, Permissions); 3 | } 4 | module.exports = DisableWelcomerDMCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Welcomer/SetWelcomerMessage.js: -------------------------------------------------------------------------------- 1 | function SetWelcomerMessageCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, Permissions, SetWelcomerMessageFunction) { 2 | SetWelcomerMessageFunction(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, Permissions); 3 | } 4 | module.exports = SetWelcomerMessageCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Welcomer/DisableWelcomerImage.js: -------------------------------------------------------------------------------- 1 | function DisableWelcomerImageCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, Permissions, DisableWelcomerImageFunction) { 2 | DisableWelcomerImageFunction(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, Permissions); 3 | } 4 | module.exports = DisableWelcomerImageCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Welcomer/SetWelcomerMessageDM.js: -------------------------------------------------------------------------------- 1 | function SetWelcomerMessageDMCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, Permissions, SetWelcomerMessageDMFunction) { 2 | SetWelcomerMessageDMFunction(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, Permissions); 3 | } 4 | module.exports = SetWelcomerMessageDMCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Welcomer/SetWelcomerChannel.js: -------------------------------------------------------------------------------- 1 | function SetWelcomerChannelCommand(msg, args, notice, moment, Discord, AyameClient, Db, EmbedTemplate, Permissions, 2 | SetWelcomerChannelFunction) { 3 | SetWelcomerChannelFunction(msg, args, notice, moment, Discord, AyameClient, Db, EmbedTemplate, Permissions); 4 | } 5 | module.exports = SetWelcomerChannelCommand; -------------------------------------------------------------------------------- /Ayame-Core/core-start.js: -------------------------------------------------------------------------------- 1 | function AyameCore(AyameScript, AyameToken) { 2 | console.log('Connecting....') 3 | if(!AyameToken) throw Error ('{ Please put token }' + ' ' + 'AyameToken' + 'Error') 4 | try { 5 | AyameScript(AyameToken); 6 | } catch (error) { 7 | console.log(error + ' ' + 'Error Occured!' + 'Ayame Script') 8 | } 9 | } 10 | module.exports = AyameCore; 11 | -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Welcomer/DisableWelcomerChannel.js: -------------------------------------------------------------------------------- 1 | function DisableWelcomerChannelCommand(msg, args, notice, moment, Permissions, Discord, AyameClient, Db, EmbedTemplate, DisableWelcomerChannelFunction) { 2 | DisableWelcomerChannelFunction(msg, args, notice, moment, Permissions, Discord, AyameClient, Db, EmbedTemplate); 3 | } 4 | module.exports = DisableWelcomerChannelCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/Regions.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | brazil: 'Brazil', 3 | europe: 'Europe', 4 | hongkong: 'Hong Kong', 5 | india: 'India', 6 | japan: 'Japan', 7 | russia: 'Russia', 8 | singapore: 'Singapore', 9 | southafrica: 'South Africa', 10 | sydeny: 'Sydeny', 11 | 'us-central': 'US Central', 12 | 'us-east': 'US East', 13 | 'us-west': 'US West', 14 | 'us-south': 'US South' 15 | } -------------------------------------------------------------------------------- /Ayame-Core/ayameLogin.js: -------------------------------------------------------------------------------- 1 | function AyameLogin(AyameToken, AyameClient) { 2 | AyameClient.login(AyameToken); 3 | function AyameProperty(License, Developers, Name) { 4 | this.license = License; 5 | this.developers = Developers; 6 | this.name = Name; 7 | } 8 | var ActualProperty = new AyameProperty('MIT', '704697854207459419 (Zed)', 'Ayame'); 9 | } 10 | module.exports = AyameLogin; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Fun/Yomama.js: -------------------------------------------------------------------------------- 1 | async function YomamaCommand(msg, args, notice, fetch, Discord, AyameClient, Db, EmbedTemplate) { 2 | let user = msg.mentions.users.first() || msg.author; 3 | 4 | const { joke } = await fetch("http://api.yomomma.info") 5 | .then((res) => res.json()); 6 | 7 | return msg.channel.send(`${notice}${user}, ${joke}`); 8 | } 9 | module.exports = YomamaCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Fun/Chucknorris.js: -------------------------------------------------------------------------------- 1 | async function ChucknorrisCommand(msg, args, notice, fetch, Discord, AyameClient, Db, EmbedTemplate) { 2 | let user = msg.mentions.users.first() || msg.author; 3 | 4 | const { value } = await fetch("http://api.chucknorris.io/jokes/random") 5 | .then((res) => res.json()); 6 | 7 | return msg.channel.send(`${notice}${user ? value.replace(/Chuck Norris/g, user.toString()) : value}`); 8 | } 9 | module.exports = ChucknorrisCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Functions/Baka.js: -------------------------------------------------------------------------------- 1 | function Baka(msg, args, notice, Discord, Superagent, AyameClient, Db, EmbedTemplate) { 2 | Superagent 3 | .get("https://nekos.life/api/v2/img/baka") 4 | .end((err, response) => { 5 | const bakaEmbed = new EmbedTemplate() 6 | .setTitle(`${notice}Baka!`) 7 | .setImage(response.body.url) 8 | .setFooter(`Nekos.Life Api`, AyameClient.user.displayAvatarURL({ dynamic: true })) 9 | msg.channel.send(bakaEmbed) 10 | }) 11 | } 12 | module.exports = Baka; -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | var http = require('http'); 2 | 3 | http.createServer(function (req, res) { 4 | res.write("Ayame"); 5 | res.end(); 6 | }).listen(3000); 7 | 8 | /** 9 | * @param {string} MIT LICENSE 10 | */ 11 | 12 | var AyameCore = require('./Ayame-Core/core-start.js'), 13 | AyameScript = require('./Ayame-Main-Modules/Ayame-Script.js'), 14 | AyameSecret = 'experimenting C: /*testing*/', 15 | AyameToken = 'token C:'; 16 | 17 | AyameCore(AyameScript, AyameToken /**@param {string} functions*/); -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Functions/Uptime.js: -------------------------------------------------------------------------------- 1 | function UptimeFunction(msg, args, notice, moment, Discord, AyameClient, Db, EmbedTemplate) { 2 | require("moment-duration-format"); 3 | const duration = moment.duration(AyameClient.uptime).format(" D [days], H [hrs], m [mins], s [secs]"); 4 | 5 | 6 | let uptimeembed = new EmbedTemplate() 7 | .setTitle(`Ayame's Uptime!`) 8 | .addField(`Uptime`, `${notice}${duration}`) 9 | .setFooter(`I'm still alive!`, AyameClient.user.displayAvatarURL({ dynamic: true })) 10 | msg.channel.send(uptimeembed) 11 | } 12 | module.exports = UptimeFunction; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Functions/Roles.js: -------------------------------------------------------------------------------- 1 | function RolesFunction(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate) { 2 | const roleEmbed = new EmbedTemplate() 3 | .setTitle(`Roles of ${msg.guild.name}`) 4 | .setThumbnail(msg.guild.iconURL({ dynamic: true })) 5 | .setFooter(`Roles`, AyameClient.user.displayAvatarURL({ dynamic: true })) 6 | 7 | 8 | msg.guild.roles.cache.forEach(role => { 9 | roleEmbed.addField(`**${role.name}**`, `${notice}${role.members.size} Members`) 10 | }) 11 | 12 | return msg.channel.send(roleEmbed) 13 | } 14 | module.exports = RolesFunction; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Functions/Hug.js: -------------------------------------------------------------------------------- 1 | function HugFunction(msg, args, notice, Superagent, Discord, AyameClient, Db, EmbedTemplate) { 2 | let user = msg.mentions.users.first() || msg.author; 3 | 4 | Superagent 5 | .get("https://nekos.life/api/v2/img/hug") 6 | .end((err, response) => { 7 | const hugEmbed = new EmbedTemplate() 8 | .setTitle(`${msg.author.username} Hugs with ${user.username}!`) 9 | .setImage(response.body.url) 10 | .setFooter(`Nekos.Life Api`, AyameClient.user.displayAvatarURL({ dynamic: true })) 11 | msg.channel.send(hugEmbed) 12 | }) 13 | } 14 | module.exports = HugFunction; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Functions/Tickle.js: -------------------------------------------------------------------------------- 1 | function TickleFunction(msg, args, notice, Superagent, Discord, AyameClient, Db, EmbedTemplate) { 2 | let user = msg.mentions.users.first() || msg.author; 3 | 4 | Superagent 5 | .get("https://nekos.life/api/v2/img/tickle") 6 | .end((err, response) => { 7 | const tickleEmbed = new EmbedTemplate() 8 | .setTitle(`${msg.author.username} Tickles ${user.username}!`) 9 | .setImage(response.body.url) 10 | .setFooter(`Nekos.Life Api`, AyameClient.user.displayAvatarURL({ dynamic: true })) 11 | msg.channel.send(tickleEmbed) 12 | }) 13 | } 14 | module.exports = TickleFunction; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Functions/Channels.js: -------------------------------------------------------------------------------- 1 | function ChannelsFunction(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate) { 2 | const channelEmbed = new EmbedTemplate() 3 | .setTitle(`Channel map of ${msg.guild.name}`) 4 | .setThumbnail(msg.guild.iconURL({ dynamic: true })) 5 | .setFooter(`Channels`, AyameClient.user.displayAvatarURL({ dynamic: true })) 6 | 7 | 8 | msg.guild.channels.cache.forEach(channel => { 9 | channelEmbed.addField(`**${channel.name}**`, `${notice}ID ${channel.id}`) 10 | }) 11 | 12 | return msg.channel.send(channelEmbed) 13 | } 14 | module.exports = ChannelsFunction; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Functions/Cuddle.js: -------------------------------------------------------------------------------- 1 | function CuddleFunction(msg, args, notice, Superagent, Discord, AyameClient, Db, EmbedTemplate) { 2 | let user = msg.mentions.users.first() || msg.author; 3 | 4 | Superagent 5 | .get("https://nekos.life/api/v2/img/cuddle") 6 | .end((err, response) => { 7 | const cuddleEmbed = new EmbedTemplate() 8 | .setTitle(`${msg.author.username} Cuddles with ${user.username}!`) 9 | .setImage(response.body.url) 10 | .setFooter(`Nekos.Life Api`, AyameClient.user.displayAvatarURL({ dynamic: true })) 11 | msg.channel.send(cuddleEmbed) 12 | }) 13 | } 14 | module.exports = CuddleFunction; -------------------------------------------------------------------------------- /Ayame-Main-Modules/ErrorMessage.js: -------------------------------------------------------------------------------- 1 | /* 2 | function ErrorMessage(notice, error, msg, name, EmbedTemplate, AyameClient) { 3 | const errorEmbed = new EmbedTemplate() 4 | .setTitle(`Something Went wrong on this command!`) 5 | .setDescription(`\`${error}\``) 6 | .addField(`**Report this Command (${name}) in my support server!**`, `${notice}[Support Server](https://discord.gg/h9Tn3MvWSJ)`) 7 | .setFooter(`Error`, AyameClient.user.displayAvatarURL({ dynamic: true })) 8 | msg.channel.send(errorEmbed) 9 | } 10 | module.exports = ErrorMessage; 11 | FAILED - (undefined Time) but ill be fixing this and make error handlers for sll cmds :dab:*/ 12 | -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Anime/AnimeAvatar.js: -------------------------------------------------------------------------------- 1 | async function AnimeAvatarCommand(msg, args, notice, fetch, Discord, AyameClient, Db, EmbedTemplate) { 2 | const { url } = await fetch(`https://nekos.life/api/v2/img/${msg.channel.nsfw ? "nsfw_" : ""}avatar`) 3 | .then((res) => res.json()); 4 | 5 | const animeavatarEmbed = new EmbedTemplate() 6 | .setTitle(`${msg.channel.nsfw ? "NSFW " : ""}Anime Avatar!`) 7 | .setImage(url) 8 | .setFooter(`Nekos.Life Api`, AyameClient.user.displayAvatarURL({ dynamic: true })); 9 | 10 | return msg.channel.send(animeavatarEmbed); 11 | } 12 | module.exports = AnimeAvatarCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Functions/Invite.js: -------------------------------------------------------------------------------- 1 | function InviteFunction(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate) { 2 | const inviteEmbed = new EmbedTemplate() 3 | .setTitle(`Invite Me!`) 4 | .setThumbnail(AyameClient.user.displayAvatarURL({ dynamic: true })) 5 | .setDescription(`Make your Server more Fun, Anime Themed, Convenience, and much more!`) 6 | .addField(`**Invite Link**`, `${notice}[Click Here!](https://discord.com/api/oauth2/authorize?client_id=745140408694079559&permissions=2134900151&scope=bot)`) 7 | .setFooter(`.`, AyameClient.user.displayAvatarURL({ dynamic: true })) 8 | msg.channel.send(inviteEmbed) 9 | } 10 | module.exports = InviteFunction; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Functions/EnableWelcomerDM.js: -------------------------------------------------------------------------------- 1 | function EnableWelcomerDMFunction(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, Permissions) { 2 | let PermCheck = Permissions.manage_channels; 3 | 4 | if(!msg.member.hasPermission('MANAGE_CHANNELS')) return msg.channel.send(`${notice}You **need** the **${PermCheck}** permission to use this command!`) 5 | 6 | let dmdb = Db.get(`welcomerdm_${msg.guild.id}`) 7 | if(dmdb === true) return msg.channel.send(`${notice}The DM Welcomer is already **Enabled!**`) 8 | 9 | Db.set(`welcomerdm_${msg.guild.id}`, true) 10 | msg.channel.send(`${notice}**Successfully Enabled the Welcomer DM!**`) 11 | } 12 | module.exports = EnableWelcomerDMFunction; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Functions/DisableWelcomerDM.js: -------------------------------------------------------------------------------- 1 | function DisableWelcomerDMFunction(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, Permissions) { 2 | let PermCheck = Permissions.manage_channels; 3 | 4 | if(!msg.member.hasPermission('MANAGE_CHANNELS')) return msg.channel.send(`${notice}You **need** the **${PermCheck}** permission to use this command!`) 5 | 6 | let dmdb = Db.get(`welcomerdm_${msg.guild.id}`) 7 | if(dmdb === null) return msg.channel.send(`${notice}The DM Welcomer is already **Disabled!**`) 8 | 9 | Db.delete(`welcomerdm_${msg.guild.id}`) 10 | msg.channel.send(`${notice}**Successfully Disabled the Welcomer DM!**`) 11 | } 12 | module.exports = DisableWelcomerDMFunction; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Leveling/DisableLeveling.js: -------------------------------------------------------------------------------- 1 | function DisableLevelingCommand(msg, args, notice, Permissions, Discord, AyameClient, Db, EmbedTemplate) { 2 | let PermCheck = Permissions.administrator; 3 | 4 | let perms = msg.member.hasPermission("ADMINISTRATOR") 5 | if(!perms) return msg.channel.send(`${notice}You **need** the **${PermCheck}** permission to use this command!`) 6 | 7 | let lvldb = Db.get(`levelingdata_${msg.guild.id}`) 8 | if(lvldb === null) return msg.channel.send(`${notice}Leveling is **already disabled!**`) 9 | 10 | Db.delete(`levelingdata_${msg.guild.id}`) 11 | msg.channel.send(`${notice}Successfully **Disabled the leveling system!**`) 12 | } 13 | module.exports = DisableLevelingCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Leveling/EnableLeveling.js: -------------------------------------------------------------------------------- 1 | function EnableLevelingCommand(msg, args, notice, Permissions, Discord, AyameClient, Db, EmbedTemplate) { 2 | let PermCheck = Permissions.administrator; 3 | 4 | let perms = msg.member.hasPermission("ADMINISTRATOR") 5 | if(!perms) return msg.channel.send(`${notice}You **need** the **${PermCheck}** permission to use this command!`) 6 | 7 | let lvldb = Db.get(`levelingdata_${msg.guild.id}`) 8 | if(lvldb === true) return msg.channel.send(`${notice}Leveling is **already enabled!**`) 9 | 10 | Db.set(`levelingdata_${msg.guild.id}`, true) 11 | msg.channel.send(`${notice}Successfully **Enabled the leveling system!**`) 12 | } 13 | module.exports = EnableLevelingCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Functions/DisableWelcomerImage.js: -------------------------------------------------------------------------------- 1 | function DisableWelcomerImageFunction(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, Permissions) { 2 | let PermCheck = Permissions.manage_channels; 3 | 4 | if(!msg.member.hasPermission('MANAGE_CHANNELS')) return msg.channel.send(`${notice}You **need** the **${PermCheck}** permission to use this command!`) 5 | 6 | let imagedb = Db.get(`welcomerimage_${msg.guild.id}`) 7 | 8 | if(imagedb === null) return msg.channel.send(`${notice}The Welcomer Image is already **Disabled!**`) 9 | 10 | Db.delete(`welcomerimage_${msg.guild.id}`) 11 | msg.channel.send(`${notice}**Successfully Deleted the Welcomer Image!**`) 12 | } 13 | module.exports = DisableWelcomerImageFunction; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Fun/Zalgo.js: -------------------------------------------------------------------------------- 1 | function ZalgoCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate) { 2 | if(!args[0]) return msg.channel.send(`${notice}Please **type something!**`); 3 | 4 | const text = args.join(" "); 5 | if(text.length > 180) return msg.channel.send(`${notice}Cannot **use more than 180 characters!**`); 6 | 7 | return msg.channel.send(notice + text.split("").map((c) => { 8 | if(/\s/.test(c)) return c; 9 | 10 | let zalgo = c; 11 | 12 | for(let i = 0; i < 10; i++) { 13 | zalgo = zalgo + String.fromCharCode(Math.floor(Math.random() * 112) + 768); 14 | } 15 | 16 | return zalgo; 17 | }).join("")); 18 | } 19 | module.exports = ZalgoCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Functions/Anal.js: -------------------------------------------------------------------------------- 1 | function AnalFunction(msg, args, notice, Superagent, Discord, AyameClient, Db, EmbedTemplate) { 2 | if(!msg.channel.nsfw) return msg.channel.send(`${notice}Please use this command in **NSFW Channel!**`) 3 | 4 | let nsfwdb = Db.get(`nsfwcommands_${msg.guild.id}`) 5 | if(nsfwdb === null) return msg.channel.send(`${notice}NSFW Commands **are disabled!**`) 6 | 7 | Superagent 8 | .get("https://nekos.life/api/v2/img/anal") 9 | .end((err, response) => { 10 | const analEmbed = new EmbedTemplate() 11 | .setImage(response.body.url) 12 | .setFooter(`Nekos.Life Api`, AyameClient.user.displayAvatarURL({ dynamic: true })) 13 | msg.channel.send(analEmbed) 14 | }) 15 | } 16 | module.exports = AnalFunction; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Functions/Tits.js: -------------------------------------------------------------------------------- 1 | function TitsFunction(msg, args, notice, Superagent, Discord, AyameClient, Db, EmbedTemplate) { 2 | if(!msg.channel.nsfw) return msg.channel.send(`${notice}Please use this command in **NSFW Channel!**`) 3 | 4 | let nsfwdb = Db.get(`nsfwcommands_${msg.guild.id}`) 5 | if(nsfwdb === null) return msg.channel.send(`${notice}NSFW Commands **are disabled!**`) 6 | 7 | Superagent 8 | .get("https://nekos.life/api/v2/img/tits") 9 | .end((err, response) => { 10 | const titsEmbed = new EmbedTemplate() 11 | .setImage(response.body.url) 12 | .setFooter(`Nekos.Life Api`, AyameClient.user.displayAvatarURL({ dynamic: true })) 13 | msg.channel.send(titsEmbed) 14 | }) 15 | } 16 | module.exports = TitsFunction; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Config/EnableNsfwCommands.js: -------------------------------------------------------------------------------- 1 | function EnableNsfwCommandsCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, Permissions) { 2 | let PermCheck = Permissions.administrator; 3 | 4 | let perms = msg.member.hasPermission("ADMINISTRATOR") 5 | if(!perms) return msg.channel.send(`${notice}You **need** the **${PermCheck}** permission to use this command!`) 6 | 7 | let nsfwdb = Db.get(`nsfwcommands_${msg.guild.id}`) 8 | if(nsfwdb === true) return msg.channel.send(`${notice}NSFW Commands are **already Enabled!**`) 9 | 10 | Db.set(`nsfwcommands_${msg.guild.id}`, true) 11 | msg.channel.send(`${notice}Successfully **Enabled the NSFW Commands!**`) 12 | } 13 | module.exports = EnableNsfwCommandsCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Config/DisableNsfwCommands.js: -------------------------------------------------------------------------------- 1 | function DisableNsfwCommandsCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, Permissions) { 2 | let PermCheck = Permissions.administrator; 3 | 4 | let perms = msg.member.hasPermission("ADMINISTRATOR") 5 | if(!perms) return msg.channel.send(`${notice}You **need** the **${PermCheck}** permission to use this command!`) 6 | 7 | let nsfwdb = Db.get(`nsfwcommands_${msg.guild.id}`) 8 | if(nsfwdb === null) return msg.channel.send(`${notice}NSFW Commands are **already Disabled!**`) 9 | 10 | Db.delete(`nsfwcommands_${msg.guild.id}`) 11 | msg.channel.send(`${notice}Successfully **Disabled the NSFW Commands!**`) 12 | } 13 | module.exports = DisableNsfwCommandsCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Functions/DisableWelcomerChannel.js: -------------------------------------------------------------------------------- 1 | function DisableWelcomerChannelFunction(msg, args, notice, moment, Permissions, Discord, AyameClient, Db, EmbedTemplate) { 2 | let PermCheck = Permissions.manage_channels; 3 | 4 | if(!msg.member.hasPermission('MANAGE_CHANNELS')) return msg.channel.send(`${notice}You **need** the **${PermCheck}** permission to use this command!`) 5 | 6 | let channeldb = Db.get(`welcomerchannel_${msg.guild.id}`) 7 | 8 | if(channeldb === null) return msg.channel.send(`${notice}The Welcomer Channel is already **Disabled!**`) 9 | 10 | Db.delete(`welcomerchannel_${msg.guild.id}`) 11 | msg.channel.send(`${notice}**Successfully Deleted the Welcomer Channel!**`) 12 | } 13 | module.exports = DisableWelcomerChannelFunction; -------------------------------------------------------------------------------- /Ayame-Main-Modules/Event-Checker/ready.js: -------------------------------------------------------------------------------- 1 | function ready(AyameClient, Prefix) { 2 | let activities = [`${Prefix}help`, `${AyameClient.users.cache.size} Lovely Users! * ${Prefix}help`, `Spotify * ${Prefix}help`, `Source Code 20/12/30 👀`, `${AyameClient.guilds.cache.size} Soft Servers! * ${Prefix}help`]; 3 | setInterval(() => { 4 | const AyameStatus = Math.floor(Math.random() * (activities.length - 1) + 1); 5 | AyameClient.user.setActivity(activities[AyameStatus], { type: `LISTENING` }); 6 | }, 20000); 7 | 8 | console.log(AyameClient.user.tag + ' ' + 'Ready!'); 9 | console.log('Connected.'); 10 | 11 | const host = require("project-uptimer"); 12 | 13 | host.url("https://ayame-bot-discord.glitch.me", 60000) 14 | } 15 | module.exports = ready; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Functions/Classic.js: -------------------------------------------------------------------------------- 1 | function ClassicFunction(msg, args, notice, Superagent, Discord, AyameClient, Db, EmbedTemplate) { 2 | if(!msg.channel.nsfw) return msg.channel.send(`${notice}Please use this command in **NSFW Channel!**`) 3 | 4 | let nsfwdb = Db.get(`nsfwcommands_${msg.guild.id}`) 5 | if(nsfwdb === null) return msg.channel.send(`${notice}NSFW Commands **are disabled!**`) 6 | 7 | Superagent 8 | .get("https://nekos.life/api/v2/img/classic") 9 | .end((err, response) => { 10 | const classicEmbed = new EmbedTemplate() 11 | .setImage(response.body.url) 12 | .setFooter(`Nekos.Life Api`, AyameClient.user.displayAvatarURL({ dynamic: true })) 13 | msg.channel.send(classicEmbed) 14 | }) 15 | } 16 | module.exports = ClassicFunction; -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "AyameBot", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "start": "node index.js" 8 | }, 9 | "engines": { 10 | "node": "12.0.0" 11 | }, 12 | "keywords": [], 13 | "author": "", 14 | "license": "ISC", 15 | "dependencies": { 16 | "better-sqlite3": "^7.1.2", 17 | "discord.js": "^12.5.1", 18 | "dotenv": "^8.2.0", 19 | "mal-scraper": "^2.11.2", 20 | "moment": "^2.29.1", 21 | "moment-duration-format": "^2.3.2", 22 | "node-fetch": "^2.6.1", 23 | "quick.db": "^7.1.3", 24 | "superagent": "^6.1.0", 25 | "twemoji-parser": "^13.0.0", 26 | "weather-js": "^2.0.0", 27 | "project-uptimer": "^1.3.0", 28 | "eco.easy": "^0.1.2" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Functions/NsfwAvatar.js: -------------------------------------------------------------------------------- 1 | function NsfwAvatarFunction(msg, args, notice, Superagent, Discord, AyameClient, Db, EmbedTemplate) { 2 | if(!msg.channel.nsfw) return msg.channel.send(`${notice}Please use this command in **NSFW Channel!**`) 3 | 4 | let nsfwdb = Db.get(`nsfwcommands_${msg.guild.id}`) 5 | if(nsfwdb === null) return msg.channel.send(`${notice}NSFW Commands **are disabled!**`) 6 | 7 | Superagent 8 | .get("https://nekos.life/api/v2/img/nsfw_avatar") 9 | .end((err, response) => { 10 | const nsfwavatarEmbed = new EmbedTemplate() 11 | .setImage(response.body.url) 12 | .setFooter(`Nekos.Life Api`, AyameClient.user.displayAvatarURL({ dynamic: true })) 13 | msg.channel.send(nsfwavatarEmbed) 14 | }) 15 | } 16 | module.exports = NsfwAvatarFunction; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Functions/EnableCommandsChannel.js: -------------------------------------------------------------------------------- 1 | function EnableCmdFunction(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, Permissions) { 2 | let PermCheck = Permissions.administrator; 3 | 4 | let perms = msg.member.hasPermission("ADMINISTRATOR") 5 | if(!perms) return msg.channel.send(`${notice}You **need** the **${PermCheck}** permission to use this command!`) 6 | 7 | let channel = msg.mentions.channels.first() 8 | if(!channel) return msg.channel.send(`${notice}You need to **specify** the **channel!**`) 9 | 10 | let channeldb = Db.get(`disabledchannels_${channel.id}`) 11 | if(channeldb === true) return msg.channel.send(`${notice}**This channel is already enabled my commands!**`) 12 | 13 | Db.set(`disabledchannels_${channel.id}`, true) 14 | msg.channel.send(`${notice}**Successfully Enabled the <#${channel.id}>!**`) 15 | } 16 | module.exports = EnableCmdFunction; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Functions/SetWelcomerChannel.js: -------------------------------------------------------------------------------- 1 | function SetWelcomerChannelFunction(msg, args, notice, moment, Discord, AyameClient, Db, EmbedTemplate, Permissions) { 2 | let PermCheck = Permissions.manage_channels; 3 | 4 | if(!msg.member.hasPermission('MANAGE_CHANNELS')) return msg.channel.send(`${notice}You **need** the **${PermCheck}** permission to use this command!`) 5 | 6 | let channel = msg.mentions.channels.first() 7 | if(!channel) return msg.channel.send(`${notice}Please **mention a channel!**`) 8 | 9 | let channeldb = Db.get(`welcomerchannel_${msg.guild.id}`) 10 | if(channel.id === channeldb) return msg.channel.send(`${notice}**You can't specify the same Channel!**`) 11 | 12 | Db.set(`welcomerchannel_${msg.guild.id}`, channel.id) 13 | msg.channel.send(`${notice}**Successfully Setted the Welcomer Channel to ${channel}!**`) 14 | } 15 | module.exports = SetWelcomerChannelFunction; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Functions/DisableCommandsChannel.js: -------------------------------------------------------------------------------- 1 | function DisableCmdFunction(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, Permissions) { 2 | let PermCheck = Permissions.administrator; 3 | 4 | let perms = msg.member.hasPermission("ADMINISTRATOR") 5 | if(!perms) return msg.channel.send(`${notice}You **need** the **${PermCheck}** permission to use this command!`) 6 | 7 | let channel = msg.mentions.channels.first() 8 | if(!channel) return msg.channel.send(`${notice}You need to **specify** the **channel!**`) 9 | 10 | let channeldb = Db.get(`disabledchannels_${channel.id}`) 11 | if(channeldb === false) return msg.channel.send(`${notice}**This channel is already disabled my commands!**`) 12 | 13 | Db.set(`disabledchannels_${channel.id}`, false) 14 | msg.channel.send(`${notice}**Successfully Disabled the <#${channel.id}>!**`) 15 | } 16 | module.exports = DisableCmdFunction; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Leveling/SetLevelMessage.js: -------------------------------------------------------------------------------- 1 | function SetLevelMessageCommand(msg, args, notice, Permissions, Discord, AyameClient, Db, EmbedTemplate) { 2 | let PermCheck = Permissions.administrator; 3 | 4 | let perms = msg.member.hasPermission("ADMINISTRATOR") 5 | if(!perms) return msg.channel.send(`${notice}You **need** the **${PermCheck}** permission to use this command!`) 6 | 7 | let lvlmsgargs = args.join(" ") 8 | if(!lvlmsgargs) return msg.channel.send(`${notice}Please **type a level up message! Ex. Hey {user} You leveled up to {level}!**`) 9 | 10 | let lvlmsgdb = Db.get(`levelmsg_${msg.guild.id}`) 11 | if(lvlmsgdb === lvlmsgargs) return msg.channel.send(`${notice}You **cannot specify the same message!**`) 12 | 13 | Db.set(`levelmsg_${msg.guild.id}`, lvlmsgargs) 14 | msg.channel.send(`${notice}Successfully **Setted the Level message to ${lvlmsgargs}!**`) 15 | } 16 | module.exports = SetLevelMessageCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Functions/SetWelcomerImage.js: -------------------------------------------------------------------------------- 1 | async function SetWelcomerImageFunction(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, Permissions) { 2 | let PermCheck = Permissions.manage_channels; 3 | 4 | if(!msg.member.hasPermission('MANAGE_CHANNELS')) return msg.channel.send(`${notice}You **need** the **${PermCheck}** permission to use this command!`) 5 | 6 | let newBg = msg.attachments.first() 7 | let fetchBg = await Db.fetch(`welcomerimage_${msg.guild.id}`); 8 | if (!newBg) { 9 | return msg.channel.send(`${notice}You Need To **Send** The **Image** To Set **New Image!**`) 10 | } 11 | if (newBg === fetchBg) { 12 | return msg.channel.send(`${notice}You **can\'t specify** the **same image**!`) 13 | } 14 | Db.set(`welcomerimage_${msg.guild.id}`, newBg.url) 15 | 16 | return msg.channel.send(`${notice}**Welcome Image** has been **setted up!**`) 17 | } 18 | module.exports = SetWelcomerImageFunction; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Functions/AnimeRedditMeme.js: -------------------------------------------------------------------------------- 1 | async function AnimeMemeFunction(msg, args, notice, Discord, Superagent, AyameClient, Db, EmbedTemplate) { 2 | let {body} = await Superagent 3 | .get(`https://www.reddit.com/r/AnimeMeme.json?sort=top&t=week`) 4 | .query({limit: 800}); 5 | 6 | var allowed = msg.channel.nsfw ? body.data.children : body.data.children.filter(post => !post.data.over_18); 7 | if(!allowed.length) return msg.channel.send(`${notice}**Sorry looks like theres no result! Please try again!**`) 8 | var randomNumber = Math.floor(Math.random() * allowed.length) 9 | var embed = new EmbedTemplate() 10 | .setTitle(allowed[randomNumber].data.title) 11 | .setDescription(`${notice}**Author** - ${allowed[randomNumber].data.author}`) 12 | .setImage(allowed[randomNumber].data.url) 13 | .setFooter(`r/AnimeMeme`, AyameClient.user.displayAvatarURL({ dynamic: true })) 14 | return msg.channel.send(embed) 15 | } 16 | module.exports = AnimeMemeFunction; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Info/Emojis.js: -------------------------------------------------------------------------------- 1 | function EmojisCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate) { 2 | let Emojis = ''; 3 | let EmojisAnimated = ''; 4 | let EmojiCount = 0; 5 | let Animated = 0; 6 | let OverallEmojis = 0; 7 | function Emoji(id) { 8 | return AyameClient.emojis.cache.get(id).toString(); 9 | } 10 | msg.guild.emojis.cache.forEach(emoji => { 11 | OverallEmojis++; 12 | if (emoji.animated) { 13 | Animated++; 14 | EmojisAnimated += Emoji(emoji.id); 15 | } else { 16 | EmojiCount++; 17 | Emojis += Emoji(emoji.id); 18 | } 19 | }); 20 | let emojiEmbed = new EmbedTemplate() 21 | .setTitle(`Emojis in ${msg.guild.name}`) 22 | .setThumbnail(msg.guild.iconURL({ dynamic: true })) 23 | .setDescription(`**Animated - ${Animated}**\n${notice}${EmojisAnimated}\n**Standard - ${EmojiCount}**\n${notice}${Emojis}\n**All Emojis**\n${notice}${OverallEmojis}`) 24 | .setFooter(`Emojis`, AyameClient.user.displayAvatarURL({ dynamic: true })) 25 | msg.channel.send(emojiEmbed); 26 | } 27 | module.exports = EmojisCommand; 28 | -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Welcomer/TestWelcomerDM.js: -------------------------------------------------------------------------------- 1 | function TestWelcomerDMCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate) { 2 | let { member } = msg; 3 | 4 | let dmdb = Db.get(`welcomerdm_${member.guild.id}`) 5 | if(dmdb === null) return msg.channel.send(`${notice}Please **enable welcomer DM First!**`) 6 | 7 | let dmmsg = Db.get(`welcomedmmessage_${member.guild.id}`) 8 | if(dmmsg === null) { 9 | Db.set(`welcomedmmessage_${member.guild.id}`, `Hello there! {member} Welcome to {server}!`) 10 | } 11 | 12 | let newJoinDMMsg = Db.fetch(`welcomedmmessage_${member.guild.id}`) 13 | let contentDM = newJoinDMMsg 14 | .replace(/{member}/g, `<@${member.user.id}>`) 15 | .replace(/{nomention}/g, `${member.user.tag}`) 16 | .replace(/{userid}/g, `${member.user.id}`) 17 | .replace(/{server}/g, `${member.guild.name}`) 18 | .replace(/{servermembers}/g, `${member.guild.members.cache.size}`) 19 | member.send(contentDM) 20 | msg.channel.send(`${notice}If it's not working make sure your DM'S are open!`) 21 | } 22 | module.exports = TestWelcomerDMCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Fun/Enchant.js: -------------------------------------------------------------------------------- 1 | function EnchantCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate) { 2 | if(!args[0]) return msg.channel.send(`${notice}Please **type something!**`); 3 | 4 | msg.channel.send(notice + args.join(" ").toLowerCase() 5 | .replace(/a/gi, "ᔑ") 6 | .replace(/b/gi, "ʖ") 7 | .replace(/c/gi, "ᓵ") 8 | .replace(/d/gi, "↸") 9 | .replace(/e/gi, "ᒷ") 10 | .replace(/f/gi, "⎓") 11 | .replace(/g/gi, "⊣") 12 | .replace(/h/gi, "⍑") 13 | .replace(/i/gi, "╎") 14 | .replace(/j/gi, "⋮") 15 | .replace(/k/gi, "ꖌ") 16 | .replace(/l/gi, "ꖎ") 17 | .replace(/m/gi, "ᒲ") 18 | .replace(/n/gi, "リ") 19 | .replace(/o/gi, "𝙹") 20 | .replace(/p/gi, "!¡") 21 | .replace(/q/gi, "ᑑ") 22 | .replace(/r/gi, "∷") 23 | .replace(/s/gi, "ᓭ") 24 | .replace(/t/gi, "ℸ ̣") 25 | .replace(/u/gi, "⚍") 26 | .replace(/v/gi, "⍊") 27 | .replace(/w/gi, "∴") 28 | .replace(/x/gi, "·/") 29 | .replace(/y/gi, "||") 30 | .replace(/z/gi, "⨅")); 31 | } 32 | module.exports = EnchantCommand; -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 zedxos 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Functions/BotInfo.js: -------------------------------------------------------------------------------- 1 | function BotInfoFunction(msg, args, notice, moment, Discord, AyameClient, Db, EmbedTemplate, Developer) { 2 | const botinfoEmbed = new EmbedTemplate() 3 | .setTitle(`${AyameClient.user.tag} Info`) 4 | .setThumbnail(AyameClient.user.displayAvatarURL({ dynamic: true })) 5 | .addField(`**Username**`, `${notice}${AyameClient.user.username}`) 6 | .addField(`**Discriminator**`, `${notice}${AyameClient.user.discriminator}`) 7 | .addField(`**Developer**`, `${notice}${AyameClient.users.cache.get(Developer).tag}`) 8 | .addField(`**Bot Created**`, `${notice}${moment.utc(AyameClient.user.createdAt).format("DD/MM/YYYY - HH:mm:ss")}`) 9 | .addField(`**Bot Servers**`, `${notice}${AyameClient.guilds.cache.size}`) 10 | .addField(`**Bot Users**`, `${notice}${AyameClient.users.cache.size}`) 11 | .addField(`**Bot Invite Link**`, `${notice}[Link](https://discord.com/api/oauth2/authorize?client_id=745140408694079559&permissions=2081291511&scope=bot)`) 12 | .setFooter(`${AyameClient.user.username} Info`, AyameClient.user.displayAvatarURL({ dynamic: true })) 13 | msg.channel.send(botinfoEmbed) 14 | } 15 | module.exports = BotInfoFunction; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Info/ChannelInfo.js: -------------------------------------------------------------------------------- 1 | function ChannelInfoCommand(msg, args, notice, moment, Discord, AyameClient, Db, EmbedTemplate) { 2 | let channel = msg.mentions.channels.first() || msg.guild.channels.cache.get(args[0]) || msg.channel; 3 | if(!channel) { 4 | return msg.channel.send(`${notice}Please **specify a valid channel!**`); 5 | } 6 | 7 | let topic; 8 | if(!channel.topic) { 9 | topic = 'None!'; 10 | } 11 | else { 12 | topic = channel.topic; 13 | } 14 | 15 | const channelinfoEmbed = new EmbedTemplate() 16 | .setTitle(`Channel Information!`) 17 | .setFooter(`Channel Info`, AyameClient.user.displayAvatarURL({ dynamic: true })) 18 | .addField(`**Channel Name**`, `${notice}${channel.name}`) 19 | .addField(`**ID**`, `${notice}${channel.id}`) 20 | .addField(`**Topic**`, `${notice}${topic}`) 21 | .addField(`**Nsfw**`, `${notice}${channel.nsfw ? 'Yes' : 'No'}`) 22 | .addField(`**Created**`, `${notice}${moment(channel.createdTimestamp).format('MMMM Do YYYY, h:mm:ss')} | ${Math.floor((Date.now() - channel.createdTimestamp) / 86400000)} day(s) ago`) 23 | return msg.channel.send(channelinfoEmbed); 24 | } 25 | module.exports = ChannelInfoCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Functions/Reddit.js: -------------------------------------------------------------------------------- 1 | async function RedditFunction(msg, args, notice, Superagent, Discord, AyameClient, Db, EmbedTemplate) { 2 | try { 3 | if(!args[0]) return msg.channel.send(`${notice}Please **provide** a **SubReddit Name!**`) 4 | let {body} = await Superagent 5 | .get(`https://www.reddit.com/r/${args}.json?sort=top&t=week`) 6 | .query({limit: 800}); 7 | 8 | var allowed = msg.channel.nsfw ? body.data.children : body.data.children.filter(post => !post.data.over_18); 9 | if(!allowed.length) return msg.channel.send(`${notice}**Sorry looks like theres no result! Please try again!**`) 10 | var randomNumber = Math.floor(Math.random() * allowed.length) 11 | var embed = new EmbedTemplate() 12 | .setTitle(allowed[randomNumber].data.title) 13 | .setDescription(`${notice}**Author** - ${allowed[randomNumber].data.author}`) 14 | .setImage(allowed[randomNumber].data.url) 15 | .setFooter(`r/${args[0]}`, AyameClient.user.displayAvatarURL({ dynamic: true })) 16 | return msg.channel.send(embed) 17 | } catch (e) { 18 | msg.channel.send(`${notice}**Sorry it seems there is no results for ${args[0]}!**`) 19 | } 20 | } 21 | module.exports = RedditFunction; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Functions/MemberCount.js: -------------------------------------------------------------------------------- 1 | function MemberCountFunction(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate) { 2 | const guild = AyameClient.guilds.cache.get(args[0]) || msg.guild; 3 | const members = guild.members.cache; 4 | const membercountEmbed = new EmbedTemplate() 5 | .setTitle(`${guild.name} member count`) 6 | .setThumbnail(guild.iconURL({ dynamic: true })) 7 | .addField(`**Humans**`, `${notice}${members.filter(member => !member.user.bot).size}`) 8 | .addField(`**Bots**`, `${notice}${members.filter(member => member.user.bot).size}`) 9 | .addField(`**All Members**`, `${notice}${guild.memberCount}`) 10 | .addField(`**Online**`, `${notice}${members.filter(member => member.presence.status === 'online').size}`) 11 | .addField(`**Idle**`, `${notice}${members.filter(member => member.presence.status === 'idle').size}`) 12 | .addField(`**Do not Disturb**`, `${notice}${members.filter(member => member.presence.status === 'dnd').size}`) 13 | .addField(`**Offline**`, `${notice}${members.filter(member => member.presence.status === 'offline').size}`) 14 | .setFooter(`Member Count`, AyameClient.user.displayAvatarURL({ dynamic: true })) 15 | msg.channel.send(membercountEmbed); 16 | } 17 | module.exports = MemberCountFunction; -------------------------------------------------------------------------------- /Ayame-Main-Modules/Permissions.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | create_instant_invite: 'CREATE_INSTANT_INVITE', 3 | kick_members: 'KICK_MEMBERS', 4 | ban_members: 'BAN_MEMBERS', 5 | administrator: 'ADMINISTRATOR', 6 | manage_channels: 'MANAGE_CHANNELS', 7 | manage_guild: 'MANAGE_GUILD', 8 | add_reactions: 'ADD_REACTIONS', 9 | view_audit_log: 'VIEW_AUDIT_LOG', 10 | priority_speaker: 'PRIORITY_SPEAKER', 11 | stream: 'STREAM', 12 | view_channel: 'VIEW_CHANNEL', 13 | send_messages: 'SEND_MESSAGES', 14 | send_tts_messages: 'SEND_TTS_MESSAGES', 15 | manage_messages: 'MANAGE_MESSAGES', 16 | embed_links: 'EMBED_LINKS', 17 | attach_files: 'ATTACH_FILES', 18 | read_message_history: 'READ_MESSAGE_HISTORY', 19 | mention_everyone: 'MENTION_EVERYONE', 20 | use_external_emojis: 'USE_EXTERNAL_EMOJIS', 21 | view_guild_insights: 'VIEW_GUILD_INSIGHTS', 22 | connect: 'CONNECT', 23 | speak: 'SPEAK', 24 | mute_members: 'MUTE_MEMBERS', 25 | deafen_members: 'DEAFEN_MEMBERS', 26 | move_members: 'MOVE_MEMBERS', 27 | use_vad: 'USE_VAD', 28 | change_nickname: 'CHANGE_NICKNAME', 29 | manage_nicknames: 'MANAGE_NICKNAMES', 30 | manage_roles: 'MANAGE_ROLES', 31 | manage_webhooks: 'MANAGE_WEBHOOKS', 32 | manage_emojis: 'MANAGE_EMOJIS' 33 | } -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Info/Weather.js: -------------------------------------------------------------------------------- 1 | function WeatherCommand(msg, args, notice, weather, Discord, AyameClient, Db, EmbedTemplate) { 2 | if(!args.length) { 3 | return msg.channel.send(`${notice}Please **specify the weather location!**`) 4 | } 5 | 6 | weather.find({search: args.join(" "), degreeType: 'C'}, function(err, result) { 7 | try { 8 | let weatherEmbed = new EmbedTemplate() 9 | .setTitle(`Weather - ${result[0].location.name}`) 10 | .setDescription(`Temperature units can may be differ some time!`) 11 | .addField(`**Temperature**`, `${notice}${result[0].current.temperature} Celcius`) 12 | .addField(`**Sky Text**`, `${notice}${result[0].current.skytext}`) 13 | .addField(`**Humidity**`, `${notice}${result[0].current.humidity}`) 14 | .addField(`**Wind Speed**`, `${notice}${result[0].current.windspeed}`) 15 | .addField(`**Observation Time**`, `${notice}${result[0].current.observationtime}`) 16 | .addField(`**Wind Display**`, `${notice}${result[0].current.winddisplay}`) 17 | .setFooter(`Weather`, AyameClient.user.displayAvatarURL({ dynamic: true })) 18 | .setThumbnail(result[0].current.imageUrl); 19 | msg.channel.send(weatherEmbed) 20 | } catch(err) { 21 | return msg.channel.send(`${notice}**Unable To Get the data of Given location!**`) 22 | } 23 | }); 24 | } 25 | module.exports = WeatherCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/Event-Checker/guildmemberadd.js: -------------------------------------------------------------------------------- 1 | function guildmemberadd(AyameClient, member, Db, Discord) { 2 | let welcomechannel = Db.get(`welcomerchannel_${member.guild.id}`) 3 | if(welcomechannel === null) return; 4 | 5 | let welcomemsg = Db.fetch(`welcomemessage_${member.guild.id}`) 6 | if (welcomemsg === null) { 7 | Db.set(`welcomemessage_${member.guild.id}`, `Welcome {member} to {server}! We now have {servermembers} members!`) 8 | } 9 | 10 | let newJoinMsg = Db.fetch(`welcomemessage_${member.guild.id}`) 11 | let content = newJoinMsg 12 | .replace(/{member}/g, `<@${member.user.id}>`) 13 | .replace(/{nomention}/g, `${member.user.tag}`) 14 | .replace(/{userid}/g, `${member.user.id}`) 15 | .replace(/{server}/g, `${member.guild.name}`) 16 | .replace(/{servermembers}/g, `${member.guild.members.cache.size}`) 17 | 18 | AyameClient.channels.cache.get(welcomechannel).send(content) 19 | 20 | let welcomerImage = Db.get(`welcomerimage_${member.guild.id}`) 21 | if(welcomerImage === null) return; 22 | 23 | const attachment = new Discord.MessageAttachment( 24 | welcomerImage, 25 | "welcome-image.png" 26 | ); 27 | 28 | AyameClient.channels.cache.get(welcomechannel).send(attachment) 29 | } 30 | module.exports = guildmemberadd; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Functions/SetWelcomerMessageDM.js: -------------------------------------------------------------------------------- 1 | function SetWelcomerMessageDMFunction(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, Permissions) { 2 | let PermCheck = Permissions.manage_channels; 3 | 4 | if(!msg.member.hasPermission('MANAGE_CHANNELS')) return msg.channel.send(`${notice}You **need** the **${PermCheck}** permission to use this command!`) 5 | 6 | let welcomerdmfetch = Db.get(`welcomerdm_${msg.guild.id}`) 7 | if(welcomerdmfetch === null) return msg.channel.send(`${notice}Please **set the welcome dm first!**`) 8 | 9 | let messageargs = args.join(" ") 10 | if(!messageargs) return msg.channel.send(`${notice}Please type a **warm welcome message!** Ex. Welcome {member}/{nomention} or {userid} to {server} We now have {servermembers}! **- Output:** Welcome <@${msg.author.id}>/${msg.author.tag} or ${msg.author.tag} to ${msg.guild.name}! We now have ${msg.guild.members.cache.size}!`) 11 | 12 | let msgfetch = Db.get(`welcomedmmessage_${msg.guild.id}`) 13 | if(msgfetch === messageargs) return msg.channel.send(`${notice}You can't **specify the same message!**`) 14 | 15 | Db.set(`welcomedmmessage_${msg.guild.id}`, messageargs) 16 | msg.channel.send(`${notice}Successfully Setted the Welcome Message DM to **${messageargs}**`) 17 | } 18 | module.exports = SetWelcomerMessageDMFunction; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Functions/SetWelcomerMessage.js: -------------------------------------------------------------------------------- 1 | function SetWelcomerMessageFunction(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, Permissions) { 2 | let PermCheck = Permissions.manage_channels; 3 | 4 | if(!msg.member.hasPermission('MANAGE_CHANNELS')) return msg.channel.send(`${notice}You **need** the **${PermCheck}** permission to use this command!`) 5 | 6 | let welcomefetch = Db.get(`welcomerchannel_${msg.guild.id}`) 7 | if(welcomefetch === null) return msg.channel.send(`${notice}Please **set the welcome channel first!**`) 8 | 9 | let messageargs = args.join(" ") 10 | if(!messageargs) return msg.channel.send(`${notice}Please type a **warm welcome message!** Ex. Welcome {member} or {nomention} to {server}! We now have {servermembers}! Please check out the #Rules! **- Output:** Welcome <@${msg.author.id}> or ${msg.author.tag} to ${msg.guild.name}! We now have ${msg.guild.members.cache.size}! Please check out the #Rules!`) 11 | 12 | let msgfetch = Db.get(`welcomemessage_${msg.guild.id}`) 13 | if(msgfetch === messageargs) return msg.channel.send(`${notice}You can't **specify the same message!**`) 14 | 15 | Db.set(`welcomemessage_${msg.guild.id}`, messageargs) 16 | msg.channel.send(`${notice}Successfully Setted the Welcome Message to **${messageargs}**`) 17 | } 18 | module.exports = SetWelcomerMessageFunction; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Functions/Baguette.js: -------------------------------------------------------------------------------- 1 | async function Bagutte(msg, args, notice, Discord, Fetch, AyameClient, Db, EmbedTemplate) { 2 | let msge = await msg.channel.send(`${notice}**Please wait.**`) 3 | 4 | let user = msg.mentions.users.first() ? msg.mentions.users.first().displayAvatarURL({format: 'png', size: 512}) :msg.author.displayAvatarURL({format: 'png', size: 512}); 5 | 6 | const data = await Fetch( 7 | `https://nekobot.xyz/api/imagegen?type=baguette&url=${user}` 8 | ).then((res) => res.json()); 9 | msge.delete({timeout: 3000 }) 10 | msg.channel.send(new EmbedTemplate().setTitle(`${notice}${msg.author.username} is Eating Baguette!`).setImage(data.message).setFooter(`NekoBot Api`, AyameClient.user.displayAvatarURL({ dynamic: true }))) 11 | 12 | function match(msg, i) { 13 | if (!msge) return; 14 | if (!i) return; 15 | let user = i.members.cache.find( 16 | member => 17 | member.user.username.toLowerCase().startsWith(msge) || 18 | member.user.username.toLowerCase() === msge || 19 | member.user.username.toLowerCase().includes(msge) || 20 | member.displayName.toLowerCase().startsWith(msge) || 21 | member.displayName.toLowerCase() === msge || 22 | member.displayName.toLowerCase().includes(msge) 23 | ); 24 | if (!user) return; 25 | return user.user; 26 | } 27 | } 28 | module.exports = Bagutte; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Functions/Ban.js: -------------------------------------------------------------------------------- 1 | function BanFunction(msg, args, notice, Permissions, Discord, AyameClient, Db, EmbedTemplate) { 2 | let PermCheck = Permissions.ban_members; 3 | 4 | let perms = msg.member.hasPermission("BAN_MEMBERS") 5 | if(!perms) return msg.channel.send(`${notice}You **need** the **${PermCheck}** permission to use this command!`) 6 | 7 | if(!msg.guild.me.hasPermission('BAN_MEMBERS')) return msg.channel.send(`${notice}I **need** the **${PermCheck}** permission to perform this command!`) 8 | 9 | const member = msg.mentions.members.first() || msg.guild.members.cache.get(args[0]); 10 | 11 | if(!args[0]) return msg.channel.send(`${notice}Please **mention** a **user or just id!**`); 12 | 13 | if(!member) return msg.channel.send(`${notice}Sorry **i can't find this user!**`) 14 | if(!member.bannable) return msg.channel.send(`${notice}This user **can\'t be banned!** It is either because they are a mod/admin, or their highest **role is higher than mine!**`); 15 | 16 | if(member.id === msg.author.id) return msg.channel.send(`${notice}You **can\'t** ban **yourself!**`); 17 | 18 | let reason = args.slice(1).join(" "); 19 | 20 | if(!reason) reason = 'Unspecified Reason!'; 21 | 22 | msg.guild.members.ban(member) 23 | 24 | msg.channel.send(`${notice}**${member.user.username}** Has been banned! by **${msg.author.username}**`) 25 | } 26 | module.exports = BanFunction; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Functions/Kick.js: -------------------------------------------------------------------------------- 1 | function KickFunction(msg, args, notice, Permissions, Discord, AyameClient, Db, EmbedTemplate) { 2 | let PermCheck = Permissions.kick_members; 3 | 4 | let perms = msg.member.hasPermission("KICK_MEMBERS") 5 | if(!perms) return msg.channel.send(`${notice}You **need** the **${PermCheck}** permission to use this command!`) 6 | 7 | if(!msg.guild.me.hasPermission('KICK_MEMBERS')) return msg.channel.send(`${notice}I **need** the **${PermCheck}** permission to perform this command!`) 8 | 9 | const member = msg.mentions.members.first() || msg.guild.members.cache.get(args[0]); 10 | 11 | if(!args[0]) return msg.channel.send(`${notice}Please **mention** a **user or just id!**`); 12 | 13 | if(!member) return msg.channel.send(`${notice}Sorry **i can't find this user!**`) 14 | if(!member.kickable) return msg.channel.send(`${notice}This user **can\'t be kicked!** It is either because they are a mod/admin, or their highest **role is higher than mine!**`); 15 | 16 | if(member.id === msg.author.id) return msg.channel.send(`${notice}You **can\'t** kick **yourself!**`); 17 | 18 | let reason = args.slice(1).join(" "); 19 | 20 | if(!reason) reason = 'Unspecified Reason!'; 21 | 22 | member.kick(reason) 23 | 24 | msg.channel.send(`${notice}**${member.user.username}** Has been kicked! by **${msg.author.username}**`) 25 | } 26 | module.exports = KickFunction; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Welcomer/TestWelcomer.js: -------------------------------------------------------------------------------- 1 | function TestWelcomerCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate) { 2 | 3 | let { member } = msg; 4 | 5 | let welcomechannel = Db.get(`welcomerchannel_${member.guild.id}`) 6 | if(welcomechannel === null) return msg.channel.send(`${notice}Please **set up Welcomer Channel First!**`) 7 | 8 | let welcomemsg = Db.fetch(`welcomemessage_${member.guild.id}`) 9 | if (welcomemsg === null) { 10 | Db.set(`welcomemessage_${member.guild.id}`, `Welcome {nomention} to {server}! We now have {servermembers} members!`) 11 | } 12 | 13 | let newJoinMsg = Db.fetch(`welcomemessage_${member.guild.id}`) 14 | let content = newJoinMsg 15 | .replace(/{member}/g, `<@${member.user.id}>`) 16 | .replace(/{nomention}/g, `${member.user.tag}`) 17 | .replace(/{userid}/g, `${member.user.id}`) 18 | .replace(/{server}/g, `${member.guild.name}`) 19 | .replace(/{servermembers}/g, `${member.guild.members.cache.size}`) 20 | 21 | AyameClient.channels.cache.get(welcomechannel).send(content) 22 | 23 | let welcomerImage = Db.get(`welcomerimage_${member.guild.id}`) 24 | if(welcomerImage === null) return; 25 | 26 | const attachment = new Discord.MessageAttachment( 27 | welcomerImage, 28 | "welcome-image.png" 29 | ); 30 | 31 | AyameClient.channels.cache.get(welcomechannel).send(attachment) 32 | } 33 | module.exports = TestWelcomerCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Functions/Avatar.js: -------------------------------------------------------------------------------- 1 | function AvatarFunction(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate) { 2 | var user; 3 | user = msg.mentions.users.first() || AyameClient.users.cache.get(args[0]) 4 | if (!user) { 5 | if (!args[0]) { 6 | user = msg.author; 7 | getuseravatar(user); 8 | } else { 9 | try{ 10 | var id = args[0]; 11 | AyameClient.fetchUser(id).then(user => { 12 | getuseravatar(user); 13 | }).catch(error => console.log(error)); 14 | } catch(err) { 15 | msg.channel.send(`${notice}Please **enter a valid ID or mention a user!**`) 16 | } 17 | } 18 | } else { 19 | getuseravatar(user); 20 | } 21 | function getuseravatar(user) { 22 | var avatarEmbed = new EmbedTemplate() 23 | .setTitle(`${user.username} Avatar!`) 24 | .setDescription(`Links`) 25 | .addField(`**Png**`, `${notice}[png](${user.displayAvatarURL({ format: 'png', dynamic: true, size: 4096})})`) 26 | .addField(`**Jpg**`, `${notice}[jpg](${user.displayAvatarURL({ format: 'jpg', dynamic: true, size: 4096})})`) 27 | .addField(`**Webp**`, `${notice}[webp](${user.displayAvatarURL({ format: 'webp', dynamic: true, size: 4096})})`) 28 | .setImage(user.displayAvatarURL({ dynamic: true, size: 4096 })) 29 | .setFooter(`Avatar`, AyameClient.user.displayAvatarURL({ dynamic: true })) 30 | msg.channel.send(avatarEmbed) 31 | } 32 | } 33 | module.exports = AvatarFunction; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Functions/RoleInfo.js: -------------------------------------------------------------------------------- 1 | function RoleInfoFunction(msg, args, notice, moment, Discord, AyameClient, Db, EmbedTemplate) { 2 | const role = msg.mentions.roles.first() || msg.guild.roles.cache.get(args[0]); 3 | if(!role) { 4 | return msg.channel.send( 5 | `${notice}Please **specify a role!**`, 6 | ); 7 | } 8 | 9 | let permissions; 10 | if(role.permissions.toArray().length !== 0) { 11 | permissions = role.permissions.toArray().map(x => x.split('_').map(y => y[0] + y.slice(1).toLowerCase()).join(' ')).join(', '); 12 | } 13 | else { 14 | permissions = 'No Permissions!'; 15 | } 16 | const roleinfoEmbed = new EmbedTemplate() 17 | .setTitle(`${role.name} Info`) 18 | .addField(`**Role name**`, `${notice}${role.name}`) 19 | .addField(`**Role ID**`, `${notice}${role.id}`) 20 | .addField(`**Role Color**`, `${notice}${role.hexColor.toUpperCase()}`) 21 | .addField(`**Role Members**`, `${notice}${role.members.size}`) 22 | .addField(`**High Role**`, `${notice}${role.hoist ? 'Yes' : 'No'}`) 23 | .addField(`**Role Mentionable**`, `${notice}${role.mentionable ? 'Yes' : 'No'}`) 24 | .addField(`**Role Created**`, `${notice}${moment(role.createdTimestamp).format('MMMM Do YYYY, h:mm:ss')} | ${Math.floor((Date.now() - role.createdTimestamp) / 86400000)} days ago}`) 25 | .addField(`**Role Permissions**`, `${notice}${permissions}`) 26 | .setFooter(`${role.name} Info`, AyameClient.user.displayAvatarURL({ dynamic: true })) 27 | msg.channel.send(roleinfoEmbed) 28 | } 29 | module.exports = RoleInfoFunction; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Roleplay/Divorce.js: -------------------------------------------------------------------------------- 1 | async function DivorceCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate) { 2 | let marrydb = Db.get(`marrieduserdata_${msg.author.id}`) 3 | if(marrydb === false) return msg.channel.send(`${notice}You **Don't Even have a spouse!** Please marry first!`) 4 | 5 | let user = msg.mentions.members.first() || AyameClient.users.cache.get(args[0]); 6 | if(!user) return msg.channel.send(`${notice}**Please mention the user** you wanna divorce!`) 7 | 8 | if(user.user.bot === true) return msg.channel.send(`${notice}You **can't divorce a bot!**`) 9 | 10 | if(user.id === msg.author.id) return msg.channel.send(`${notice}You **can't divorce yourself!**`) 11 | 12 | let reason = args.slice(1).join(" "); 13 | if(!reason) { 14 | reason = 'Unspecified Reason' 15 | } 16 | 17 | let marrydb2 = Db.get(`marrieduserdata_${user.id}`) 18 | if(marrydb2 === false) return msg.channel.send(`${notice}**This user is not even married!**`) 19 | 20 | let userdb = Db.get(`spousesuserdata_${user.id}_${msg.author.id}`) 21 | if(userdb === null) { 22 | return msg.channel.send(`${notice}You're not a spouse of **${user.user.username}!** or **The one who proposed to you should divorce you! not by you! Ask ${user.user.username} to divorce!**`) 23 | } else { 24 | Db.set(`marrieduserdata_${msg.author.id}`, false) 25 | Db.set(`marrieduserdata_${user.id}`, false) 26 | Db.delete(`spousesuserdata_${user.id}_${msg.author.id}`) 27 | user.send(`${notice}**${msg.author.username} Decided to divorce! You're now single. Reason: ${reason}**`) 28 | msg.channel.send(`${notice}**You and ${user.user.username} Are not Spouse now.**`) 29 | } 30 | } 31 | module.exports = DivorceCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Functions/UserInfo.js: -------------------------------------------------------------------------------- 1 | function UserInfoFunction(msg, args, notice, moment, Discord, AyameClient, Db, EmbedTemplate) { 2 | const member = msg.mentions.members.last() || msg.guild.members.cache.get(msg) || msg.member; 3 | const roles = member.roles.cache 4 | .sort((a, b) => b.position - a.position) 5 | .map(role => role.toString()) 6 | .slice(0, -1); 7 | 8 | let marrieduserdata = Db.get(`marrieduserdata_${member.id}`) 9 | 10 | const userinfoEmbed = new EmbedTemplate() 11 | .setTitle(member.user.tag) 12 | .setThumbnail(member.user.displayAvatarURL({ dynamic: true, size: 512 })) 13 | .addField(`**Username**`, `${notice}${member.user.username}`) 14 | .addField(`**Discriminator**`, `${notice}${member.user.discriminator}`) 15 | .addField(`**ID**`, `${notice}${member.user.id}`) 16 | .addField(`**Avatar**`, `${notice}[Link](${member.user.displayAvatarURL({ dynamic: true })})`) 17 | .addField(`**Status**`, `${notice}${member.user.presence.status}`) 18 | .addField(`**Married**`, `${notice}${marrieduserdata}`) 19 | .addField(`**Game**`, `${notice}${member.user.presence.game || 'Not playing!'}`) 20 | .addField(`**Time Created**`, `${notice}${moment(member.user.createdTimestamp).format('LT')} ${moment(member.user.createdTimestamp).format('LL')} ${moment(member.user.createdTimestamp).fromNow()}`) 21 | .addField(`**Highest Role**`, `${notice}${member.roles.highest.id === msg.guild.id ? 'No Role!' : member.roles.highest.name}`) 22 | .addField(`**User Joined**`, `${notice}${moment(member.joinedAt).format('LL LTS')}`) 23 | .setFooter(`User Info!`, AyameClient.user.displayAvatarURL({ dynamic: true })) 24 | msg.channel.send(userinfoEmbed) 25 | } 26 | module.exports = UserInfoFunction; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Functions/AnimeScraper.js: -------------------------------------------------------------------------------- 1 | async function AnimeScraper(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, Prefix, Scraper) { 2 | 3 | let Anime = args.join(" "); 4 | 5 | if (!Anime) return msg.channel.send(`${notice}**Please Give Anime Name!**`); 6 | 7 | let msge = await msg.channel.send(`${notice}**Please wait.**`); 8 | 9 | let Replaced = Anime.replace(/ /g, " "); 10 | 11 | await msge.delete({ timeout: 3000 }); 12 | 13 | let AnimeF; 14 | 15 | let Embed; 16 | 17 | try { 18 | 19 | AnimeF = await Scraper.getInfoFromName(Replaced); 20 | 21 | if (!AnimeF.genres[0] || AnimeF.genres[0] === null) AnimeF.genres[0] = `${notice}none`; 22 | 23 | Embed = new EmbedTemplate() 24 | .setURL(AnimeF.url) 25 | .setTitle(AnimeF.title) 26 | .setDescription(AnimeF.synopsis) 27 | .addField(`**Type**`, `${notice}${AnimeF.type}`, true) 28 | .addField(`**Status**`, `${notice}${AnimeF.status}`, true) 29 | .addField(`**Premiered**`, `${notice}${AnimeF.premiered}`, true) 30 | .addField(`**Episodes**`, `${notice}${AnimeF.episodes}`, true) 31 | .addField(`**Duration**`, `${notice}${AnimeF.duration}`, true) 32 | .addField(`**Popularity**`, `${notice}${AnimeF.popularity}`, true) 33 | .addField(`**Genres**`, `${notice}${AnimeF.genres.join(", ")}`) 34 | .setThumbnail(AnimeF.picture) 35 | .setFooter(`Mal-Scraper`, AyameClient.user.displayAvatarURL({ dynamic: true })) 36 | 37 | } catch (error) { 38 | console.log(error) 39 | return msg.channel.send(`No Anime Found!`) 40 | 41 | }; 42 | 43 | return msg.channel.send(Embed); 44 | 45 | } 46 | module.exports = AnimeScraper; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Functions/ServerInfo.js: -------------------------------------------------------------------------------- 1 | function ServerInfoFunction(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, Regions) { 2 | const users = { 3 | online: msg.guild.presences.cache.filter(presence => presence.status === "online").size, 4 | idle: msg.guild.presences.cache.filter(presence => presence.status === "idle").size, 5 | dnd: msg.guild.presences.cache.filter(presence => presence.status === "dnd").size, 6 | }, 7 | RolesString = msg.guild.roles.cache.sort((a, b) => b.position - a.position).map(role => role.toString()); 8 | 9 | const serverInfoembed = new EmbedTemplate() 10 | .setTitle(msg.guild.name) 11 | .setThumbnail(msg.guild.iconURL({ dynamic: true })) 12 | .addField(`**Online Users**`, `${notice}${users.online}`, true) 13 | .addField(`**Idle Users**`, `${notice}${users.idle}`, true) 14 | .addField(`**Do not Disturb Users**`, `${notice}${users.dnd}`, true) 15 | .addField(`**Total Users**`, `${notice}${msg.guild.memberCount}`, true) 16 | .addField(`**Roles**`, `${notice}${msg.guild.roles.cache.size}`, true) 17 | .addField(`**Text Channels**`, `${notice}${msg.guild.channels.cache.size}`, true) 18 | .addField(`**Voice Channels**`, `${notice}${msg.guild.channels.cache.filter(channel => channel.type === 'voice').size}`, true) 19 | .addField(`**Server Region**`, `${notice}${Regions[msg.guild.region]}`, true) 20 | .addField(`**Server Boost Tier**`, `${notice}${msg.guild.premiumTier ? `Tier ${msg.guild.premiumTier}` : 'None'}`, true) 21 | .addField(`**Boost Count**`, `${msg.guild.premiumSubscriptionCount || '0'}`) 22 | .addField(`**Emojis**`, `${notice}${msg.guild.emojis.cache.size}`, true) 23 | .addField(`**Roles**`, `${notice}${RolesString.length}`, true) 24 | .setFooter(`Server Info`, AyameClient.user.displayAvatarURL({ dynamic: true })) 25 | msg.channel.send(serverInfoembed); 26 | } 27 | /*`.channels.cache.find(ch => ch.name === 'whatever name' && ch.type === 'voice')` 28 | <@!704697854207459419> 29 | }*/ 30 | module.exports = ServerInfoFunction; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Fun/ThanosQuote.js: -------------------------------------------------------------------------------- 1 | function ThanosQuoteCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate) { 2 | const quotes = [ 3 | "The end is near.", 4 | "You're strong. But I could snap my fingers, and you'd all cease to exist.", 5 | "Fun isn't something one considers when balancing the universe. But this… does put a smile on my face.", 6 | "Stark… you have my respect. I hope the people of Earth will remember you.", 7 | "When I'm done, half of humanity will still exist. Perfectly balanced, as all things should be. I hope they remember you.", 8 | "You should have gone for the head.", 9 | "I know what it's like to lose. To feel so desperately that you're right, yet to fail nonetheless. Dread it. Run from it." + 10 | " Destiny still arrives. Or should I say, I have.", 11 | "Going to bed hungry. Scrounging for scraps. Your planet was on the brink of collapse. I was the one who stopped that." + 12 | " You know what's happened since then? The children born have known nothing but full bellies and clear skies. It's a paradise.", 13 | "I ignored my destiny once, I can not do that again. Even for you. I'm sorry little one.", 14 | "With all six stones, I can simply snap my fingers, they would all cease to exist. I call that mercy.", 15 | "The hardest choices require the strongest wills.", 16 | "A soul for a soul.", 17 | "Balanced, as all things should be.", 18 | "Fun isn't something one considers when balancing the universe. But this… does put a smile on my face.", 19 | "I know what it's like to lose. To feel so desperately that you're right, yet to fail nonetheless. Dread it. Run from it. Destiny still arrives. Or should I say, I have.", 20 | "You could not live with your own failure, and where did that bring you? Back to me.", 21 | "I am... inevitable.", 22 | "I don't even know who you are.", 23 | "I used the stones to destroy the stones. It nearly killed me, but the work is done. It always will be. I'm inevitable.", 24 | "You're not the only one cursed with knowledge.", 25 | "Reality is often disappointing.", 26 | "A small price to pay for salvation." 27 | ]; 28 | 29 | msg.channel.send(`${notice}${quotes[Math.floor(Math.random() * quotes.length)]}`) 30 | 31 | } 32 | module.exports = ThanosQuoteCommand; -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Ayame 2 | 3 | # Ayame Discord Anime Bot! 4 | 5 | ## Info 6 | * Ayame is a Discord bot that provides good and easier service for your Server! 7 | * It has really Cool Features and upcoming more! 8 | * This bot doesnt use Dynamic In JS! Only Functions! This is really quite CONFUSING! 9 | 10 | ## Features 11 | * Welcomer With Image (Fully Customizable!) + Welcomer DM (Dm's the user!) (Fully Customizable Too!) 12 | * Advanced Info's! 13 | * Customizable Behavior! 14 | * Easy to use commands! 15 | * and Many More! 16 | 17 | ### Why not Invite? Maybe this is the bot you're looking for! 18 | 19 | [Invite Link](https://discord.com/api/oauth2/authorize?client_id=745140408694079559&permissions=2134900151&scope=bot) 20 | 21 | [Support Server](https://discord.gg/DgztTA6SVN) 22 | 23 | # Credits 24 | * Some of the commands are from [Miyako bot](https://github.com/ravener/miyako/blob/master/src/utils/responses.js) by @[ravener](https://github.com/ravener) 25 | 26 | # Errors 27 | #### If you get (.....) is not a Function or Not a Constructor Make sure to check these! 28 | ```js 29 | function ExampleCommand(/*The things youve define MAKE SURE IT HAS THE RIGHT PLACE OR ELSE IT WILL THROW THE CONFUSING ERRORS.*/) { 30 | 31 | } 32 | module.exports = ExampleCommand; //<- It gotta be the same as function or else it will throw that 'Is not a function or constructor Errors!'. 33 | ``` 34 | 35 | # .... 36 | * If you're wondering why i just use functions not a real cmd handler because this is more fun for me. 37 | 38 | # Tutorial 39 | * Maybe in the Future i will do FULL Tutorial how to set this up since its only on Early Stage i will fix some things up! 40 | 41 | # Copying 42 | _ I will allow anyone to use this in Private/Public as long as they followed the LICENSE! This source code is only for Learning Purposes and Know more about the bot. 43 | Also I will not be taking a time to show how to set this up for now! 44 | 45 | # Contribute 46 | > just pull request 47 | 48 | ### Tip (contributers) 49 | * edit(number tag) = Edited some codes from here 50 | * update(number tag) = Initial commit update form any coding idea 51 | -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Functions/Help.js: -------------------------------------------------------------------------------- 1 | function HelpFunction(msg, args, notice, moment, Prefix, Discord, AyameClient, Db, EmbedTemplate) { 2 | const helpEmbed = new EmbedTemplate() 3 | .setTitle(`My Available Commands!`) 4 | .setAuthor(`${AyameClient.user.username}`, AyameClient.user.displayAvatarURL({ dynamic: true })) 5 | 6 | if(!args[0]) { 7 | helpEmbed.setDescription(`Do ${Prefix}help (command name) for more info on specific command!`) 8 | helpEmbed.setImage('https://serving.photos.photobox.com/085707889448717b88c84fc6704aa63d2b2ea94a8cf08238a1bbc6d902b5c512a187c9a3.jpg') 9 | helpEmbed.addField(`**Anime**`, `${notice}\`AnimeMeme, AnimeAvatar, AnimeScrap, Baguette, Baka.\``) 10 | helpEmbed.addField(`**Fun**`, `${notice}\`Reddit, Compliment, Enchant, Yomama, Chucknorris, Zalgo, Insult, ThanosQuote.\``) 11 | helpEmbed.addField(`**Roleplay**`, `${notice}\`Cuddle, Hug, Tickle, Marry, Divorce.\``) 12 | helpEmbed.addField(`**Info**`, `${notice}\`Avatar, BotInfo, Channels, ChannelInfo, Emojis, Help, Invite, ServerInfo, Uptime, MemberCount, Weather, UserInfo.\``) 13 | helpEmbed.addField(`**Roles**`, `${notice}\`RoleInfo, Roles.\``) 14 | helpEmbed.addField(`**Moderation**`, `${notice}\`Ban, Kick.\``) 15 | helpEmbed.addField(`**Welcomer**`, `${notice}\`DisableWelcomerChannel, DisableWelcomerDM, DisableWelcomerImage, EnableWelcomerDM, SetWelcomerChannel, SetWelcomerImage, SetWelcomerMessage, SetWelcomerMessageDM, TestWelcomer, TestWelcomerDM.\``) 16 | helpEmbed.addField(`**Config**`, `${notice}\`DisableCommandsChannel, DisableNsfwCommands, EnableCommandsChannel, EnableNsfwCommands.\``) 17 | if(!msg.channel.nsfw) { 18 | helpEmbed.addField(`**Nsfw**`, `${notice}\`These Commands can only be seen in NSFW Channels!\``) 19 | } else { 20 | helpEmbed.addField(`**Nsfw**`, `${notice}\`Anal, Classic, NsfwAvatar, Tits.\``) 21 | } 22 | helpEmbed.addField(`**Links**`, `${notice}[Invite Link](https://discord.com/api/oauth2/authorize?client_id=745140408694079559&permissions=2134900151&scope=bot), [Github](https://github.com/zedxos/Ayame).`) 23 | return msg.channel.send(helpEmbed) 24 | } else { 25 | let cmd = args[0].toLowerCase() 26 | let commandname = Db.get(`${cmd}name`), 27 | commanddescription = Db.get(`${cmd}description`), 28 | commandusage = Db.get(`${cmd}usage`) 29 | 30 | if(!commandname) return msg.channel.send(`${notice}**Invalid** Command!`) 31 | 32 | helpEmbed.setDescription(`() Is optional <> is Needed!`) 33 | helpEmbed.addField(`**Name**`, `${notice}${commandname}`) 34 | helpEmbed.addField(`**Description**`, `${notice}${commanddescription}`) 35 | helpEmbed.addField(`**Usage**`, `${notice}${commandusage}`) 36 | return msg.channel.send(helpEmbed) 37 | } 38 | } 39 | module.exports = HelpFunction; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Roleplay/Marry.js: -------------------------------------------------------------------------------- 1 | async function MarryCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate) { 2 | let marrydb = Db.get(`marrieduserdata_${msg.author.id}`) 3 | if(marrydb === true) return msg.channel.send(`${notice}You **already have a spouse!** Please divorce first!`) 4 | 5 | let ongoingdb = Db.get(`ongoingproposal_${msg.author.id}`) 6 | if(ongoingdb === true) return msg.channel.send(`${notice}**Please wait you already have on going proposal!**`) 7 | 8 | let spouse = msg.mentions.members.first() || AyameClient.users.cache.get(args[0]); 9 | 10 | if(!spouse) return msg.channel.send(`${notice}Please **mention a user** you love!`) 11 | 12 | if(spouse.user.bot === true) return msg.channel.send(`${notice}You **can\'t marry a bot!**`) 13 | 14 | if(spouse.id === msg.author.id) return msg.channel.send(`${notice}You **can\'t Marry yourself!**`) 15 | let marrieddb = Db.get(`marrieduserdata_${spouse.id}`) 16 | if(marrieddb === true) return msg.channel.send(`${notice}**${spouse.user.username}** Is **already married!**`) 17 | msg.channel.send(`${notice}Wait for **${spouse.user.username}** to accept your proposal! Please <@${spouse.user.id}> type **yes** or **no.**`) 18 | Db.set(`ongoingproposal_${msg.author.id}`, true) 19 | 20 | let filter = m => m.author.id === spouse.id; 21 | try { 22 | let msge = await msg.channel.awaitMessages(filter, { max: 1, time: 15000, errors: ['time'] }); 23 | let word = 'yes' 24 | let decline = 'no' 25 | if(msge.first().content.toLowerCase() === word) { 26 | Db.set(`marrieduserdata_${msg.author.id}`, true) 27 | Db.set(`marrieduserdata_${spouse.id}`, true) 28 | Db.set(`spousesuserdata_${spouse.id}_${msg.author.id}`, 1) 29 | const acceptEmbed = new EmbedTemplate() 30 | .setTitle(`Congrats! ${spouse.user.username} and ${msg.author.username} Are now Married!`) 31 | .setImage('https://media1.tenor.com/images/783e9568a1c06da76a50dc2c98129f11/tenor.gif?itemid=12390162') 32 | Db.set(`ongoingproposal_${msg.author.id}`, false) 33 | msg.channel.send(acceptEmbed) 34 | } else if(msge.first().content.toLowerCase() === decline) { 35 | msg.channel.send(`${notice}**${spouse.user.username} Declined your proposal.**`) 36 | Db.set(`ongoingproposal_${msg.author.id}`, false) 37 | } else { 38 | msg.channel.send(`${notice}**Incorrect Answer!** Try again!`) 39 | Db.set(`ongoingproposal_${msg.author.id}`, false) 40 | } 41 | } 42 | catch(ex) { 43 | msg.channel.send(`${notice}Sorry it seems **${spouse.user.username}** Did\'nt Answer!`) 44 | Db.set(`ongoingproposal_${msg.author.id}`, false) 45 | console.log(ex) 46 | } 47 | } 48 | module.exports = MarryCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/Fun/Compliment.js: -------------------------------------------------------------------------------- 1 | function ComplimentCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate) { 2 | const compliments = [ 3 | "Your smile is contagious.", 4 | "You look great today.", 5 | "You're a smart cookie.", 6 | "I bet you make babies smile.", 7 | "You have impeccable manners.", 8 | "I like your style.", 9 | "You have the best laugh.", 10 | "I appreciate you.", 11 | "You are the most perfect you there is.", 12 | "You are enough.", 13 | "You're strong.", 14 | "Your perspective is refreshing.", 15 | "You're an awesome friend.", 16 | "You light up the room.", 17 | "You shine brighter than a shooting star.", 18 | "You deserve a hug right now.", 19 | "You should be proud of yourself.", 20 | "You're more helpful than you realize.", 21 | "You have a great sense of humor.", 22 | "You've got all the right moves!", 23 | "Is that your picture next to 'charming' in the dictionary?", 24 | "Your kindness is a balm to all who encounter it.", 25 | "You're all that and a super-size bag of chips.", 26 | "On a scale from 1 to 10, you're an 11.", 27 | "You are brave.", 28 | "You're even more beautiful on the inside than you are on the outside.", 29 | "You have the courage of your convictions.", 30 | "Your eyes are breathtaking.", 31 | "If cartoon bluebirds were real, a bunch of them would be sitting on your shoulders singing right now.", 32 | "You are making a difference.", 33 | "You're like sunshine on a rainy day.", 34 | "You bring out the best in other people.", 35 | "Your ability to recall random factoids at just the right time is impressive.", 36 | "You're a great listener.", 37 | "How is it that you always look great, even in sweatpants?", 38 | "Everything would be better if more people were like you!", 39 | "I bet you sweat glitter.", 40 | "You were cool way before hipsters were cool.", 41 | "That color is perfect on you.", 42 | "Hanging out with you is always a blast.", 43 | "You always know -- and say -- exactly what I need to hear when I need to hear it.", 44 | "You smell really good.", 45 | "You may dance like no one's watching, but everyone's watching because you're an amazing dancer!", 46 | "Being around you makes everything better!", 47 | "When you say, 'I meant to do that,' I totally believe you.", 48 | "When you're not afraid to be yourself is when you're most incredible.", 49 | "Colors seem brighter when you're around.", 50 | "You're more fun than a ball pit filled with candy. (And seriously, what could be more fun than that?)", 51 | "That thing you don't like about yourself is what makes you so interesting.", 52 | "You're wonderful.", 53 | "You have cute elbows. For reals!", 54 | "Jokes are funnier when you tell them.", 55 | "You're better than a triple-scoop ice cream cone. With sprinkles.", 56 | "Your bellybutton is kind of adorable.", 57 | "Your hair looks stunning.", 58 | "You're one of a kind!", 59 | "You're inspiring.", 60 | "If you were a box of crayons, you'd be the giant name-brand one with the built-in sharpener.", 61 | "You should be thanked more often. So thank you!!", 62 | "Our community is better because you're in it.", 63 | "Someone is getting through something hard right now because you've got their back.", 64 | "You have the best ideas.", 65 | "You always know how to find that silver lining.", 66 | "Everyone gets knocked down sometimes, but you always get back up and keep going.", 67 | "You're a candle in the darkness.", 68 | "You're a great example to others.", 69 | "Being around you is like being on a happy little vacation.", 70 | "You always know just what to say.", 71 | "You're always learning new things and trying to better yourself, which is awesome.", 72 | "If someone based an Internet meme on you, it would have impeccable grammar.", 73 | "You could survive a Zombie apocalypse.", 74 | "You're more fun than bubble wrap.", 75 | "When you make a mistake, you fix it.", 76 | "Who raised you? They deserve a medal for a job well done.", 77 | "You're great at figuring stuff out.", 78 | "Your voice is magnificent.", 79 | "The people you love are lucky to have you in their lives.", 80 | "You're like a breath of fresh air.", 81 | "You're gorgeous -- and that's the least interesting thing about you, too.", 82 | "You're so thoughtful.", 83 | "Your creative potential seems limitless.", 84 | "Your name suits you to a T.", 85 | "You're irresistible when you blush.", 86 | "Actions speak louder than words, and yours tell an incredible story.", 87 | "Somehow you make time stop and fly at the same time.", 88 | "When you make up your mind about something, nothing stands in your way.", 89 | "You seem to really know who you are.", 90 | "Any team would be lucky to have you on it.", 91 | "In high school I bet you were voted 'most likely to keep being awesome.'", 92 | "I bet you do the crossword puzzle in ink.", 93 | "Babies and small animals probably love you.", 94 | "If you were a scented candle they'd call it Perfectly Imperfect (and it would smell like summer).", 95 | "You're someone's reason to smile.", 96 | "You're even better than a unicorn, because you're real.", 97 | "How do you keep being so funny and making everyone laugh?", 98 | "You have a good head on your shoulders.", 99 | "Has anyone ever told you that you have great posture?", 100 | "The way you treasure your loved ones is incredible.", 101 | "You're really something special.", 102 | "You're a gift to those around you.", 103 | "You deserve better." 104 | ]; 105 | 106 | let user = msg.mentions.users.first() || msg.author; 107 | const complimentEmbed = new EmbedTemplate() 108 | .setTitle(`${msg.author.username} Compliments ${user.username}!`) 109 | .setDescription(`${notice}${compliments[Math.floor(Math.random() * compliments.length)]}`) 110 | .setFooter(`Compliment`, AyameClient.user.displayAvatarURL({ dynamic: true })) 111 | msg.channel.send(complimentEmbed); 112 | } 113 | module.exports = ComplimentCommand; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Functions/Insult.js: -------------------------------------------------------------------------------- 1 | function InsultFunction(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate) { 2 | const start = [ 3 | "a lazy", 4 | "a stupid", 5 | "an insecure", 6 | "an idiotic", 7 | "a slimy", 8 | "a slutty", 9 | "a smelly", 10 | "a pompous", 11 | "a communist", 12 | "a dicknose", 13 | "a pie-eating", 14 | "a racist", 15 | "an elitist", 16 | "a white trash", 17 | "a drug-loving", 18 | "a butterface", 19 | "a tone deaf", 20 | "a ugly", 21 | "a creepy", 22 | "an artless", 23 | "a bawdy", 24 | "a beslubbering", 25 | "a bootless", 26 | "a churlish", 27 | "a cockered", 28 | "a clouted", 29 | "a craven", 30 | "a currish", 31 | "a dankish", 32 | "a dissembling", 33 | "a droning", 34 | "an errant", 35 | "a fawning", 36 | "a fobbing", 37 | "a frothy", 38 | "a gleeking", 39 | "a goatfish", 40 | "a gorbellied", 41 | "an impertinent", 42 | "an infectious", 43 | "a jarring", 44 | "a loggerheaded", 45 | "a lumpish", 46 | "a mammering", 47 | "a mangled", 48 | "a mewling", 49 | "a paunchy", 50 | "a pribbling", 51 | "a puking", 52 | "a puny", 53 | "a qualling", 54 | "a rank", 55 | "a reeky", 56 | "a roguish", 57 | "a ruttish", 58 | "a saucy", 59 | "a spleeny", 60 | "a spongy", 61 | "a surly", 62 | "a tottering", 63 | "an unmuzzled", 64 | "a vain", 65 | "a venomed", 66 | "a villainous", 67 | "a warped", 68 | "a wayward", 69 | "a weedy", "a yeasty", 70 | "a lilly-livered", 71 | "a rotten", 72 | "a stinky", 73 | "a lame", 74 | "a dim-witted", 75 | "a funky", 76 | "a crusty", 77 | "a steamy", 78 | "a drizzly", 79 | "a grizzly", 80 | "a squirty", 81 | "an uptight", 82 | "a hairy", 83 | "a husky", 84 | "an arrogant", 85 | "a nippy", 86 | "a chunky", 87 | "a smelly", 88 | "a drooling", 89 | "a crusty", 90 | "a decrepic", 91 | "a stupid", 92 | "a moronic", 93 | "a greasy", 94 | "a poxy", 95 | "an ugly", 96 | "a smelly", 97 | "a putrid", 98 | "a shitty", 99 | "an assinine", 100 | "a sickening" 101 | ]; 102 | 103 | const middle = [ 104 | "douche", 105 | "ass", 106 | "turd", 107 | "rectum", 108 | "butt", 109 | "cock", 110 | "shit", 111 | "crotch", 112 | "bitch", 113 | "turd", 114 | "prick", 115 | "slut", 116 | "taint", 117 | "fuck", 118 | "dick", 119 | "boner", 120 | "shart", 121 | "nut", 122 | "sphincter", 123 | "base-court", 124 | "bat-fowling", 125 | "beef-witted", 126 | "beetle-headed", 127 | "boil-brained", 128 | "clapper-clawed", 129 | "clay-brained", 130 | "common-kissing", 131 | "crook-pated", 132 | "dismal-dreaming", 133 | "dizzy-eyed", 134 | "doghearted", 135 | "dread-bolted", 136 | "earth-vexing", 137 | "elf-skinned", 138 | "fat-kidneyed", 139 | "fen-sucked", 140 | "flap-mouthed", 141 | "fly-bitten", 142 | "folly-fallen", 143 | "fool-born", 144 | "full-gorged", 145 | "guts-gripping", 146 | "half-faced", 147 | "hasty-witted", 148 | "hedge-born", 149 | "hell-hated", 150 | "idle-headed", 151 | "ill-breeding", 152 | "ill-nurtured", 153 | "knotty-pated", 154 | "milk-livered", 155 | "motly-minded", 156 | "onion-eyed", 157 | "plume-plucked", 158 | "pottle-deep", 159 | "pox-marked", 160 | "reeling-ripe", 161 | "rough-hewn", 162 | "rude-growing", 163 | "rump-red", 164 | "shard-borne", 165 | "sheep-biting", 166 | "spur-galled", 167 | "swag-bellied", 168 | "tardy-gaited", 169 | "tickle-brained", 170 | "toad-spotted", 171 | "unchin-snouted", 172 | "weather-bitten", 173 | "hiney", 174 | "poop", 175 | "toot", 176 | "wedgie", 177 | "stool", 178 | "fudge", 179 | "bum", 180 | "potty", 181 | "dookie", 182 | "pudding", 183 | "sphincter", 184 | "booger", 185 | "feces", 186 | "snot", 187 | "crust", 188 | "badonk-a", 189 | "crud", 190 | "sludge", 191 | "tool", 192 | "shit-kicking", 193 | "monkey-licking", 194 | "butt-munching", 195 | "crotch-sniffing", 196 | "donkey-spanking", 197 | "fashion-illiterate", 198 | "worm-ridden", 199 | "grub-fucking", 200 | "lathered-up", 201 | "pasty-waisted", 202 | "snot-flicking", 203 | "fart-eating" 204 | ]; 205 | 206 | const end = [ 207 | "pilot", 208 | "canoe", 209 | "captain", 210 | "pirate", 211 | "hammer", 212 | "knob", 213 | "box", 214 | "jockey", 215 | "waffle", 216 | "goblin", 217 | "blossom", 218 | "biscuit", 219 | "clown", 220 | "socket", 221 | "monster", 222 | "hound", 223 | "dragon", 224 | "balloon", 225 | "apple-john", 226 | "baggage", 227 | "barnacle", 228 | "bladder", 229 | "boar-pig", 230 | "bugbear", 231 | "bum-bailey", 232 | "canker-blossom", 233 | "clack-dish", 234 | "clotpole", 235 | "coxcomb", 236 | "codpiece", 237 | "death-token", 238 | "dewberry", 239 | "flap-dragon", 240 | "flax-wench", 241 | "flirt-gill", 242 | "foot-licker", 243 | "fustilarian", 244 | "giglet", 245 | "gudgeon", 246 | "haggard", 247 | "harpy", 248 | "hedge-pig", 249 | "horn-beast", 250 | "hugger-mugger", 251 | "joithead", 252 | "lewdster", 253 | "lout", 254 | "maggot-pie", 255 | "malt-worm", 256 | "mammet", 257 | "measle", 258 | "minnow", 259 | "miscreant", 260 | "moldwarp", 261 | "mumble-news", 262 | "nut-hook", 263 | "pigeon-egg", 264 | "pignut", 265 | "puttock", 266 | "pumpion", 267 | "ratsbane", 268 | "scut", 269 | "skinsmate", 270 | "strumpet", 271 | "varlot", 272 | "vassal", 273 | "whey-face", 274 | "wagtail", 275 | "squeegee", 276 | "turtle", 277 | "cabbage", 278 | "bomb", 279 | "sniffer", 280 | "binkie", 281 | "stump", 282 | "nugget", 283 | "whistle", 284 | "twig", 285 | "knuckle", 286 | "burger", 287 | "hotdog", 288 | "loaf", 289 | "freckle", 290 | "soldier", 291 | "kernal", 292 | "shingle", 293 | "warrior", 294 | "hemorrhoid", 295 | "fuckface", 296 | "asshole", 297 | "scumbucket", 298 | "toerag", 299 | "hackwack", 300 | "imbecile", 301 | "stunodigan", 302 | "maggot", 303 | "hipster", 304 | "gargabe", 305 | "jerkstore" 306 | ]; 307 | /*compliments[Math.floor(Math.random() * compliments.length)]*/ 308 | 309 | let user = msg.mentions.users.first() || msg.author, 310 | insultS = `${start[Math.floor(Math.random() * start.length)]}`, 311 | insultM = `${middle[Math.floor(Math.random() * middle.length)]}`, 312 | insultE = `${end[Math.floor(Math.random() * end.length)]}`; 313 | 314 | msg.channel.send(`${notice}${user} You Know you're nothing but a ${insultS} ${insultM} ${insultE}!`) 315 | 316 | } 317 | module.exports = InsultFunction; -------------------------------------------------------------------------------- /Ayame-Main-Modules/src/Commands/CommandsList.js: -------------------------------------------------------------------------------- 1 | function CommandsList(Db) { 2 | Db.set(`animememename`, `AnimeMeme`) 3 | Db.set(`animememedescription`, `Sends a random Anime Meme from r/AnimeMeme!`) 4 | Db.set(`animememeusage`, `None!`) 5 | console.log('Registered AnimeMeme Command!') 6 | 7 | Db.set(`animescrapname`, `AnimeScrap`) 8 | Db.set(`animescrapdescription`, `Gets info about specific Anime!`) 9 | Db.set(`animescrapusage`, `(Anime Name)`) 10 | console.log('Registered AnimeScrap Command!') 11 | 12 | Db.set(`baguettename`, `Baguette`) 13 | Db.set(`baguettedescription`, `Eat a Baguette!`) 14 | Db.set(`baguetteusage`, `(Mention a User!)`) 15 | console.log('Registered Baguette Command!') 16 | 17 | Db.set(`bakaname`, `Baka`) 18 | Db.set(`bakadescription`, `BBBAKA!!`) 19 | Db.set(`bakausage`, `None!`) 20 | console.log('Registered Baka Command!') 21 | 22 | Db.set(`disablecommandschannelname`, `DisableCommandsChannel`) 23 | Db.set(`disablecommandschanneldescription`, `Disable a channel to prevent my commands!`) 24 | Db.set(`disablecommandschannelusage`, ``) 25 | console.log('Registered DisableCommandsChannel Command!') 26 | 27 | Db.set(`enablecommandschannelname`, `EnableCommandsChannel`) 28 | Db.set(`enablecommandschanneldescription`, `Enable a channel to disprevent my commands!`) 29 | Db.set(`enablecommandschannelusage`, ``) 30 | console.log('Registered EnableCommandsChannel Command!') 31 | 32 | Db.set(`disablensfwcommandsname`, `DisableNsfwCommands`) 33 | Db.set(`disablensfwcommandsdescription`, `Disable The NSFW Commands!`) 34 | Db.set(`disablensfwcommandsusage`, `None!`) 35 | console.log('Registered DisableNsfwCommands Command!') 36 | 37 | Db.set(`enablensfwcommandsname`, `EnableNsfwCommands`) 38 | Db.set(`enablensfwcommandsdescription`, `Enable The NSFW Commands!`) 39 | Db.set(`enablensfwcommandsusage`, `None!`) 40 | console.log('Registered EnableNsfwCommands Command!') 41 | 42 | Db.set(`redditname`, `Reddit`) 43 | Db.set(`redditdescription`, `Get a random picture from a specific SubReddit!`) 44 | Db.set(`redditusage`, ``) 45 | console.log('Registered Reddit Command!') 46 | 47 | Db.set(`botinfoname`, `BotInfo`) 48 | Db.set(`botinfodescription`, `Info about Me!`) 49 | Db.set(`botinfousage`, `None!`) 50 | console.log('Registered BotInfo Command!') 51 | 52 | Db.set(`channelsname`, `Channels`) 53 | Db.set(`channelsdescription`, `Shows Channel Map!/ All Channels!`) 54 | Db.set(`channelsusage`, `None!`) 55 | console.log('Registered Channels Command!') 56 | 57 | Db.set(`helpname`, `Halp`) 58 | Db.set(`helpdescription`, `Shows All available Commands!`) 59 | Db.set(`helpusage`, `(Command name!)`) 60 | console.log('Registered Help Command!') 61 | 62 | Db.set(`invitename`, `Invite`) 63 | Db.set(`invitedescription`, `Get the invite link!`) 64 | Db.set(`inviteusage`, `None!`) 65 | console.log('Registered Invite Command!') 66 | 67 | Db.set(`serverinfoname`, `ServerInfo`) 68 | Db.set(`serverinfodescription`, `Shows Info about server!`) 69 | Db.set(`serverinfousage`, `None!`) 70 | console.log('Registered ServerInfo Command!') 71 | 72 | Db.set(`uptimename`, `Uptime`) 73 | Db.set(`uptimedescription`, `Shows how many weeks/days/hours/minutes/seconds I've Been alive!`) 74 | Db.set(`uptimeusage`, `None!`) 75 | console.log('Registered Uptime Command!') 76 | 77 | Db.set(`userinfoname`, `UserInfo`) 78 | Db.set(`userinfodescription`, `Shows info about specific User!`) 79 | Db.set(`userinfousage`, `(Mention a User!)`) 80 | console.log('Registered UserInfo Command!') 81 | 82 | Db.set(`analname`, `||Anal||`) 83 | Db.set(`analdescription`, `Gets a random ||Anal Hentai!||`) 84 | Db.set(`analusage`, `None!`) 85 | console.log('Registered Anal Command!') 86 | 87 | Db.set(`classicname`, `||Classic||`) 88 | Db.set(`classicdescription`, `Gets a random ||Classic Hentai!||`) 89 | Db.set(`classicusage`, `None!`) 90 | console.log('Registered Classic Command!') 91 | 92 | Db.set(`nsfwavatarname`, `||NsfwAvatar||`) 93 | Db.set(`nsfwavatardescription`, `Gets a random ||Nsfw Avatar!||`) 94 | Db.set(`nsfwavatarusage`, `None!`) 95 | console.log('Registered NsfwAvatar Command!') 96 | 97 | Db.set(`titsname`, `||Tits||`) 98 | Db.set(`titsdescription`, `Gets a random ||Tits Hentai!||`) 99 | Db.set(`titsusage`, `None!`) 100 | console.log('Registered Tits Command!') 101 | 102 | Db.set(`cuddlename`, `Cuddle`) 103 | Db.set(`cuddledescription`, `Cuddle with someone or just yourself!`) 104 | Db.set(`cuddleusage`, `(Mention a User!)`) 105 | console.log('Registered Cuddle Command!') 106 | 107 | Db.set(`hugname`, `Hug`) 108 | Db.set(`hugdescription`, `Hug with someone or just yourself!`) 109 | Db.set(`hugusage`, `(Mention a User!)`) 110 | console.log('Registered Hug Command!') 111 | 112 | Db.set(`ticklename`, `Tickle`) 113 | Db.set(`tickledescription`, `Tickle with someone or just yourself!`) 114 | Db.set(`tickleusage`, `(Mention a User!)`) 115 | console.log('Registered Tickle Command!') 116 | 117 | Db.set(`marryname`, `Marry`) 118 | Db.set(`marrydescription`, `Marry someone you loved!`) 119 | Db.set(`marryusage`, ` (then the user you mentioned must answer!)`) 120 | console.log('Registered Marry Command!') 121 | 122 | Db.set(`divorcename`, `Divorce`) 123 | Db.set(`divorcedescription`, `Divorce Someone! Quick Tip: Make sure the one who proposed must the one who divorce!`) 124 | Db.set(`divorceusage`, ` (Reason!)`) 125 | console.log('Registered Divorce Command!') 126 | 127 | Db.set(`rolesname`, `Roles`) 128 | Db.set(`rolesdescription`, `Lists all the roles in the server!`) 129 | Db.set(`rolesusage`, `None!`) 130 | console.log('Registered Roles Command!') 131 | 132 | Db.set(`roleinfoname`, `RoleInfo`) 133 | Db.set(`roleinfodescription`, `Shows info about specific role!`) 134 | Db.set(`roleinfousage`, ``) 135 | console.log('Registered RoleInfo Command!') 136 | 137 | Db.set(`disablewelcomerchannelname`, `DisableWelcomerChannel`) 138 | Db.set(`disablewelcomerchanneldescription`, `Disable the Welcomer Channel!`) 139 | Db.set(`disablewelcomerchannelusage`, `None!`) 140 | console.log('Registered DisableWelcomerChannel Command!') 141 | 142 | Db.set(`disablewelcomerdmname`, `DisableWelcomerDM`) 143 | Db.set(`disablewelcomerdmdescription`, `Disables the DM Welcomer!`) 144 | Db.set(`disablewelcomerdmusage`, `None!`) 145 | console.log('Registered DisableWelcomerDM Command!') 146 | 147 | Db.set(`disablewelcomerimagename`, `DisableWelcomerImage`) 148 | Db.set(`disablewelcomerimagedescription`, `Disables The Welcomer Image!`) 149 | Db.set(`disablewelcomerimageusage`, `None!`) 150 | console.log('Registered DisableWelcomerImage Command!') 151 | 152 | Db.set(`enablewelcomerdmname`, `EnableWelcomerDM`) 153 | Db.set(`enablewelcomerdmdescription`, `Enables the DM Welcomer!`) 154 | Db.set(`enablewelcomerdmusage`, `None!`) 155 | console.log('Registered EnableWelcomerDM Command!') 156 | 157 | Db.set(`setwelcomerchannelname`, `SetWelcomerChannel`) 158 | Db.set(`setwelcomerchanneldescription`, `Set the Welcomer Channel!`) 159 | Db.set(`setwelcomerchannelusage`, ``) 165 | console.log('Registered SetWelcomerImage Command!') 166 | 167 | Db.set(`setwelcomermessagename`, `SetWelcomerMessage`) 168 | Db.set(`setwelcomermessagedescription`, `Set a Warm Welcome Message!`) 169 | Db.set(`setwelcomermessageusage`, ``) 170 | console.log('Registered SetWelcomerMessage Command!') 171 | 172 | Db.set(`setwelcomermessagedmname`, `SetWelcomerMessageDM`) 173 | Db.set(`setwelcomermessagedmdescription`, `Set a Warm Welcome Message DM!`) 174 | Db.set(`setwelcomermessagedmusage`, ``) 175 | console.log('Registered SetWelcomerMessageDM Command!') 176 | 177 | Db.set(`testwelcomername`, `TestWelcomer`) 178 | Db.set(`testwelcomerdescription`, `Test your Designed Welcomer!`) 179 | Db.set(`testwelcomerusage`, `None!`) 180 | console.log('Registered TestWelcomer Command!') 181 | 182 | Db.set(`emojisname`, `Emojis`) 183 | Db.set(`emojisdescription`, `Shows all Emojis in Server!`) 184 | Db.set(`emojisusage`, `None!`) 185 | console.log('Registered Emojis Command!') 186 | 187 | Db.set(`banname`, `Ban`) 188 | Db.set(`bandescription`, `Bans a specific User!`) 189 | Db.set(`banusage`, ``) 190 | console.log('Registered Ban Command!') 191 | 192 | Db.set(`kickname`, `Kick`) 193 | Db.set(`kickdescription`, `Kicks a specific User!`) 194 | Db.set(`kickusage`, ``) 195 | console.log('Registered Kick Command!') 196 | 197 | Db.set(`testwelcomerdmname`, `TestWelcomerDM`) 198 | Db.set(`testwelcomerdmdescription`, `Test your Designed Welcomer DM!`) 199 | Db.set(`testwelcomerdmusage`, `None!`) 200 | console.log('Registered TestWelcomerDM Command!') 201 | 202 | Db.set(`avatarname`, `Avatar`) 203 | Db.set(`avatardescription`, `See someone's avatar or just yours in Images!`) 204 | Db.set(`avatarusage`, ``) 205 | console.log('Registered Avatar Command!') 206 | 207 | Db.set(`channelinfoname`, `ChannelInfo`) 208 | Db.set(`channelinfodescription`, `Shows Info of a specific Channel!`) 209 | Db.set(`channelinfousage`, ``) 210 | console.log('Registered ChannelInfo Command!') 211 | 212 | Db.set(`membercountname`, `MemberCount`) 213 | Db.set(`membercountdescription`, `Shows how many members are in specific Server (Advanced!)`) 214 | Db.set(`membercountusage`, `(Server's ID!)`) 215 | console.log('Registered MemberCount Command!') 216 | 217 | Db.set(`weathername`, `Weather`) 218 | Db.set(`weatherdescription`, `Shows weather in specific Location! (Advanced!)`) 219 | Db.set(`weatherusage`, ``) 220 | console.log('Registered Weather Command!') 221 | 222 | Db.set(`complimentname`, `Compliment`) 223 | Db.set(`complimentdescription`, `Compliment Someone!`) 224 | Db.set(`complimentusage`, `(Mention a user!)`) 225 | console.log('Registered Compliment Command!') 226 | 227 | Db.set(`enchantname`, `Enchant`) 228 | Db.set(`enchantdescription`, `Enchant something!`) 229 | Db.set(`enchantusage`, ``) 230 | console.log('Registered Enchant Command!') 231 | 232 | Db.set(`yomamaname`, `Yomama`) 233 | Db.set(`yomamadescription`, `Yo mama is so!`) 234 | Db.set(`yomamausage`, `(Mention a user!)`) 235 | console.log('Registered Yomama Command!') 236 | 237 | Db.set(`chucknorrisname`, `Chucknorris`) 238 | Db.set(`chucknorrisdescription`, `For i am chuck!`) 239 | Db.set(`chucknorrisusage`, `(Mention a user!)`) 240 | console.log('Registered Chucknorris Command!') 241 | 242 | Db.set(`zalgoname`, `Zalgo`) 243 | Db.set(`zalgodescription`, `Turn your text to Zalgo Characters!`) 244 | Db.set(`zalgousage`, ``) 245 | console.log('Registered Zalgo Command!') 246 | 247 | Db.set(`insultname`, `Insult`) 248 | Db.set(`insultdescription`, `Insult Someone or just yourself!`) 249 | Db.set(`insultusage`, `(Mention a user!)`) 250 | console.log('Registered Insult Command!') 251 | 252 | Db.set(`animeavatarname`, `AnimeAvatar`) 253 | Db.set(`animeavatardescription`, `Get some SFW Anime Avatars! if you use this in nsfw channel it will return NSFW Too!`) 254 | Db.set(`animeavatarusage`, `None!`) 255 | console.log('Registered AnimeAvatar Command!') 256 | 257 | Db.set(`thanosquotename`, `ThanosQuote`) 258 | Db.set(`thanosquotedescription`, `Get a random Thanos Quote!`) 259 | Db.set(`thanosquoteusage`, `None!`) 260 | console.log('Registered ThanosQuote Command!') 261 | } 262 | module.exports = CommandsList; -------------------------------------------------------------------------------- /Ayame-Main-Modules/Ayame-Script.js: -------------------------------------------------------------------------------- 1 | function AyameScript(AyameToken) { 2 | /*Required Modules - */ 3 | require('dotenv') 4 | const Discord = require('discord.js'), 5 | AyameClient = new Discord.Client(), 6 | AyameReady = require('./Event-Checker/ready.js'), 7 | AyameMessage = require('./Event-Checker/message/msg.js'), 8 | AyameMemberAdd = require('./Event-Checker/guildmemberadd.js'), 9 | AyameCommandsList = require('./src/Commands/CommandsList.js'), 10 | AyameLogin = require('../Ayame-Core/ayameLogin.js'), 11 | Db = require('quick.db'), 12 | Fetch = require('node-fetch'), 13 | Superagent = require('superagent'), 14 | Scraper = require('mal-scraper'), 15 | Prefix = 'a!', 16 | { parse } = require('twemoji-parser'), 17 | fetch = require('node-fetch'), 18 | moment = require('moment'), 19 | weather = require('weather-js'); 20 | 21 | /*Commands - */ 22 | const AnimeMemeCommand = require('./src/Commands/Anime/AnimeMeme.js'), 23 | AnimeScrapCommand = require('./src/Commands/Anime/AnimeScrap.js'), 24 | BaguetteCommand = require('./src/Commands/Anime/Baguette.js'), 25 | BakaCommand = require('./src/Commands/Anime/Baka.js'), 26 | RolesCommand = require('./src/Commands/Roles/Roles.js'), 27 | RoleInfoCommand = require('./src/Commands/Roles/RoleInfo.js'), 28 | ServerInfoCommand = require('./src/Commands/Info/ServerInfo.js'), 29 | UserInfoCommand = require('./src/Commands/Info/UserInfo.js'), 30 | BotInfoCommand = require('./src/Commands/Info/BotInfo.js'), 31 | UptimeCommand = require('./src/Commands/Info/Uptime.js'), 32 | DisableCommandsChannelCommand = require('./src/Commands/Config/DisableCommandsChannel.js'), 33 | EnableCommandsChannelCommand = require('./src/Commands/Config/EnableCommandsChannel.js'), 34 | RedditCommand = require('./src/Commands/Fun/Reddit.js'), 35 | SetWelcomerChannelCommand = require('./src/Commands/Welcomer/SetWelcomerChannel.js'), 36 | DisableWelcomerChannelCommand = require('./src/Commands/Welcomer/DisableWelcomerChannel.js'), 37 | SetWelcomerMessageCommand = require('./src/Commands/Welcomer/SetWelcomerMessage.js'), 38 | TestWelcomerCommand = require('./src/Commands/Welcomer/TestWelcomer.js'), 39 | TestWelcomerDMCommand = require('./src/Commands/Welcomer/TestWelcomerDM.js'), 40 | SetWelcomerImageCommand = require('./src/Commands/Welcomer/SetWelcomerImage.js'), 41 | DisableWelcomerImageCommand = require('./src/Commands/Welcomer/DisableWelcomerImage.js'), 42 | EnableWelcomerDMCommand = require('./src/Commands/Welcomer/EnableWelcomerDM.js'), 43 | DisableWelcomerDMCommand = require('./src/Commands/Welcomer/DisableWelcomerDM.js'), 44 | SetWelcomerMessageDMCommand = require('./src/Commands/Welcomer/SetWelcomerMessageDM.js'), 45 | MarryCommand = require('./src/Commands/Roleplay/Marry.js'), 46 | DivorceCommand = require('./src/Commands/Roleplay/Divorce.js'), 47 | InviteCommand = require('./src/Commands/Info/Invite.js'), 48 | ChannelsCommand = require('./src/Commands/Info/Channels.js'), 49 | EnableNsfwCommandsCommand = require('./src/Commands/Config/EnableNsfwCommands.js'), 50 | DisableNsfwCommandsCommand = require('./src/Commands/Config/DisableNsfwCommands.js'), 51 | AnalCommand = require('./src/Commands/Nsfw/Anal.js'), 52 | NsfwAvatarCommand = require('./src/Commands/Nsfw/NsfwAvatar.js'), 53 | ClassicCommand = require('./src/Commands/Nsfw/Classic.js'), 54 | TitsCommand = require('./src/Commands/Nsfw/Tits.js'), 55 | TickleCommand = require('./src/Commands/Roleplay/Tickle.js'), 56 | HugCommand = require('./src/Commands/Roleplay/Hug.js'), 57 | CuddleCommand = require('./src/Commands/Roleplay/Cuddle.js'), 58 | HelpCommand = require('./src/Commands/Info/Help.js'), 59 | EmojisCommand = require('./src/Commands/Info/Emojis.js'), 60 | BanCommand = require('./src/Commands/Moderation/Ban.js'), 61 | KickCommand = require('./src/Commands/Moderation/Kick.js'), 62 | AvatarCommand = require('./src/Commands/Info/Avatar.js'), 63 | ChannelInfoCommand = require('./src/Commands/Info/ChannelInfo.js'), 64 | MemberCountCommand = require('./src/Commands/Info/MemberCount.js'), 65 | WeatherCommand = require('./src/Commands/Info/Weather.js'), 66 | ComplimentCommand = require('./src/Commands/Fun/Compliment.js'), 67 | EnchantCommand = require('./src/Commands/Fun/Enchant.js'), 68 | YomamaCommand = require('./src/Commands/Fun/Yomama.js'), 69 | ChucknorrisCommand = require('./src/Commands/Fun/Chucknorris.js'), 70 | ZalgoCommand = require('./src/Commands/Fun/Zalgo.js'), 71 | InsultCommand = require('./src/Commands/Fun/Insult.js'), 72 | AnimeAvatarCommand = require('./src/Commands/Anime/AnimeAvatar.js'), 73 | ThanosQuoteCommand = require('./src/Commands/Fun/ThanosQuote.js'), 74 | DisableLevelingCommand = require('./src/Commands/Leveling/DisableLeveling.js'), 75 | EnableLevelingCommand = require('./src/Commands/Leveling/EnableLeveling.js'), 76 | SetLevelMessageCommand = require('./src/Commands/Leveling/SetLevelMessage.js'); 77 | 78 | /*Functions for Cmds - */ 79 | const EmbedTemplate = require('./src/Functions/EmbedTemplate.js'), 80 | AnimeMemeFunction = require('./src/Functions/AnimeRedditMeme.js'), 81 | AnimeScrapFunction = require('./src/Functions/AnimeScraper.js'), 82 | BagutteFunction = require('./src/Functions/Baguette.js'), 83 | BakaFunction = require('./src/Functions/Baka.js'), 84 | RolesFunction = require('./src/Functions/Roles.js'), 85 | RoleInfoFunction = require('./src/Functions/RoleInfo.js'), 86 | ServerInfoFunction = require('./src/Functions/ServerInfo.js'), 87 | UserInfoFunction = require('./src/Functions/UserInfo.js'), 88 | BotInfoFunction = require('./src/Functions/BotInfo.js'), 89 | UptimeFunction = require('./src/Functions/Uptime.js'), 90 | DisableCmdFunction = require('./src/Functions/DisableCommandsChannel.js'), 91 | EnableCmdFunction = require('./src/Functions/EnableCommandsChannel.js'), 92 | RedditFunction = require('./src/Functions/Reddit.js'), 93 | SetWelcomerChannelFunction = require('./src/Functions/SetWelcomerChannel.js'), 94 | SetWelcomerImageFunction = require('./src/Functions/SetWelcomerImage.js'), 95 | DisableWelcomerImageFunction = require('./src/Functions/DisableWelcomerImage.js'), 96 | DisableWelcomerChannelFunction = require('./src/Functions/DisableWelcomerChannel.js'), 97 | SetWelcomerMessageFunction = require('./src/Functions/SetWelcomerMessage.js'), 98 | EnableWelcomerDMFunction = require('./src/Functions/EnableWelcomerDM.js'), 99 | DisableWelcomerDMFunction = require('./src/Functions/DisableWelcomerDM.js'), 100 | SetWelcomerMessageDMFunction = require('./src/Functions/SetWelcomerMessageDM.js'), 101 | InviteFunction = require('./src/Functions/Invite.js'), 102 | ChannelsFunction = require('./src/Functions/Channels.js'), 103 | AnalFunction = require('./src/Functions/Anal.js'), 104 | NsfwAvatarFunction = require('./src/Functions/NsfwAvatar.js'), 105 | ClassicFunction = require('./src/Functions/Classic.js'), 106 | TitsFunction = require('./src/Functions/Tits.js'), 107 | TickleFunction = require('./src/Functions/Tickle.js'), 108 | HugFunction = require('./src/Functions/Hug.js'), 109 | CuddleFunction = require('./src/Functions/Cuddle.js'), 110 | HelpFunction = require('./src/Functions/Help.js'), 111 | BanFunction = require('./src/Functions/Ban.js'), 112 | KickFunction = require('./src/Functions/Kick.js'), 113 | AvatarFunction = require('./src/Functions/Avatar.js'), 114 | MemberCountFunction = require('./src/Functions/MemberCount.js'), 115 | InsultFunction = require('./src/Functions/Insult.js'); 116 | 117 | /*Emojis - */ 118 | const { notice } = require('./Emojis.js'); 119 | 120 | /*?Others*/ 121 | const Regions = require('./Regions.js'), 122 | Developer = '704697854207459419'; 123 | 124 | /*Permissions - */ 125 | const Permissions = require('./Permissions.js'); 126 | 127 | AyameLogin(AyameToken, AyameClient); 128 | 129 | AyameClient.on('ready', () => { 130 | console.clear(); 131 | AyameCommandsList(Db); 132 | AyameReady(AyameClient, Prefix); 133 | }) 134 | 135 | AyameClient.on('message', async msg => { 136 | if(msg.author.bot) return; 137 | if(msg.channel.type === "dm") return; 138 | if (!msg.content.toLowerCase().startsWith(Prefix)) return; 139 | 140 | const args = msg.content.slice(Prefix.length).split(/ +/); 141 | const command = args.shift().toLowerCase(); 142 | 143 | let disabledchannels = Db.get(`disabledchannels_${msg.channel.id}`) 144 | if(disabledchannels === false) return; 145 | 146 | if(command === 'animememe') { 147 | AnimeMemeCommand(msg, args, notice, Discord, Superagent, AyameClient, Db, EmbedTemplate, AnimeMemeFunction); 148 | AyameMessage(msg); 149 | } else if(command === 'animescrap') { 150 | AnimeScrapCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, AnimeScrapFunction, Prefix, Scraper); 151 | AyameMessage(msg); 152 | } else if(command === 'baguette') { 153 | BaguetteCommand(msg, args, notice, Discord, Fetch, AyameClient, Db, EmbedTemplate, BagutteFunction, Prefix); 154 | AyameMessage(msg); 155 | } else if(command === 'baka') { 156 | BakaCommand(msg, args, notice, Discord, Superagent, AyameClient, Db, EmbedTemplate, BakaFunction, Prefix); 157 | AyameMessage(msg); 158 | } else if(command === 'roles') { 159 | RolesCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, RolesFunction); 160 | AyameMessage(msg); 161 | } else if(command === 'disablecommandschannel') { 162 | DisableCommandsChannelCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, DisableCmdFunction, Permissions); 163 | AyameMessage(msg); 164 | } else if(command === 'enablecommandschannel') { 165 | EnableCommandsChannelCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, EnableCmdFunction, Permissions); 166 | AyameMessage(msg); 167 | } else if(command === 'reddit') { 168 | RedditCommand(msg, args, notice, Superagent, Discord, AyameClient, Db, EmbedTemplate, RedditFunction); 169 | AyameMessage(msg); 170 | } else if(command === 'serverinfo') { 171 | ServerInfoCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, ServerInfoFunction, Regions); 172 | AyameMessage(msg); 173 | } else if(command === 'userinfo') { 174 | UserInfoCommand(msg, args, notice, moment, Discord, AyameClient, Db, EmbedTemplate, UserInfoFunction); 175 | AyameMessage(msg); 176 | } else if(command === 'roleinfo') { 177 | RoleInfoCommand(msg, args, notice, moment, Discord, AyameClient, Db, EmbedTemplate, RoleInfoFunction); 178 | AyameMessage(msg); 179 | } else if(command === 'botinfo') { 180 | BotInfoCommand(msg, args, notice, moment, Discord, AyameClient, Db, EmbedTemplate, BotInfoFunction, Developer); 181 | AyameMessage(msg); 182 | } else if(command === 'setwelcomerchannel') { 183 | SetWelcomerChannelCommand(msg, args, notice, moment, Discord, AyameClient, Db, EmbedTemplate, Permissions, SetWelcomerChannelFunction); 184 | AyameMessage(msg); 185 | } else if(command === 'disablewelcomerchannel') { 186 | DisableWelcomerChannelCommand(msg, args, notice, moment, Permissions, Discord, AyameClient, Db, EmbedTemplate, DisableWelcomerChannelFunction); 187 | AyameMessage(msg); 188 | } else if(command === 'uptime') { 189 | UptimeCommand(msg, args, notice, moment, Discord, AyameClient, Db, EmbedTemplate, UptimeFunction); 190 | AyameMessage(msg); 191 | } else if(command === 'setwelcomermessage') { 192 | SetWelcomerMessageCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, Permissions, SetWelcomerMessageFunction); 193 | AyameMessage(msg); 194 | } else if(command === 'testwelcomer') { 195 | TestWelcomerCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate); 196 | AyameMessage(msg); 197 | } else if(command === 'testwelcomerdm') { 198 | TestWelcomerDMCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate); 199 | AyameMessage(msg); 200 | } else if(command === 'enablewelcomerdm') { 201 | EnableWelcomerDMCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, Permissions, EnableWelcomerDMFunction); 202 | AyameMessage(msg); 203 | } else if(command === 'disablewelcomerdm') { 204 | DisableWelcomerDMCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, Permissions, DisableWelcomerDMFunction); 205 | AyameMessage(msg); 206 | } else if(command === 'setwelcomermessagedm') { 207 | SetWelcomerMessageDMCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, Permissions, SetWelcomerMessageDMFunction); 208 | AyameMessage(msg); 209 | } else if(command === 'setwelcomerimage') { 210 | SetWelcomerImageCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, Permissions, SetWelcomerImageFunction); 211 | } else if(command === 'disablewelcomerimage') { 212 | DisableWelcomerImageCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, Permissions, DisableWelcomerImageFunction); 213 | } else if(command === 'marry') { 214 | MarryCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate); 215 | AyameMessage(msg); 216 | } else if(command === 'divorce') { 217 | DivorceCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate); 218 | AyameMessage(msg); 219 | } else if(command === 'invite') { 220 | InviteCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, InviteFunction); 221 | AyameMessage(msg); 222 | } else if(command === 'channels') { 223 | ChannelsCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, ChannelsFunction); 224 | AyameMessage(msg); 225 | } else if(command === 'enablensfwcommands') { 226 | EnableNsfwCommandsCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, Permissions); 227 | AyameMessage(msg); 228 | } else if(command === 'disablensfwcommands') { 229 | DisableNsfwCommandsCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, Permissions); 230 | AyameMessage(msg); 231 | } else if(command === 'anal') { 232 | AnalCommand(msg, args, notice, Superagent, Discord, AyameClient, Db, EmbedTemplate, AnalFunction); 233 | AyameMessage(msg); 234 | } else if(command === 'nsfwavatar') { 235 | NsfwAvatarCommand(msg, args, notice, Superagent, Discord, AyameClient, Db, EmbedTemplate, NsfwAvatarFunction); 236 | AyameMessage(msg); 237 | } else if(command === 'classic') { 238 | ClassicCommand(msg, args, notice, Superagent, Discord, AyameClient, Db, EmbedTemplate, ClassicFunction); 239 | AyameMessage(msg); 240 | } else if(command === 'tits') { 241 | TitsCommand(msg, args, notice, Superagent, Discord, AyameClient, Db, EmbedTemplate, TitsFunction); 242 | AyameMessage(msg); 243 | } else if(command === 'tickle') { 244 | TickleCommand(msg, args, notice, Superagent, Discord, AyameClient, Db, EmbedTemplate, TickleFunction); 245 | AyameMessage(msg); 246 | } else if(command === 'hug') { 247 | HugCommand(msg, args, notice, Superagent, Discord, AyameClient, Db, EmbedTemplate, HugFunction); 248 | AyameMessage(msg); 249 | } else if(command === 'cuddle') { 250 | CuddleCommand(msg, args, notice, Superagent, Discord, AyameClient, Db, EmbedTemplate, CuddleFunction); 251 | AyameMessage(msg); 252 | } else if(command === 'help') { 253 | HelpCommand(msg, args, notice, moment, Prefix, Discord, AyameClient, Db, EmbedTemplate, HelpFunction); 254 | AyameMessage(msg); 255 | } else if(command === 'emojis') { 256 | EmojisCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate); 257 | AyameMessage(msg); 258 | } else if(command === 'ban') { 259 | BanCommand(msg, args, notice, Permissions, Discord, AyameClient, Db, EmbedTemplate, BanFunction); 260 | AyameMessage(msg); 261 | } else if(command === 'kick') { 262 | KickCommand(msg, args, notice, Permissions, Discord, AyameClient, Db, EmbedTemplate, KickFunction); 263 | AyameMessage(msg); 264 | } else if(command === 'avatar') { 265 | AvatarCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, AvatarFunction); 266 | AyameMessage(msg); 267 | } else if(command === 'channelinfo') { 268 | ChannelInfoCommand(msg, args, notice, moment, Discord, AyameClient, Db, EmbedTemplate); 269 | AyameMessage(msg); 270 | } else if(command === 'membercount') { 271 | MemberCountCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, MemberCountFunction); 272 | AyameMessage(msg); 273 | } else if(command === 'weather') { 274 | WeatherCommand(msg, args, notice, weather, Discord, AyameClient, Db, EmbedTemplate); 275 | AyameMessage(msg); 276 | } else if(command === 'compliment') { 277 | ComplimentCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate); 278 | AyameMessage(msg); 279 | } else if(command === 'enchant') { 280 | EnchantCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate); 281 | AyameMessage(msg); 282 | } else if(command === 'yomama') { 283 | YomamaCommand(msg, args, notice, fetch, Discord, AyameClient, Db, EmbedTemplate); 284 | AyameMessage(msg); 285 | } else if(command === 'chucknorris') { 286 | ChucknorrisCommand(msg, args, notice, fetch, Discord, AyameClient, Db, EmbedTemplate); 287 | AyameMessage(msg); 288 | } else if(command === 'zalgo') { 289 | ZalgoCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate); 290 | AyameMessage(msg); 291 | } else if(command === 'insult') { 292 | InsultCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate, InsultFunction); 293 | AyameMessage(msg); 294 | } else if(command === 'animeavatar') { 295 | AnimeAvatarCommand(msg, args, notice, fetch, Discord, AyameClient, Db, EmbedTemplate); 296 | AyameMessage(msg); 297 | } else if(command === 'thanosquote') { 298 | ThanosQuoteCommand(msg, args, notice, Discord, AyameClient, Db, EmbedTemplate); 299 | AyameMessage(msg); 300 | } else if(command === 'disableleveling') { 301 | DisableLevelingCommand(msg, args, notice, Permissions, Discord, AyameClient, Db, EmbedTemplate); 302 | AyameMessage(msg); 303 | } else if(command === 'enableleveling') { 304 | EnableLevelingCommand(msg, args, notice, Permissions, Discord, AyameClient, Db, EmbedTemplate); 305 | AyameMessage(msg); 306 | } else if(command === 'setlevelmessage') { 307 | SetLevelMessageCommand(msg, args, notice, Permissions, Discord, AyameClient, Db, EmbedTemplate); 308 | AyameMessage(msg); 309 | } 310 | }) 311 | 312 | AyameClient.on('message', async msg => { 313 | let levelingdb = Db.get(`levelingdata_${msg.guild.id}`) 314 | if(levelingdb === null) return; 315 | 316 | Db.add(`messages_${msg.guild.id}_${msg.author.id}`, 1) 317 | let messagefetch = Db.get(`messages_${msg.guild.id}_${msg.author.id}`) 318 | 319 | let messages; 320 | /*1*/if (messagefetch == 15) messages = 15; 321 | /*2*/ else if (messagefetch == 65) messages = 65; 322 | /*3*/ else if (messagefetch == 115) messages = 115; 323 | /*4*/else if (messagefetch == 200) messages = 200; 324 | /*5*/else if (messagefetch == 300) messages = 300; 325 | /*6*/else if (messagefetch == 400) messages = 400; 326 | /*7*/else if (messagefetch == 500) messages = 500; 327 | /*8*/else if (messagefetch == 600) messages = 600; 328 | /*9*/else if (messagefetch == 700) messages = 700; 329 | /*10*/else if (messagefetch == 800) messages = 300; 330 | /*11*/else if (messagefetch == 900) messages = 900; 331 | /*12*/else if (messagefetch == 1000) messages = 1000; 332 | /*13*/else if (messagefetch == 1100) messages = 1100; 333 | /*14*/else if (messagefetch == 1200) messages = 1200; 334 | /*15*/else if (messagefetch == 1300) messages = 1300; 335 | /*16*/else if (messagefetch == 1400) messages = 1400; 336 | /*17*/else if (messagefetch == 1500) messages = 1500; 337 | /*18*/else if (messagefetch == 1600) messages = 1600; 338 | /*19*/else if (messagefetch == 1700) messages = 1700; 339 | /*20*/else if (messagefetch == 1800) messages = 1800; 340 | /*21*/else if (messagefetch == 1900) messages = 1900; 341 | /*22*/else if (messagefetch == 2000) messages = 2000; 342 | 343 | if (!isNaN(messages)) { 344 | Db.add(`level_${msg.guild.id}_${msg.author.id}`, 1) 345 | let levelfetch = Db.get(`level_${msg.guild.id}_${msg.author.id}`) 346 | 347 | let levelingmsgdb = Db.get(`levelmsg_${msg.guild.id}`) 348 | if(!levelingmsgdb) { 349 | Db.set(`levelmsg_${msg.guild.id}`, `Hey {user} You Leveled Up to {level}!`) 350 | } 351 | let newLevelMsg = Db.fetch(`levelmsg_${msg.guild.id}`) 352 | let contentLVL = newLevelMsg 353 | .replace(/{user}/g, `<@${msg.author.id}>`) 354 | .replace(/{level}/g, `${levelfetch}`) 355 | msg.channel.send(contentLVL) 356 | } 357 | }) 358 | 359 | AyameClient.on('guildMemberAdd', async member => { 360 | AyameMemberAdd(AyameClient, member, Db, Discord); 361 | 362 | let dmdb = Db.get(`welcomerdm_${member.guild.id}`) 363 | if(dmdb === null) return; 364 | 365 | let dmmsg = Db.get(`welcomedmmessage_${member.guild.id}`) 366 | if(dmmsg === null) { 367 | Db.set(`welcomedmmessage_${member.guild.id}`, `Hello there! {member} Welcome to {server}!`) 368 | } 369 | 370 | let newJoinDMMsg = Db.fetch(`welcomedmmessage_${member.guild.id}`) 371 | let contentDM = newJoinDMMsg 372 | .replace(/{member}/g, `<@${member.user.id}>`) 373 | .replace(/{nomention}/g, `${member.user.tag}`) 374 | .replace(/{userid}/g, `${member.user.id}`) 375 | .replace(/{server}/g, `${member.guild.name}`) 376 | .replace(/{servermembers}/g, `${member.guild.members.cache.size}`) 377 | member.send(contentDM) 378 | }) 379 | 380 | /* 381 | * @param {Ayame} name - Property's Name 382 | */ 383 | function LogName(name) { 384 | console.log(name) 385 | } 386 | } 387 | module.exports = AyameScript; --------------------------------------------------------------------------------