ajout des messages cachés

This commit is contained in:
Mylloon 2021-06-24 13:10:07 +02:00
parent 3f02ece95d
commit c898c62a41
7 changed files with 56 additions and 36 deletions

View file

@ -3,7 +3,7 @@ from re import findall
from discord.ext import commands
from random import randint, choice
from discord_slash import cog_ext
from utils.core import retirerDoublons, mentionToUser, isSlash
from utils.core import retirerDoublons, mentionToUser, isSlash, mySendHidden
from utils.time import intToDatetime
def setup(client):
@ -65,7 +65,7 @@ class Fun(commands.Cog):
if users[0] == users[1]:
if fromSlash != True:
await ctx.message.add_reaction(emoji = '')
return await ctx.send("Je suis sûr que cette personne s'aime ! :angry:")
return await mySendHidden(ctx, fromSlash, "Je suis sûr que cette personne s'aime ! :angry:")
if users[0].nick:
user1 = list(users[0].nick)
else:
@ -177,7 +177,7 @@ class Fun(commands.Cog):
try:
n = int(n)
except:
return await ctx.send("Veuillez renseigner un chiffre valide.")
return await mySendHidden(ctx, fromSlash, "Veuillez renseigner un chiffre valide.")
else:
n = 10

View file

@ -3,7 +3,7 @@ import asyncio
from discord.ext import commands
from random import randint, choice
from discord_slash import cog_ext
from utils.core import isSlash
from utils.core import isSlash, mySendHidden
def setup(client):
client.add_cog(Games(client))
@ -37,7 +37,7 @@ class Games(commands.Cog):
elif choix == "ciseaux" or choix == "ciseau":
choix = ciseaux
else:
return await ctx.send("Je n'ai pas compris ce que tu as joué, réessaie.")
return await mySendHidden(ctx, fromSlash, "Je n'ai pas compris ce que tu as joué, réessaie.")
description = (f"{choix_jeu[choix][:-1]} VS {choix_jeu[ordi][:-1]}\n\n**"
f"{('Égalité !', 'Tu as perdu !', 'Tu as gagné !')[(choix != ordi) + ((choix > ordi and ordi +1 == choix) or (choix < ordi and choix + ordi == 2))]}**")
@ -55,10 +55,12 @@ class Games(commands.Cog):
return await self._chifumi(ctx, choix, True)
@commands.command(name='plusoumoins', aliases = ['+ou-', '+-'])
async def _plusoumoins(self, ctx):
async def _plusoumoins(self, ctx, fromSlash = None):
"""Un plus ou moins entre 1 et 100.\n ➡ Syntaxe: {PREFIX}plusoumoins/+ou-/+-"""
if fromSlash != True:
fromSlash = False
if str(ctx.author.id) in self.guessing_game:
return await ctx.send("Tu es déjà en partie.")
return await mySendHidden(ctx, fromSlash, "Tu es déjà en partie.")
guess = 5
self.guessing_game[str(ctx.author.id)] = guess
number = randint(1, 100)
@ -102,7 +104,7 @@ class Games(commands.Cog):
await ctx.send(f"T'as pas trouvé {ctx.author.mention}... dommage, c'était {number}.")
@cog_ext.cog_slash(name="plusoumoins", description = "Un plus ou moins entre 1 et 100.")
async def __plusoumoins(self, ctx):
await self._plusoumoins(ctx)
await self._plusoumoins(ctx, True)
@commands.command(name='pileouface', aliases=['pf'])
async def _pileouface(self, ctx, fromSlash = None):

View file

