Exemple #1
0
    async def drawCard(self, ctx):
        """Draws a Tarot Card."""
        ctx = util.execute(self, ctx)
        try:
            deck = util.load_js(
                os.path.join("assets", "tarot",
                             self.server_decks[ctx.message.server.id]["deck"]))
        except KeyError:
            deck = util.load_js(
                os.path.join("assets", "tarot", "rider-waite.json"))
        explanations = util.load_js(
            os.path.join("assets", "tarot", "descriptions.json"))

        if random.randint(0, 1):
            card = random.choice(MAJOR_ARCANA)
        else:
            card = random.choice(
                MAJOR_ARCANA)  # TODO: set this to be of the minor arcana
        cardName = card.replace("-", " ")

        e = discord.Embed()
        e.title = "You drew the {} card.".format(cardName)
        e.set_image(url=deck[card])

        if ( (ctx.message.server.id in self.server_decks) and (self.server_decks[ctx.message.server.id]["explanations-enabled"]) ) or \
                (ctx.message.server.id not in self.server_decks):
            e.description = explanations[card]
            e.set_footer(text=explanations["source"])

        await self.bot.say(embed=e)
Exemple #2
0
    def __init__(self, bot):
        self.whitelist = util.load_js("whitelist.json")
        self.blacklistList = util.load_js("blacklist.json")
        if "roles" not in self.whitelist:
            self.whitelist["roles"] = []
        if "users" not in self.whitelist:
            self.whitelist["users"] = []

        print("Whitelist: {}".format(self.whitelist))
        super().__init__(bot)
Exemple #3
0
    async def allNote(self, ctx):
        perms = await util.check_perms(self, ctx)
        if not perms:
            return
        if ctx.message.author.id == self.bot.user.id:
            return
        serverNoteList = util.load_js(
            os.path.join("notes", "{}.json".format(ctx.message.server.id)))

        noteStr = ""
        for item in serverNoteList:
            for i in range(0, serverNoteList[item]["noteNum"]):
                noteStr += "Note: " + serverNoteList[item]["note"][str(
                    i + 1)] + "\n"
                noteStr += "Time: " + serverNoteList[item]["time"][str(
                    i + 1)] + "\n"
                noteStr += "Issuer: " + serverNoteList[item]["issuer"][str(
                    i + 1)] + "\n"
                noteStr += "Name: " + serverNoteList[item]["name"][str(
                    i + 1)] + "\n"
                noteStr += "Issuer Name: " + serverNoteList[item][
                    "issuerName"][str(i + 1)] + "\n"
                noteStr += "\n"
            noteStr += "\n"

        e = discord.Embed(title="Note List", description=noteStr)
        await self.bot.say(embed=e)
