local discordia = require('discordia') local client = discordia.Client() Tools = dofile("./API/tools.lua") discordia.extensions() if Tools.file_exists("./docs/firstTimeSetupComplete") == false then print("First time setup started") os.execute("touch docs/firstTimeSetupComplete") print("Please enter bot token.") process.stdin:once("data", function(input) tokenInput = input:gsub("[\n\r]", "") os.execute("touch docs/token.lua") local file = io.open("./docs/token.lua", "w") file:write('return "'..tokenInput..'"') file:close() print("Please enter symbol for command detection(eg, the ! in !helpme)") process.stdin:once("data", function(input) keyInput = input:gsub("[\n\r]", "") os.execute("touch docs/key.lua") local file = io.open("./docs/key.lua", "w") file:write('return "'..keyInput..'"') file:close() print("First time setup complete!") local token = dofile("./docs/token.lua") client:run('Bot '..token) end) end) else print("If this errors because of bad token, delete docs/firstTimeSetupComplete") local token = dofile("./docs/token.lua") client:run('Bot '..token) end --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() Mode = Tools.getMode() end) --Command handler client:on('messageCreate', function(message) if message.author.bot then return end Mode = Tools.getMode() if Mode == "test" then Tools.setReinit(true) end if Mode == "normal" and Tools.getReinit() == false then Tools.setReinit(false) end if Mode == "normal" and Tools.messageDectection(message, "reinitialize") == true then reinitialize() elseif Mode == "test" and Tools.messageDectection(message, "reinitialize") == true then message:reply("You cannot preform this command because test is on!") end if Tools.getReinit() == true then Commands = Tools.initialize() Tools = dofile("./API/tools.lua") Tools.setReinit(false) end local args = message.content:split(" ") local lowerArgs = args[1]:lower() local command = Commands[lowerArgs] if command then 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 Tools.setReinit(true) message:reply("Re-Initialized!") end end end --When a user is banned, post a lenney. client:on('userBan', function(user, guild) if guild.systemChannel then guild.systemChannel:send("A user was banned ( ͡° ͜ʖ ͡°)") end end) --Insert Token in a .lua file with simply returns it as a string.