@ -1,7 +1,7 @@
import discord
from discord.ext import commands
from discord_slash import cog_ext
from utils.core import isSlash
from utils.core import isSlash, mySendHidden
def setup(client):
client.add_cog(Help(client))
@ -17,6 +17,7 @@ class Help(commands.Cog):
"""Affiche toutes les commandes du bot.\n ➡ Syntaxe: {PREFIX}help [catégorie]"""
_, fromSlash, cog = isSlash(cog)
erreur = False
if not cog: # Liste des Cog
halp = discord.Embed(title = 'Liste des catégories et commandes sans catégorie',
description = f'Utilisez `{ctx.prefix}help [catégorie]` pour en savoir plus sur elles et leur commande.',
@ -42,6 +43,7 @@ class Help(commands.Cog):
await ctx.send(embed = halp)
else: # Avertissement si il y a trop d'arguments dans la variable cog
if len(cog) > 1:
await ctx.message.add_reaction(emoji = '')
halp = discord.Embed(title = 'Erreur !', description = "Tu as renseigné trop d'arguments !", color = 0xC41B1B)
await ctx.send(embed = halp)
else: # Liste des commandes avec cogs.
@ -59,12 +61,14 @@ class Help(commands.Cog):
halp.add_field(name = f"`{ctx.prefix}{c.name}` - {str(c.help).split(backslash)[0]}", value = f"{''.join(cmds_help)}\u200b", inline = False)
found = True
if not found: # Rappel si le cog n'existe pas.
await ctx.message.add_reaction(emoji = '')
if fromSlash != True:
await ctx.message.add_reaction(emoji = '')
halp = discord.Embed(title = 'Erreur !', description = f"Qu'est ce que {cog[0]} ?", color = 0xC41B1B)
erreur = True
else:
if fromSlash != True:
await ctx.message.add_reaction(emoji = '')
await ctx.send('', embed = halp)
await mySendHidden(ctx, erreur, embed = halp)
@cog_ext.cog_slash(name="help", description = "Affiche toutes les commandes du bot.")
async def __help(self, ctx, cog = None):
ctx.prefix = "/"

View file

@ -5,7 +5,7 @@ from discord.ext import commands
from random import choice
from asyncpraw import Reddit
from discord_slash import cog_ext
from utils.core import randomImage, isSlash
from utils.core import randomImage, isSlash, mySendHidden
def setup(client):
client.add_cog(Internet(client))
@ -29,7 +29,7 @@ class Internet(commands.Cog):
'2meirl4meirl', 'AdviceAnimals', 'weirdmemes', 'LeagueOfMemes'])
if fromSlash != None and subredditchoix == "nsfw": # demande de nsfw sans passé par la commande appropriée
return await ctx.send(f"Désolé, tu demandes du nsfw... Fais plutôt **{ctx.prefix}sexe**.")
return await mySendHidden(ctx, fromSlash, f"Désolé, tu demandes du nsfw... Fais plutôt **{ctx.prefix}sexe**.")
try:
async with Reddit(client_id = environ['TOKEN_REDDIT_CLIENT_ID'], client_secret = environ['TOKEN_REDDIT_CLIENT_SECRET'], user_agent = f"disreddit /u/{environ['TOKEN_REDDIT_USER_AGENT']}, http://localhost:8080") as reddit:
@ -65,7 +65,7 @@ class Internet(commands.Cog):
print(f"Error in _memes command = args: {args}, subreddit: {subredditchoix}, error: {error}")
if fromSlash != True:
await ctx.message.add_reaction(emoji = '')
return await ctx.send(f"Ce subreddit est interdit, mis en quarantaine ou n'existe pas. ({subredditchoix})")
return await mySendHidden(ctx, fromSlash, f"Ce subreddit est interdit, mis en quarantaine ou n'existe pas. ({subredditchoix})")
@cog_ext.cog_slash(name="meme", description = "Envoie un meme de reddit.")
async def __memes(self, ctx, subreddit = None):
ctx.prefix = "/"
@ -132,7 +132,7 @@ class Internet(commands.Cog):
else:
if fromSlash != True:
await ctx.message.add_reaction(emoji = '')
await ctx.send(f"Désolé mais je n'envois ce genre de message seulement dans les salons NSFW !")
await mySendHidden(ctx, fromSlash, f"Désolé mais je n'envois ce genre de message seulement dans les salons NSFW !")
@cog_ext.cog_slash(name="sexe", description = "Envois une image coquine. (NSFW)")
async def __sexe(self, ctx):
return await self._sexe(ctx, True)

View file