Exemple #4
0
    async def disableCommand(self, ctx, passedCommand: str):
        util.nullifyExecute()
        perms = await util.check_perms(self, ctx)
        if not perms:
            return

        disabledCommands = util.load_js("disabled-commands.json")
        if len(disabledCommands) == 0:
            disabledCommands = []

        if passedCommand == "disableCommand" or passedCommand == "enableCommand":
            await self.bot.say("That command cannot be disabled.")
            return

        for command in self.bot.commands:
            if command == passedCommand:
                disabledCommands.append({
                    "command": passedCommand,
                    "server-id": ctx.message.server.id
                })
                util.save_js("disabled-commands.json", disabledCommands)
                await self.bot.say("{}{} has been disabled.".format(
                    self.bot.command_prefix, passedCommand))
                return

        await self.bot.say("The {}{} command does not exist!".format(
            self.bot.command_prefix, passedCommand))
    async def slap(self, ctx, *, target: str = ""):
        await self.bot.send_typing(ctx.message.channel)
        """Slap ya friends"""
        titles = ["oof", "ouch", "owie", "hngh", "ouchie ouch", "ow"]
        pics = util.load_js(os.path.join("assets", "slap.json"))

        memberID = target.replace("<",
                                  "").replace(">",
                                              "").replace("@",
                                                          "").replace("!", "")
        member = ctx.message.server.get_member(memberID)
        if member != None:
            target = member.name

        if ctx.message.author.id == memberID:
            d = "{} slapped themselves.".format(target)
        elif self.bot.user.id == memberID:
            d = "{} slapped me!  ;-;".format(ctx.message.author.name)
        elif member == None and target == "":
            d = "slappity slappity"
        else:
            d = "{} got slapped by {}.".format(target, ctx.message.author.name)

        e = discord.Embed(title=random.choice(titles), description=d)
        e.set_image(url=random.choice(pics))
        await self.bot.say(embed=e)
    async def punch(self, ctx, *, user: str = ""):
        await self.bot.send_typing(ctx.message.channel)

        user = user.replace("<", "").replace(">",
                                             "").replace("!",
                                                         "").replace("@", "")
        member = ctx.message.server.get_member(user)
        if member != None:
            user = member.name

        images = util.load_js(os.path.join("assets", "punch.json"))
        imgDict = random.choice(images)

        e = discord.Embed()
        if member != None:
            if member.id == ctx.message.author.id:
                e.title = "Ya done punched urself"
                e.description = "{} punched themselves!".format(
                    ctx.message.author.name)
            elif self.bot.user.id == member.id:
                e.title = "aw  :("
                e.description = "{} punched me.".format(
                    ctx.message.author.name)
        else:
            e.title = imgDict["title"]
            e.description = imgDict["description"].format(
                user, ctx.message.author.name)
        e.set_image(url=imgDict["image-url"])

        await self.bot.say(embed=e)
Exemple #7
0
    async def listNote(self, ctx, member : discord.Member, *, note : str = None):
        util.nullifyExecute()
        perms = await util.check_perms(self, ctx)
        if not perms:
            return
        serverNoteList = util.load_js(os.path.join("notes", "{}.json".format(ctx.message.server.id)))
        if note==None:
            output="`"
            if member.id not in serverNoteList or serverNoteList[member.id]["noteNum"]==0:
                await self.bot.say("That user doesn't have any notes.")
                return
            noteNum=str(serverNoteList[member.id]["noteNum"])
            for i in range(1,int(noteNum)+1):
                output+=str(serverNoteList[member.id]["name"][str(i)]+" {} ".format(member.id)+str(serverNoteList[member.id]["time"][str(i)])+" "+str(serverNoteList[member.id]["issuerName"][str(i)])+" "+str(serverNoteList[member.id]["issuer"][str(i)])+" "+str(serverNoteList[member.id]["note"][str(i)]))+"\n"
            output=output[:-1]
            output+="`"
            await self.bot.say(output)
            return
        if member.id not in serverNoteList or serverNoteList[member.id]["noteNum"]==0:
            await self.bot.say("That user doesn't have any notes.")
            return
        try:
            loggedNote = serverNoteList[member.id]["note"][note]
            loggedName = serverNoteList[member.id]["name"][note]
            loggedTime = serverNoteList[member.id]["time"][note]
            loggedIssuer = serverNoteList[member.id]["issuer"][note]
            loggedIssuerName=serverNoteList[member.id]["issuerName"][note]
            await self.bot.say(loggedIssuerName+""" made a note about """+loggedName+""" on """+loggedTime+""" that said
`"""+loggedNote+"""`""")
        except KeyError:
            await self.bot.say("That note does not exist")
Exemple #8
0
 def __init__(self, bot):
     conf = util.load_js("config.json")
     self.okbLocation = conf["okaybot-location"]
     self.okbToken = conf["okaybot-token"]
     self.mod_roles = conf["moderator-roles"]
     self.kSpam = False
     super().__init__(bot)
