local discordia = require('discordia') local client = discordia.Client() Tools = dofile("./API/tools.lua") discordia.extensions() --Setup bot here, initializes bot client:once("ready", function() client:setGame("Astoria's bot, very sad!") print('Logged in as '.. client.user.username) Commands = Tools.initialize() if Tools.testModeDetection() == true then mode = "testMode" else mode = "normal" end end) --Command handler client:on('messageCreate', function(message) if message.author.bot then return end local shouldReinit = false if Tools.testModeDetection() == true and mode == "normal" then mode = "testMode" shouldReinit = true elseif Tools.testModeDetection() == false and mode == "testMode" then mode = "normal" shouldReinit = false end if mode == "testMode" then shouldReinit = true end if mode == "normal" and Tools.messageDectection(message, "reinitialize") == true then p("reinitd at "..os.time()) reinitialize(message) elseif mode == "testMode" and Tools.messageDectection(message, "reinitialize") == true then message:reply("You cannot preform this command because testMode is on!") p("Not reinitd at "..os.time()) end local args = message.content:split(" ") local lowerArgs = args[1]:lower() local command = Commands[lowerArgs] if command then if shouldReinit == true then Commands = Tools.initialize() Tools = dofile("./API/tools.lua") command = Commands[lowerArgs] p("reinitd at "..os.time()) shouldReinit = false end command.exec(message, args) end end) function reinitialize(message) local user = message.guild:getMember(message.author.id) if Tools.messageDectection(message, "reinitialize") == true then if not user:hasPermission("administrator") then message:reply("You cannot re-initialize this bot!") else Commands = Tools.initialize() Tools = dofile("./API/tools.lua") message:reply("Re-Initialized!") end end end function selfReinitialize() Commands = Tools.initialize() Tools = dofile("./API/tools.lua") end --When a user is banned, post a lenney. client:on('userBan', function() local banChannel, err = client:getChannel("872283716486066200") if not banChannel then p("Attempt to fetch the channel object: ", err) return end banChannel:send("User was banned ( ͡° ͜ʖ ͡°)") end) --Insert Token in a .lua file with simply returns it as a string. local token = require("./docs/token.lua") client:run('Bot '..token) -- This project is libre, and licenced under the terms of the -- DO WHAT THE FUCK YOU WANT TO PUBLIC LICENCE, version 3.1, -- as published by dtf on July 2019. See the COPYING file or -- https://ph.dtf.wtf/w/wtfpl/#version-3-1 for more details.