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")
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")
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()