@ -1,7 +1,7 @@
import discord
from discord.ext import commands
from discord_slash import cog_ext
from utils.core import isSlash
from utils.core import isSlash, mySendHidden
def setup(client):
client.add_cog(School(client))
@ -23,14 +23,14 @@ class School(commands.Cog):
await ctx.message.add_reaction(emoji = "")
limite_voice_channels = 7
if len(voice_channels) > limite_voice_channels and not voice_channel:
return await ctx.send(f"""Désolé mais il y a plus de {limite_voice_channels} salons vocaux sur ce serveur, utilisez plutôt `{ctx.prefix}appel {{ID salon vocal}}`.
return await mySendHidden(ctx, fromSlash, f"""Désolé mais il y a plus de {limite_voice_channels} salons vocaux sur ce serveur, utilisez plutôt `{ctx.prefix}appel {{ID salon vocal}}`.
\nPour savoir comment récuperer l'id d'un salon vous pouvez faire `{ctx.prefix}getid`.""")
if voice_channel:
canal = self.client.get_channel(voice_channel)
if canal.type.__str__() == "voice":
voice_channels = [canal]
else:
return await ctx.send("Tu as spécifié un channel textuelle et non vocal.")
return await mySendHidden(ctx, fromSlash, "Tu as spécifié un channel textuelle et non vocal.")
if len(voice_channels) > 0:
embed = discord.Embed(title = "Réagissez à ce message avec ✋ pour signaler votre présence.", description = f"(attention, je réagis aussi) — Demandeur : {ctx.author.mention}")
for channel in voice_channels:
@ -51,7 +51,7 @@ class School(commands.Cog):
message = await ctx.send("Aucun salon vocal dans ce serveur, réagissez à ce message avec ✋ pour signaler votre présence (attention, je réagis aussi).")
await message.add_reaction(emoji = "")
@_appel.error
async def _appel_error(self, ctx, error):
async def _appel_error(self, ctx, _):
# if isinstance(error, commands.CheckFailure):
# await ctx.send("Tu n'as pas la permission de faire cette commande, demande à un professeur.")
# else:
@ -74,7 +74,7 @@ class School(commands.Cog):
fromSlash = False
if fromSlash != True:
await ctx.message.add_reaction(emoji = '')
return await ctx.send("Explication sur comment récuperer l'ID d'un utilisateur/salon : https://cdn.discordapp.com/attachments/640312926892195842/780802253258358834/GetID.mp4")
return await mySendHidden(ctx, fromSlash, "Explication sur comment récuperer l'ID d'un utilisateur/salon : https://cdn.discordapp.com/attachments/640312926892195842/780802253258358834/GetID.mp4")
@cog_ext.cog_slash(name="getid", description = "Tuto vidéo sur comment récupérer l'ID d'un utilisateur/salon")
async def __getid(self, ctx):
return await self._getid(ctx, True)

View file

@ -5,7 +5,8 @@ from discord.ext import commands, tasks
from random import randint, shuffle
from discord_slash import cog_ext
from utils.reminder import Reminder
from utils.core import map_list_among_us, getURLsInString, getMentionInString, cleanCodeStringWithMentionAndURLs, cleanUser, userOrNick, mentionToUser, getChangelogs, isSlash
from utils.core import map_list_among_us, getURLsInString, getMentionInString, cleanCodeStringWithMentionAndURLs, cleanUser, userOrNick
from utils.core import mySendHidden, mentionToUser, getChangelogs, isSlash
from utils.time import stringTempsVersSecondes, nowUTC, intToDatetime, timedeltaToString, timestampScreen, getAge, ageLayout, nowCustom
def setup(client):
@ -23,7 +24,7 @@ class Utils(commands.Cog):
arg, fromSlash, _ = isSlash(arg)
if arg == 'help':
return await ctx.send(embed = discord.Embed(color = discord.Colour.random(), description =
return await mySendHidden(ctx, fromSlash, embed = discord.Embed(color = discord.Colour.random(), description =
":hourglass: correspond au temps entre deux battements de cœurs\n\n \
:heartbeat: correspond au temps que met le client a réagir au messages (0 est normal lors de l'utilisation d'une commande slash)\n\n \
:stopwatch: correspond au temps que met le client a calculer le ping"
@ -96,9 +97,9 @@ class Utils(commands.Cog):
else:
answer = str(eval(equation))
except ZeroDivisionError:
return await ctx.send("Tu ne peux pas divisé par 0.")
return await mySendHidden(ctx, fromSlash, "Tu ne peux pas diviser par 0.")
except TypeError:
return await ctx.send("Requête de calcul invalide.")
return await mySendHidden(ctx, fromSlash, "Requête de calcul invalide.")
if '.' in answer:
aftercomma = answer.split(".")[1]
if len(aftercomma) > 2:
@ -171,7 +172,7 @@ class Utils(commands.Cog):
await ctx.message.add_reaction(emoji = '')
except:
pass
await ctx.send(syntaxe)
await mySendHidden(ctx, fromSlash, syntaxe)
@cog_ext.cog_slash(name="syntax", description = "Informations pour bien éditer son texte.")
async def __syntax(self, ctx):
return await self._syntax(ctx, True)
@ -188,11 +189,11 @@ class Utils(commands.Cog):
if len(text) <= 5:
if fromSlash != True:
await ctx.message.add_reaction(emoji = '')
return await ctx.send("Ta note doit au moins faire 5 caractères.")
return await mySendHidden(ctx, fromSlash, "Ta note doit au moins faire 5 caractères.")
elif len(text) >= 2048:
if fromSlash != True:
await ctx.message.add_reaction(emoji = '')
return await ctx.send("Ta note doit faire moins de 2048 caractères.")
return await ctx.send(ctx, fromSlash, message = "Ta note doit faire moins de 2048 caractères.")
else:
if fromSlash != True:
await ctx.message.delete()
@ -200,7 +201,8 @@ class Utils(commands.Cog):
embed.set_author(name = f"Mémo noté depuis {ctx.guild.name}", icon_url = ctx.author.avatar_url)
embed.set_footer(text = f'📝 le {timestampScreen(intToDatetime(nowUTC()))}')
await ctx.author.send(embed = embed)
return await ctx.send("Tu viens de recevoir ton mémo !", delete_after = 5)
return await mySendHidden(ctx, fromSlash, "Tu viens de recevoir ton mémo !", delete_after = 5)
@_memo.error
async def _memo_error(self, ctx, error):
if str(error) == "text is a required argument that is missing.":
@ -297,7 +299,7 @@ class Utils(commands.Cog):
await ctx.message.add_reaction(emoji = '')
await ctx.send(embed = embed)
else:
await ctx.send(f"`{ctx.prefix}amongus <mira/polus/skeld/airship>`")
await mySendHidden(ctx, fromSlash, f"`{ctx.prefix}amongus <mira/polus/skeld/airship>`")
@commands.command(name='among', hidden = True)
async def _among(self, ctx, *, args = ""):
"""Raccourci à la commande amongus"""
@ -475,7 +477,7 @@ class Utils(commands.Cog):
if type(seconds) != int:
if fromSlash != True:
await ctx.message.add_reaction(emoji = '')
return await ctx.send(seconds)
return await mySendHidden(ctx, fromSlash, seconds)
if seconds == 0:
embed.add_field(name="Attention", value=
"Format pour le temps : `d` ou `j` pour jour, `h` pour heure, `m` pour minute, `s` pour seconde (légères variances acceptés aussi). \
@ -490,8 +492,8 @@ class Utils(commands.Cog):
if fromSlash != True:
messageID = ctx.message.id
Reminder().ajoutReminder(messageID, ctx.channel.id, extrarg, reminder, now, now + seconds, ctx.author.id, guildID)
return await ctx.send(f"Ok, je t'en parles {destination} dans {timedeltaToString(seconds)} avec 1m de retard maximum.")
await ctx.send(embed = embed)
return await mySendHidden(ctx, fromSlash, f"Ok, je t'en parles {destination} dans {timedeltaToString(seconds)} avec 1m de retard maximum.")
await mySendHidden(ctx, fromSlash, embed = embed)
@_reminder.error
async def _reminder_error(self, ctx, error):
if 'time is a required argument that is missing.' in str(error):
@ -567,7 +569,7 @@ class Utils(commands.Cog):
try:
utilisateur = mentionToUser(getMentionInString(utilisateur[0])[0])
except:
return await ctx.send("L'utilisateur renseigné n'a pas été trouvé.")
return await mySendHidden(ctx, fromSlash, "L'utilisateur renseigné n'a pas été trouvé.")
else:
utilisateur = ctx.author.id
@ -606,7 +608,7 @@ class Utils(commands.Cog):
try:
id = int(id[0])
except:
return await ctx.send("L'ID renseigné n'est pas valide.")
return await mySendHidden(ctx, fromSlash, "L'ID renseigné n'est pas valide.")
else:
return await ctx.send("Veuillez renseigner un ID.")
@ -619,7 +621,7 @@ class Utils(commands.Cog):
else:
if fromSlash != True:
await ctx.message.add_reaction(emoji = '')
return await ctx.send("Rappel non trouvé, pas sur le bon serveur ou qui ne vous appartiens pas.")
return await mySendHidden(ctx, fromSlash, "Rappel non trouvé, pas sur le bon serveur ou qui ne vous appartiens pas.")
@cog_ext.cog_slash(name="reminderdelete", description = "Suppprime un rappel.")
async def __reminderdelete(self, ctx, id):
return await self._reminderdelete(ctx, id, True)
@ -638,7 +640,7 @@ class Utils(commands.Cog):
message = "Veuillez renseigner un numéro de version valide et existant."
else:
message = "Trop de requêtes sur l'API de Github, réessayez plus tard."
return await ctx.send(message)
return await mySendHidden(ctx, fromSlash, message)
if fromSlash != True:
await ctx.message.add_reaction(emoji = '')
if len(changes[2]) > 2048:

View file

@ -140,3 +140,15 @@ def isSlash(arg):
arg = arg[0]
return (arg, fromSlash, fullarg)
async def mySendHidden(
ctx, fromSlash, message = None, tts = False, embed = None, file = None, files = None,
delete_after = None, allowed_mentions = None):
if fromSlash == True: # can't delete hidden message
await ctx.send( # sending hidden message
content = message, tts = tts, embed = embed, file = file, files = files,
delete_after = None, allowed_mentions = allowed_mentions, hidden = fromSlash)
else:
await ctx.send( # sending normal message
content = message, tts = tts, embed = embed, file = file, files = files,
delete_after = delete_after, allowed_mentions = allowed_mentions)