|
@@ -65,11 +65,10 @@ class Matesearch(commands.Cog):
|
|
|
|
|
|
|
|
#Output of the Modal form
|
|
#Output of the Modal form
|
|
|
async def callback(self, interaction: discord.Interaction):
|
|
async def callback(self, interaction: discord.Interaction):
|
|
|
- #Public embed with less information
|
|
|
|
|
role = self._get_role(interaction)
|
|
role = self._get_role(interaction)
|
|
|
- #ping_value = role.mention if role is not None else "Role not found"
|
|
|
|
|
|
|
|
|
|
embed = discord.Embed(title="Mitspieler gesucht!")
|
|
embed = discord.Embed(title="Mitspieler gesucht!")
|
|
|
|
|
+ embed.add_field(name="", value="Es werden Mitspieler für eine gemeinsame Schicht gesucht! Wenn du mitmachen willst, reagiere mit ✅ auf diese Nachricht. Bei offenen Fragen kannst du per Rechtsklick auf diese Nachricht einen Thread eröffnen. Alle Nachrichten und Threads zur Spielersuche sind Out of Character (OOC).", inline=False)
|
|
|
embed.add_field(name="Ersteller", value=interaction.user.mention, inline=False)
|
|
embed.add_field(name="Ersteller", value=interaction.user.mention, inline=False)
|
|
|
embed.add_field(name="Tag", value=self.children[0].value, inline=False)
|
|
embed.add_field(name="Tag", value=self.children[0].value, inline=False)
|
|
|
embed.add_field(name="Zeit", value=self.children[1].value, inline=False)
|
|
embed.add_field(name="Zeit", value=self.children[1].value, inline=False)
|
|
@@ -88,18 +87,27 @@ class Matesearch(commands.Cog):
|
|
|
|
|
|
|
|
#Slash command to trigger the Modal form
|
|
#Slash command to trigger the Modal form
|
|
|
@slash_command()
|
|
@slash_command()
|
|
|
|
|
+ @commands.cooldown(1, 3600, commands.BucketType.default) # 1-mal alle 3600 Sek. GLOBAL für den gesamten Bot
|
|
|
async def spielersuche(self, ctx: discord.ApplicationContext):
|
|
async def spielersuche(self, ctx: discord.ApplicationContext):
|
|
|
"""Start a search for players."""
|
|
"""Start a search for players."""
|
|
|
|
|
|
|
|
-## Only be able to send if last request is min 20h old
|
|
|
|
|
-
|
|
|
|
|
config = self.Form._load_config(self)
|
|
config = self.Form._load_config(self)
|
|
|
enable_search = config.getboolean("Matesearch","enable_search_mates")
|
|
enable_search = config.getboolean("Matesearch","enable_search_mates")
|
|
|
if not enable_search:
|
|
if not enable_search:
|
|
|
return
|
|
return
|
|
|
-
|
|
|
|
|
modal = self.Form(self.bot, title="Fill the form to search for players.") # type: ignore
|
|
modal = self.Form(self.bot, title="Fill the form to search for players.") # type: ignore
|
|
|
await ctx.send_modal(modal)
|
|
await ctx.send_modal(modal)
|
|
|
|
|
+
|
|
|
|
|
+ @spielersuche.error
|
|
|
|
|
+ async def spielersuche_error(self, ctx: discord.ApplicationContext, error: discord.DiscordException):
|
|
|
|
|
+ if isinstance(error, commands.CommandOnCooldown):
|
|
|
|
|
+ minuten, sekunden = divmod(int(error.retry_after), 60)
|
|
|
|
|
+ await ctx.respond(
|
|
|
|
|
+ f"Dieser Befehl ist global gesperrt. Bitte warte noch {minuten} Minuten und {sekunden} Sekunden, bis er wieder verfügbar ist.",
|
|
|
|
|
+ ephemeral=True
|
|
|
|
|
+ )
|
|
|
|
|
+ else:
|
|
|
|
|
+ raise error
|
|
|
|
|
|
|
|
|
|
|
|
|
def setup(bot: discord.Bot):
|
|
def setup(bot: discord.Bot):
|