Exemple #9
0
 async def addHug(self, ctx, *, url: str = ""):
     util.nullifyExecute()
     perms = await util.check_perms(self, ctx)
     if not perms:
         return
     pics = util.load_js(os.path.join("assets", "hug.json"))
     if url == "":
         await self.bot.say("Please provide a url.")
     elif not url.startswith("http"):
         await self.bot.say("Please provide a valid url.")
     elif url.startswith("https://i.imgur.com/"):
         pics.append(url)
         util.save_js("assets/hug.json", pics)
         await self.bot.say("Successfully added " + link + " to hugs.json")
     else:
         try:
             payload = {"image": url, "type": "URL"}
             headers = {"Authorization": "Client-ID 2397de93cc488b8"}
             r = requests.post("https://api.imgur.com/3/image",
                               headers=headers,
                               data=payload)
             link = r.json()["data"]["link"]
             pics.append(link)
             util.save_js("assets/hug.json", pics)
             await self.bot.say("Successfully added " + link +
                                " to hugs.json")
         except:
             await self.bot.say("nope")
Exemple #10
0
    async def warn(self, ctx, member: discord.Member):
        perms = await util.check_perms(self, ctx)
        if not perms:
            return

        serverWarnList = util.load_js(
            os.path.join("warns", "{}.json".format(ctx.message.server.id)))

        if member.id not in serverWarnList:
            serverWarnList[member.id] = 0
        serverWarnList[member.id] += 1

        if self.MAXWARNS - serverWarnList[member.id] > 1:
            await self.bot.say(
                "<@!{}>, you have been given a warning.  You have {} warnings left."
                .format(member.id, self.MAXWARNS - serverWarnList[member.id]))
        elif serverWarnList[member.id] >= self.MAXWARNS:
            pass
        else:
            await self.bot.say(
                "<@!{}>, this is your final warning.  One more warn and you will be banned."
                .format(member.id))
        util.save_js(
            os.path.join("warns", "{}.json".format(ctx.message.server.id)),
            serverWarnList)

        if serverWarnList[member.id] >= self.MAXWARNS:
            await self.bot.ban(member)
            await self.bot.say(
                "<@!{}> has been banned from the server for getting {} warnings."
                .format(member.id, self.MAXWARNS))
    async def ship(self, mem1: str, mem2: str):
        """Ship two people together to create a fanfiction.  Slightly disturbing material may arise out of this.  You have been warned."""
        fanfics = util.load_js("cogs/fanfics.json")

        message = fanfics[random.randint(0, len(fanfics) - 1)]
        msgFormatted = message.format(mem1, mem2)
        print(msgFormatted)
        await self.bot.say(msgFormatted)
Exemple #12
0
 async def inviteLink(self, ctx):
     """Invite the bot to your own server!  Sends you a DM with the invite link."""
     perms = await util.check_perms(self, ctx)
     if not perms:
         return
     client_id = util.load_js("config.json")["client-id"]
     await self.bot.whisper(
         "https://discordapp.com/oauth2/authorize?&client_id={0}&scope=bot&permissions=0"
         .format(client_id))
Exemple #13
0
 async def backupNote(self, ctx):
     perms = await util.check_perms(self, ctx)
     if not perms:
         return
     if ctx.message.author.id == self.bot.user.id:
         return
     serverNoteList = util.load_js(
         os.path.join("notes", "{}.json".format(ctx.message.server.id)))
     await self.bot.say(serverNoteList)
