1
0
mirror of https://gitlab.com/ddorn/tfjm-discord-bot.git synced 2025-08-14 21:59:47 +02:00

edit eval msg + add FINALISTE and hug visual improvements

This commit is contained in:
ddorn
2020-05-19 10:11:50 +02:00
parent cc8b7a9949
commit 6d1560ceaa
3 changed files with 63 additions and 18 deletions

View File

@@ -21,7 +21,7 @@ from ptpython.repl import embed
from src.constants import *
from src.core import CustomBot
from src.errors import TfjmError
from src.utils import fg
from src.utils import fg, french_join
COGS_SHORTCUTS = {
"bt": "src.base_tirage",
@@ -136,10 +136,22 @@ class DevCog(Cog, name="Dev tools"):
# noinspection PyUnreachableCode
@command(name="setup")
@has_role(Role.DEV)
async def setup_roles(self, ctx):
async def setup_roles(self, ctx: Context, *teams: discord.Role):
"""
(dev) Commande temporaire pour setup le serveur.
"""
return
finalist = get(ctx.guild.roles, name=Role.FINALISTE)
assert finalist
for t in teams:
m: discord.Member
for m in t.members:
await m.add_roles(finalist)
await ctx.send(
f"{french_join(t.mention for t in teams)} ont été ajouté en finale !"
)
return
guild: discord.Guild = ctx.guild
@@ -213,12 +225,10 @@ class DevCog(Cog, name="Dev tools"):
await channel.delete_messages(to_delete)
await ctx.message.delete()
@command(name="eval", aliases=["e"])
@is_owner()
async def eval_cmd(self, ctx: Context):
""""""
msg: Message = ctx.message
guild: discord.Guild = ctx.guild
def eval(self, msg: Message) -> discord.Embed:
guild: discord.Guild = msg.guild
roles = guild.roles
members = guild.members
query = re.match(RE_QUERY, msg.content).group("query")
@@ -258,7 +268,36 @@ class DevCog(Cog, name="Dev tools"):
embed = discord.Embed(title="Result", color=discord.Colour.green())
embed.add_field(name="Query", value=f"```py\n{query}```", inline=False)
embed.add_field(name="Value", value=f"```py\n{out.read()}```", inline=False)
await ctx.send(embed=embed)
embed.set_footer(text="You may edit your message.")
return embed
@command(name="eval", aliases=["e"])
@is_owner()
async def eval_cmd(self, ctx: Context):
""""""
embed = self.eval(ctx.message)
resp = await ctx.send(embed=embed)
def check(before, after):
return after.id == ctx.message.id
while True:
try:
before, after = await self.bot.wait_for(
"message_edit", check=check, timeout=600
)
except asyncio.TimeoutError:
break
embed = self.eval(after)
await resp.edit(embed=embed)
# Remove the "You may edit your message"
embed.set_footer()
try:
await resp.edit(embed=embed)
except discord.NotFound:
pass
@Cog.listener()
async def on_message(self, msg: Message):