feat(commands:rule>update|Mod): feat way to update rule messages
This commit is contained in:
parent
5afadb0f25
commit
4c72f07e8e
12 changed files with 118 additions and 20 deletions
|
@ -8,7 +8,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Tuxbot-bot\n"
|
"Project-Id-Version: Tuxbot-bot\n"
|
||||||
"Report-Msgid-Bugs-To: rick@gnous.eu\n"
|
"Report-Msgid-Bugs-To: rick@gnous.eu\n"
|
||||||
"POT-Creation-Date: 2021-05-13 23:12+0200\n"
|
"POT-Creation-Date: 2021-05-15 21:32+0200\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Tuxbot-bot\n"
|
"Project-Id-Version: Tuxbot-bot\n"
|
||||||
"Report-Msgid-Bugs-To: rick@gnous.eu\n"
|
"Report-Msgid-Bugs-To: rick@gnous.eu\n"
|
||||||
"POT-Creation-Date: 2021-05-13 23:12+0200\n"
|
"POT-Creation-Date: 2021-05-15 21:32+0200\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Tuxbot-bot\n"
|
"Project-Id-Version: Tuxbot-bot\n"
|
||||||
"Report-Msgid-Bugs-To: rick@gnous.eu\n"
|
"Report-Msgid-Bugs-To: rick@gnous.eu\n"
|
||||||
"POT-Creation-Date: 2021-05-13 23:12+0200\n"
|
"POT-Creation-Date: 2021-05-15 21:32+0200\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
|
|
@ -4,6 +4,8 @@ from discord.ext.commands import Context
|
||||||
from tuxbot.cogs.Mod.functions.exceptions import (
|
from tuxbot.cogs.Mod.functions.exceptions import (
|
||||||
RuleTooLongException,
|
RuleTooLongException,
|
||||||
UnknownRuleException,
|
UnknownRuleException,
|
||||||
|
NonMessageException,
|
||||||
|
NonBotMessageException,
|
||||||
)
|
)
|
||||||
from tuxbot.cogs.Mod.models import Rule
|
from tuxbot.cogs.Mod.models import Rule
|
||||||
|
|
||||||
|
@ -35,3 +37,18 @@ class RuleConverter(commands.Converter):
|
||||||
)
|
)
|
||||||
|
|
||||||
return argument
|
return argument
|
||||||
|
|
||||||
|
|
||||||
|
class BotMessageConverter(commands.Converter):
|
||||||
|
async def convert(self, ctx: Context, argument: str): # skipcq: PYL-W0613
|
||||||
|
try:
|
||||||
|
m = await commands.MessageConverter().convert(ctx, argument)
|
||||||
|
|
||||||
|
if m.author == ctx.me:
|
||||||
|
return m
|
||||||
|
|
||||||
|
raise NonBotMessageException(_("Please provide one of my message"))
|
||||||
|
except commands.BadArgument:
|
||||||
|
raise NonMessageException(
|
||||||
|
_("Please provide a message in this guild")
|
||||||
|
)
|
||||||
|
|
|
@ -11,3 +11,11 @@ class RuleTooLongException(ModException):
|
||||||
|
|
||||||
class UnknownRuleException(ModException):
|
class UnknownRuleException(ModException):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class NonMessageException(ModException):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class NonBotMessageException(ModException):
|
||||||
|
pass
|
||||||
|
|
|
@ -73,3 +73,11 @@ msgstr ""
|
||||||
#: tuxbot/cogs/Mod/functions/converters.py:31
|
#: tuxbot/cogs/Mod/functions/converters.py:31
|
||||||
msgid "Rule length must be 300 characters or lower."
|
msgid "Rule length must be 300 characters or lower."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: tuxbot/cogs/Mod/functions/converters.py:50
|
||||||
|
msgid "Please provide one of my message"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: tuxbot/cogs/Mod/functions/converters.py:53
|
||||||
|
msgid "Please provide a message in this guild"
|
||||||
|
msgstr ""
|
||||||
|
|
|
@ -83,3 +83,10 @@ msgstr "Règle inconnue"
|
||||||
msgid "Rule length must be 300 characters or lower."
|
msgid "Rule length must be 300 characters or lower."
|
||||||
msgstr "La règles doit faire 300 characters ou moins"
|
msgstr "La règles doit faire 300 characters ou moins"
|
||||||
|
|
||||||
|
#: tuxbot/cogs/Mod/functions/converters.py:50
|
||||||
|
msgid "Please provide one of my message"
|
||||||
|
msgstr "Merci de donner un de mes messages"
|
||||||
|
|
||||||
|
#: tuxbot/cogs/Mod/functions/converters.py:53
|
||||||
|
msgid "Please provide a message in this guild"
|
||||||
|
msgstr "Merci de donner un message dans ce serveur"
|
|
@ -8,7 +8,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Tuxbot-bot\n"
|
"Project-Id-Version: Tuxbot-bot\n"
|
||||||
"Report-Msgid-Bugs-To: rick@gnous.eu\n"
|
"Report-Msgid-Bugs-To: rick@gnous.eu\n"
|
||||||
"POT-Creation-Date: 2021-05-13 23:12+0200\n"
|
"POT-Creation-Date: 2021-05-15 21:32+0200\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
@ -17,59 +17,68 @@ msgstr ""
|
||||||
"Content-Type: text/plain; charset=CHARSET\n"
|
"Content-Type: text/plain; charset=CHARSET\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
#: tuxbot/cogs/Mod/mod.py:67
|
#: tuxbot/cogs/Mod/mod.py:71
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Locale changed to {lang} successfully"
|
msgid "Locale changed to {lang} successfully"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tuxbot/cogs/Mod/mod.py:78
|
#: tuxbot/cogs/Mod/mod.py:82
|
||||||
msgid "List of available locales: "
|
msgid "List of available locales: "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tuxbot/cogs/Mod/mod.py:103
|
#: tuxbot/cogs/Mod/mod.py:107
|
||||||
msgid ""
|
msgid ""
|
||||||
"{}please read the following rule: \n"
|
"{}please read the following rule: \n"
|
||||||
"{}"
|
"{}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tuxbot/cogs/Mod/mod.py:121
|
#: tuxbot/cogs/Mod/mod.py:125 tuxbot/cogs/Mod/mod.py:225
|
||||||
msgid "No rules found for this server"
|
msgid "No rules found for this server"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tuxbot/cogs/Mod/mod.py:125
|
#: tuxbot/cogs/Mod/mod.py:129 tuxbot/cogs/Mod/mod.py:229
|
||||||
msgid "Rules for {}"
|
msgid "Rules for {}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tuxbot/cogs/Mod/mod.py:131
|
#: tuxbot/cogs/Mod/mod.py:135 tuxbot/cogs/Mod/mod.py:235
|
||||||
msgid "Latest change: {}"
|
msgid "Latest change: {}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tuxbot/cogs/Mod/mod.py:145
|
#: tuxbot/cogs/Mod/mod.py:149 tuxbot/cogs/Mod/mod.py:249
|
||||||
msgid "Rules for {} ({}/{})"
|
msgid "Rules for {} ({}/{})"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tuxbot/cogs/Mod/mod.py:164
|
#: tuxbot/cogs/Mod/mod.py:168
|
||||||
msgid ""
|
msgid ""
|
||||||
"Following rule added: \n"
|
"Following rule added: \n"
|
||||||
"{}"
|
"{}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tuxbot/cogs/Mod/mod.py:187
|
#: tuxbot/cogs/Mod/mod.py:191
|
||||||
msgid ""
|
msgid ""
|
||||||
"Following rule updated: \n"
|
"Following rule updated: \n"
|
||||||
"{}"
|
"{}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tuxbot/cogs/Mod/mod.py:205
|
#: tuxbot/cogs/Mod/mod.py:209
|
||||||
msgid ""
|
msgid ""
|
||||||
"Following rule deleted: \n"
|
"Following rule deleted: \n"
|
||||||
"{}"
|
"{}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tuxbot/cogs/Mod/functions/converters.py:22
|
#: tuxbot/cogs/Mod/functions/converters.py:20
|
||||||
|
#: tuxbot/cogs/Mod/functions/converters.py:27
|
||||||
msgid "Unknown rule"
|
msgid "Unknown rule"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: tuxbot/cogs/Mod/functions/converters.py:31
|
#: tuxbot/cogs/Mod/functions/converters.py:36
|
||||||
msgid "Rule length must be 300 characters or lower."
|
msgid "Rule length must be 300 characters or lower."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: tuxbot/cogs/Mod/functions/converters.py:50
|
||||||
|
msgid "Please provide one of my message"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: tuxbot/cogs/Mod/functions/converters.py:53
|
||||||
|
msgid "Please provide a message in this guild"
|
||||||
|
msgstr ""
|
||||||
|
|
|
@ -4,10 +4,16 @@ from datetime import datetime
|
||||||
import discord
|
import discord
|
||||||
from discord.ext import commands
|
from discord.ext import commands
|
||||||
|
|
||||||
from tuxbot.cogs.Mod.functions.converters import RuleConverter, RuleIDConverter
|
from tuxbot.cogs.Mod.functions.converters import (
|
||||||
|
RuleConverter,
|
||||||
|
RuleIDConverter,
|
||||||
|
BotMessageConverter,
|
||||||
|
)
|
||||||
from tuxbot.cogs.Mod.functions.exceptions import (
|
from tuxbot.cogs.Mod.functions.exceptions import (
|
||||||
RuleTooLongException,
|
RuleTooLongException,
|
||||||
UnknownRuleException,
|
UnknownRuleException,
|
||||||
|
NonMessageException,
|
||||||
|
NonBotMessageException,
|
||||||
)
|
)
|
||||||
from tuxbot.cogs.Mod.functions.utils import (
|
from tuxbot.cogs.Mod.functions.utils import (
|
||||||
save_lang,
|
save_lang,
|
||||||
|
@ -45,6 +51,8 @@ class Mod(commands.Cog):
|
||||||
(
|
(
|
||||||
RuleTooLongException,
|
RuleTooLongException,
|
||||||
UnknownRuleException,
|
UnknownRuleException,
|
||||||
|
NonMessageException,
|
||||||
|
NonBotMessageException,
|
||||||
),
|
),
|
||||||
):
|
):
|
||||||
await ctx.send(_(str(error), ctx, self.bot.config))
|
await ctx.send(_(str(error), ctx, self.bot.config))
|
||||||
|
@ -206,3 +214,44 @@ class Mod(commands.Cog):
|
||||||
format_rule(rule_row)
|
format_rule(rule_row)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@checks.is_admin()
|
||||||
|
@_rule.command(name="update")
|
||||||
|
async def _rule_update(
|
||||||
|
self,
|
||||||
|
ctx: ContextPlus,
|
||||||
|
message: BotMessageConverter,
|
||||||
|
):
|
||||||
|
rules = await get_server_rules(ctx.guild.id)
|
||||||
|
|
||||||
|
if not rules:
|
||||||
|
return await ctx.send(
|
||||||
|
_("No rules found for this server", ctx, self.bot.config)
|
||||||
|
)
|
||||||
|
|
||||||
|
embed = discord.Embed(
|
||||||
|
title=_("Rules for {}", ctx, self.bot.config).format(
|
||||||
|
ctx.guild.name
|
||||||
|
),
|
||||||
|
color=discord.Color.blue(),
|
||||||
|
)
|
||||||
|
embed.set_footer(
|
||||||
|
text=_("Latest change: {}", ctx, self.bot.config).format(
|
||||||
|
get_most_recent_server_rules(rules).updated_at.ctime()
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
pages = paginate_server_rules(rules)
|
||||||
|
|
||||||
|
if len(pages) == 1:
|
||||||
|
embed.description = pages[0]
|
||||||
|
|
||||||
|
await message.edit(content="", embed=embed)
|
||||||
|
else:
|
||||||
|
for i, page in enumerate(pages):
|
||||||
|
embed.title = _(
|
||||||
|
"Rules for {} ({}/{})", ctx, self.bot.config
|
||||||
|
).format(ctx.guild.name, str(i + 1), str(len(pages)))
|
||||||
|
embed.description = page
|
||||||
|
|
||||||
|
await message.edit(content="", embed=embed)
|
||||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Tuxbot-bot\n"
|
"Project-Id-Version: Tuxbot-bot\n"
|
||||||
"Report-Msgid-Bugs-To: rick@gnous.eu\n"
|
"Report-Msgid-Bugs-To: rick@gnous.eu\n"
|
||||||
"POT-Creation-Date: 2021-05-13 23:12+0200\n"
|
"POT-Creation-Date: 2021-05-15 21:32+0200\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Tuxbot-bot\n"
|
"Project-Id-Version: Tuxbot-bot\n"
|
||||||
"Report-Msgid-Bugs-To: rick@gnous.eu\n"
|
"Report-Msgid-Bugs-To: rick@gnous.eu\n"
|
||||||
"POT-Creation-Date: 2021-05-13 23:12+0200\n"
|
"POT-Creation-Date: 2021-05-15 21:32+0200\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Tuxbot-bot\n"
|
"Project-Id-Version: Tuxbot-bot\n"
|
||||||
"Report-Msgid-Bugs-To: rick@gnous.eu\n"
|
"Report-Msgid-Bugs-To: rick@gnous.eu\n"
|
||||||
"POT-Creation-Date: 2021-05-13 23:12+0200\n"
|
"POT-Creation-Date: 2021-05-15 21:32+0200\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
|
Loading…
Reference in a new issue