Exemple #14
0
    async def hug(self, ctx, *, target: str = ""):
        #   async def hug(self, ctx, *, hugNum : int = -1, target : str = ""):
        await self.bot.send_typing(ctx.message.channel)
        """Hug ya friends"""
        ctx = util.execute(self, ctx)
        titles = ["hugs", "aww", "yay", "huggie hug"]
        pics = util.load_js(os.path.join("assets", "hug.json"))
        memberID = target.replace("<",
                                  "").replace(">",
                                              "").replace("@",
                                                          "").replace("!", "")
        member = ctx.message.server.get_member(memberID)
        if member != None:
            target = member.name

        if self.bot.user.id == ctx.message.author.id:
            d = "I hugged myself!"
        elif ctx.message.author.id == memberID:
            d = "{} hugged themselves.".format(target)
        elif self.bot.user.id == memberID:
            d = "{} hugged me!".format(ctx.message.author.name)
        elif member == None and target == "":
            d = "hugs"
        else:
            d = "{} got hugged by {}.".format(target, ctx.message.author.name)
        i = random.randint(0, len(pics) - 1)
        urlText = pics[i]
        titleText = random.choice(titles)
        if urlText == "https://i.imgur.com/oQ8J3Za.gif":
            titleText = "oops"
            if self.bot.user.id == ctx.message.author.id:
                d = "I got pizza!"
            elif ctx.message.author.id == memberID:
                d = "{} got pizza.".format(target)
            elif self.bot.user.id == memberID:
                d = "{} gave me pizza!".format(ctx.message.author.name)
            elif member == None and target == "":
                d = "pizza"
            else:
                d = "{} gave {} pizza.".format(ctx.message.author.name, target)
        if urlText == "https://i.imgur.com/MnszwT3.gif":
            titleText = "no"
            if self.bot.user.id == ctx.message.author.id:
                d = "I didn't want to hug myself"
            elif ctx.message.author.id == memberID:
                d = "{} didn't want the hug.".format(target)
            elif self.bot.user.id == memberID:
                d = "{} didn't want my hugs! ;-;".format(
                    ctx.message.author.name)
            elif member == None and target == "":
                d = "no"
            else:
                d = "{} didn't want {}'s hug.".format(target,
                                                      ctx.message.author.name)
        e = discord.Embed(title=titleText, description=d)
        e.set_image(url=urlText)
        await self.bot.say(embed=e)
Exemple #15
0
 async def hashNote(self,ctx):
     util.nullifyExecute()
     perms = await util.check_perms(self, ctx)
     if not perms:
         return
     if ctx.message.author.id == self.bot.user.id:
         return
     serverNoteList = util.load_js(os.path.join("notes", "{}.json".format(ctx.message.server.id)))
     hashed=hashlib.sha256(str(serverNoteList).encode("utf-8")).hexdigest()
     await self.bot.say(hashed)
Exemple #16
0
    async def disableLogging(self, ctx):
        perms = await util.check_perms(self, ctx)
        if not perms:
            return

        logLog = util.load_js("logs/server-list.json")
        logLog.remove(ctx.message.server.id)
        util.save_js("logs/server-list.json", logLog)

        await self.bot.say("Logging for this server has been disabled.")
Exemple #17
0
    async def deleteNote(self,
                         ctx,
                         member: discord.Member,
                         *,
                         note: str = None):
        perms = await util.check_perms(self, ctx)
        if not perms:
            return
        if ctx.message.author.id == self.bot.user.id:
            return
        await self.bot.delete_message(ctx.message)
        if note == None:
            await self.bot.say("Please provide a note number.")
            return
        serverNoteList = util.load_js(
            os.path.join("notes", "{}.json".format(ctx.message.server.id)))
        if member.id not in serverNoteList or serverNoteList[
                member.id]["noteNum"] == 0:
            await self.bot.say("That user doesn't have any notes.")
            return
        noteNum = str(serverNoteList[member.id]["noteNum"])
        if note > noteNum:
            await self.bot.say("That user doesn't have that many notes.")
            return

        if serverNoteList[member.id]["noteNum"] <= 1:
            serverNoteList.pop(member.id, None)

        for i in range(int(note), serverNoteList[member.id]["noteNum"]):
            for key, item in serverNoteList[member.id].items():
                if key == "noteNum":
                    continue

                if serverNoteList[member.id]["noteNum"] == 1:
                    serverNoteList[member.id][key].pop(str(i), None)
                else:
                    serverNoteList[member.id][key][str(i)] = serverNoteList[
                        member.id][key][str(i + 1)]
        """
            try:
                
                serverNoteList[member.id]["note"][str(i)]=serverNoteList[member.id]["note"][str(i+1)]
                serverNoteList[member.id]["name"][str(i)]=serverNoteList[member.id]["name"][str(i+1)]
                serverNoteList[member.id]["time"][str(i)]=serverNoteList[member.id]["time"][str(i+1)]
                serverNoteList[member.id]["issuer"][str(i)]=serverNoteList[member.id]["issuer"][str(i+1)]
                serverNoteList[member.id]["issuerName"][str(i)]=serverNoteList[member.id]["issuerName"][str(i+1)]
            except KeyError:
                serverNoteList[member.id]["noteNum"]-=1
                util.save_js(os.path.join("notes", "{}.json".format(ctx.message.server.id)), serverNoteList)
                return
        """
        util.save_js(
            os.path.join("notes", "{}.json".format(ctx.message.server.id)),
            serverNoteList)
