Ejemplo n.º 1
0
    async def autorules(self, ctx, lov, link):
        """
        Setter en gammel melding til å automatisk oppdateres når regler endres.
        """
        msg = await self._get_linked_message(ctx, link)
        if msg is None:
            await ctx.send("Klarte ikke finne meldingen")
            return
        if msg.author != self.bot.user:
            await ctx.send("Sjekk at meldingen tilhører botten")
            return

        rules = RuleManager(ctx.guild.id, self.SERVERS_PATH)
        added = rules.add_link_setting('auto_update',
                                       lov,
                                       f'{self._format_message_link(msg)}')

        if added == -1:
            await ctx.send("Melding allerede satt til å oppdateres automatisk")
        elif added:
            await ctx.send("Melding satt til å oppdateres automatisk")
        else:
            await ctx.send("Reglene du skrev inn finnes ikke")

        await ctx.send("Oppdaterer meldinger")
        await self._update_messages(ctx, lov)
        await ctx.send("Oppdatert")
Ejemplo n.º 2
0
    async def link_alternate(self, ctx, lov, link):
        """
        Setter en gammel melding til å automatisk oppdateres når regler endres.
        """
        msg = await self._get_linked_message(ctx, link)
        if msg is None:
            await ctx.send("Klarte ikke finne meldingen")
            return

        rules = RuleManager(ctx.guild.id, self.SERVERS_PATH)
        added = rules.add_link_setting('react_rules',
                                       lov,
                                       f'{self._format_message_link(msg)}')

        self._react_messages.append(msg.id)
        with codecs.open(self.REACT_MSGS, "w+", encoding='utf8') as f:
            json.dump(self._react_messages, f, indent=4)

        if added == -1:
            await ctx.send("Melding allerede satt opp for reaksjoner")
        elif added:
            try:
                await msg.clear_reactions()
                await asyncio.sleep(1)
                await msg.add_reaction(self.emoji)
                await ctx.send("reaksjonsregler lagt til")
            except:
                await ctx.send("Får ikke reacta")
        else:
            await ctx.send("Reglene du skrev inn finnes ikke")
Ejemplo n.º 3
0
    async def postauto(self, ctx, lov):
        """
        Sender en melding som automatisk oppdateres når reglene oppdateres.
        """
        rules = RuleManager(ctx.guild.id, self.SERVERS_PATH)
        rule_text = rules.get_rule_text(lov)

        if rule_text is None:
            await ctx.send('Sjekk at reglene finnes.\n' +
                           '**Liste over lovene i lovherket:**\n' +
                           f'{rules.get_rules_formatted()}')
            return

        if rule_text == "":
            await ctx.send("Den regelen er helt tom.")
            return

        msg = await ctx.send(rule_text)
        added = rules.add_link_setting('auto_update',
                                       lov,
                                       f'{self._format_message_link(msg)}')

        conf_msg = await ctx.send("Meldingen oppdateres nå automatisk")
        await asyncio.sleep(5)
        await conf_msg.delete()