Exemple #18
0
 async def listWarns(self, ctx, member : discord.Member):
     util.nullifyExecute()
     perms = await util.check_perms(self, ctx)
     if not perms:
         return
     serverWarnList = util.load_js(os.path.join("warns", "{}.json".format(ctx.message.server.id)))
     if member.id not in serverWarnList or serverWarnList[member.id]==0:
         await self.bot.say("<@!{}> does not currently have any warns.".format(member.id))
     elif serverWarnList[member.id]>=self.MAXWARNS:
         await self.bot.say("<@!{}> recieved ".format(member.id)+str(self.MAXWARNS)+" warnings and was banned.")
     else:
         await self.bot.say("<@!{}> currently has ".format(member.id)+str(serverWarnList[member.id])+" warnings. They will be banned if they recieve "+str(self.MAXWARNS-serverWarnList[member.id])+" more.")
Exemple #19
0
    async def enableLogging(self, ctx):
        perms = await util.check_perms(self, ctx)
        if not perms:
            return

        logLog = util.load_js("logs/server-list.json")
        if len(logLog) == 0:
            logLog = []

        logLog.append(ctx.message.server.id)
        util.save_js("logs/server-list.json", logLog)

        await self.bot.say("Logging for this server has been enabled.")
Exemple #20
0
 async def backupNote(self, ctx, *, text : str = None):
     util.nullifyExecute()
     perms = await util.check_perms(self, ctx)
     if not perms:
         return
     if ctx.message.author.id == self.bot.user.id:
         return
     if text == None:
         await self.bot.upload(os.path.join("notes", "{}.json".format(ctx.message.server.id)))
     else:
         serverNoteList = util.load_js(os.path.join("notes", "{}.json".format(ctx.message.server.id)))
         noteListRaw=[serverNoteList[i:i+1750] for i in range(0, len(serverNoteList), 1750)]
         for i in range(len(noteListRaw)):
             await self.bot.say(noteListRaw[i])
Exemple #21
0
    async def fDisable(self, ctx):
        "Don't want SpongeBob's ugly mug staring you down every time you pay your respects? Use this. Requires special perms."
        perms = await util.check_perms(self, ctx)
        if not perms:
            return

        conf = util.load_js("config.json")
        try:
            conf["fDisabled"].append(ctx.message.server.id)
        except KeyError:
            conf["fDisabled"] = []
            conf["fDisabled"].append(ctx.message.server.id)

        util.save_js("config.json", conf)

        await self.bot.say("F Reactions have been disabled.")
Exemple #22
0
 async def beanRegister(self, ctx):
     util.nullifyExecute()
     if os.path.isfile(os.path.join("assets", "bean.json")):
         beanlist = util.load_js(os.path.join("assets", "bean.json"))
     else:
         beanlist = []
     for user in beanlist:
         if str(ctx.message.author.id) == str(user["id"]):
             await self.bot.say("{} is already in the beanlist.".format(
                 ctx.message.author.name))
             return
     beanlist.append({"id": ctx.message.author.id})
     util.save_js("assets/bean.json", beanlist)
     await self.bot.say(
         "**{}**, you have been added to the beanlist.".format(
             ctx.message.author.mention))
Exemple #23
0
    async def printDisabledCommands(self, ctx):
        disabledCommands = util.load_js("disabled-commands.json")
        e = discord.Embed()
        eContent = ""
        for d in disabledCommands:
            if d["server-id"] == ctx.message.server.id:
                eContent += d["command"]
                eContent += "\n"

        if eContent == "":
            e.title = "No commands have been disabled for this server."
        else:
            e.title = "Here are the commands that have been disabled for this server."
        e.description = eContent

        await self.bot.say(embed=e)
Exemple #24
0
    async def noOneCaresDisable(self, ctx):
        """Getting annoyed?  No one cares, but are you?"""
        perms = util.check_perms(self, ctx)
        if not perms:
            return

        conf = util.load_js("config.json")
        try:
            conf["noOneCaresDisabled"].append(ctx.message.server.id)
        except KeyError:
            conf["noOneCaresDisabled"] = []
            conf["noOneCaresDisabled"].append(ctx.message.server.id)

        util.save_js("config.json", conf)
        await self.bot.say(
            "The 'no one cares' reaction has been disabled for this server.")
Exemple #25
0
    async def unwarn(self, ctx, member : discord.Member, amount : int = 1):
        util.nullifyExecute()
        perms = await util.check_perms(self, ctx)
        if not perms:
            return

        serverWarnList = util.load_js(os.path.join("warns", "{}.json".format(ctx.message.server.id)))
        if member.id not in serverWarnList or serverWarnList[member.id] <= 0:
            await self.bot.say("{} does not currently have any warns".format(member.name))
            return

        if amount > self.MAXWARNS:
            amount = self.MAXWARNS

        serverWarnList[member.id] -= amount
        await self.bot.say("<@!{}>, you have had {} warns removed.  {} warnings remain.".format(member.id, amount, self.MAXWARNS - serverWarnList[member.id]))
        util.save_js(os.path.join("warns", "{}.json".format(ctx.message.server.id)), serverWarnList)
Exemple #26
0
 async def bean(self, ctx, *, user: str = ""):
     await self.bot.send_typing(ctx.message.channel)
     ctx = util.execute(self, ctx)
     whitelist = []
     beans = False
     imageUrl = "https://i.imgur.com/sncYgfx.png"
     memberID = user.replace("<",
                             "").replace(">",
                                         "").replace("@",
                                                     "").replace("!", "")
     member = ctx.message.server.get_member(memberID)
     if os.path.isfile(os.path.join("assets", "bean.json")):
         beanlist = util.load_js(os.path.join("assets", "bean.json"))
         beans = True
     else:
         beans = False
     if member:
         if beans:
             for userList in beanlist:
                 if str(memberID) == str(userList["id"]):
                     imageUrl = "https://i.imgur.com/oBadUcY.gif"
         user = member.name
         if self.bot.user.id == ctx.message.author.id:
             title = "I beaned myself"
             description = "Why did I do that?"
         elif member is ctx.message.author:
             title = "Ya done beaned urself"
             description = "{} beaned themselves!".format(
                 ctx.message.author.name)
         elif self.bot.user.id == memberID:
             title = "aw  :("
             description = "{} beaned me.".format(ctx.message.author.name)
         else:
             title = "Uh oh!"
             description = "{} got beaned by {}!".format(
                 user, ctx.message.author.name)
     else:
         title = "Uh oh!"
         description = "{} got beaned by {}!".format(
             user, ctx.message.author.name)
     embed = discord.Embed()
     embed.title = title
     embed.description = description
     embed.set_image(url=imageUrl)
     await self.bot.say(embed=embed)
Exemple #27
0
 async def beanUnregister(self, ctx):
     util.nullifyExecute()
     if os.path.isfile(os.path.join("assets", "bean.json")):
         beanlist = util.load_js(os.path.join("assets", "bean.json"))
     else:
         await self.bot.say("**{}**, you aren't on the beanlist.".format(
             ctx.message.author.mention))
         return
     for user in beanlist:
         if str(ctx.message.author.id) == str(user["id"]):
             beanlist.remove(user)
             util.save_js("assets/bean.json", beanlist)
             await self.bot.say(
                 "**{}**, you have been removed from beanlist.".format(
                     ctx.message.author.mention))
             return
     await self.bot.say("{}, you aren't on the beanlist.".format(
         ctx.message.author.name))
Exemple #28
0
    async def fEnable(self, ctx):
        "Enables the bot to react accordingly whenever you pay your respects. Requires special perms."
        perms = await util.check_perms(self, ctx)
        if not perms:
            return

        conf = util.load_js("config.json")
        try:
            conf["fDisabled"].remove(ctx.message.server.id)
        except KeyError:
            await self.bot.say("F Reactions are already enabled.")
            return
        except ValueError:
            await self.bot.say("F Reactions are already enabled.")
            return

        util.save_js("config.json", conf)

        await self.bot.say("F Reactions have been enabled.")
Exemple #29
0
 async def note(self, ctx, member: discord.Member, *, note: str = None):
     perms = await util.check_perms(self, ctx)
     if not perms:
         return
     if ctx.message.author.id == self.bot.user.id:
         return
     await self.bot.delete_message(ctx.message)
     if note == None:
         await self.bot.say("You didn't make a note.")
         return
     serverNoteList = util.load_js(
         os.path.join("notes", "{}.json".format(ctx.message.server.id)))
     if member.id not in serverNoteList:
         serverNoteList[member.id] = {
             'noteNum': 0,
             'name': {
                 '1': ''
             },
             'note': {
                 '1': ''
             },
             'time': {
                 '1': ''
             },
             'issuer': {
                 '1': ''
             },
             'issuerName': {
                 '1': ''
             }
         }
     serverNoteList[member.id]["noteNum"] += 1
     noteNum = str(serverNoteList[member.id]["noteNum"])
     serverNoteList[member.id]["note"][noteNum] = note
     serverNoteList[member.id]["name"][noteNum] = member.name
     serverNoteList[member.id]["time"][noteNum] = str(datetime.now())
     serverNoteList[member.id]["issuer"][noteNum] = ctx.message.author.id
     serverNoteList[
         member.id]["issuerName"][noteNum] = ctx.message.author.name
     util.save_js(
         os.path.join("notes", "{}.json".format(ctx.message.server.id)),
         serverNoteList)
     await self.bot.say("Your note has been recorded")
Exemple #30
0
 async def wipeNote(self, ctx, *, confirm : str = None):
     util.nullifyExecute()
     perms = await util.check_perms(self, ctx)
     if not perms:
         return
     if ctx.message.author.id == self.bot.user.id:
         return
     serverNoteList = util.load_js(os.path.join("notes", "{}.json".format(ctx.message.server.id)))
     key=hashlib.sha256(str(serverNoteList).encode("utf-8")).hexdigest()
     if confirm==key:
         await self.bot.say("Emergency note backup.")
         await self.bot.upload(os.path.join("notes", "{}.json".format(ctx.message.server.id)))
         serverNoteList={}
         util.save_js(os.path.join("notes", "{}.json".format(ctx.message.server.id)), serverNoteList)
         await self.bot.say("All notes have been wiped.")
         return
     else:
         await self.bot.say("To wipe the notes, you must enter the correct key.")
         return