Add cumshot command with both slash and legacy versions to MessageCog

This commit is contained in:
Slipstream 2025-06-05 19:37:32 -06:00
parent 3d2a66e32a
commit 766f61de5b
Signed by: slipstream
GPG Key ID: 13E498CE010AC6FD

View File

@ -894,6 +894,56 @@ class MessageCog(commands.Cog):
response += f", {member.display_name} has headpatted {ctx.author.display_name} {target_to_caller} {self.plural('time', target_to_caller)}"
await ctx.reply(response)
@rp.command(name="cumshot", description="Send a cumshot message to the mentioned user")
@app_commands.allowed_installs(guilds=True, users=True)
@app_commands.allowed_contexts(guilds=True, dms=True, private_channels=True)
@app_commands.describe(member="The user to send the message to")
async def cumshot_slash(self, interaction: discord.Interaction, member: discord.User):
"""Slash command version of cumshot."""
await self._increment_usage_counter(interaction.user.id, member.id, "cumshot")
caller_to_target, target_to_caller = await self._get_bidirectional_usage_counts(interaction.user.id, member.id, "cumshot")
cumshot_messages = [
f"{interaction.user.mention} cums on {member.mention}.",
f"{interaction.user.mention} finishes all over {member.mention}'s face.",
f"{member.mention} is covered in {interaction.user.mention}'s cum.",
f"{interaction.user.mention} unloads a huge load onto {member.mention}.",
f"{interaction.user.mention} cums hard, drenching {member.mention}.",
f"{interaction.user.mention} splatters {member.mention} with a thick load.",
f"A warm stream from {interaction.user.mention} coats {member.mention}.",
f"{member.mention} receives a generous cumshot from {interaction.user.mention}.",
f"{interaction.user.mention}'s cum drips from {member.mention}'s chin.",
f"{interaction.user.mention} leaves {member.mention} sticky and satisfied."
]
response = random.choice(cumshot_messages)
response += f"\n-# {interaction.user.display_name} has cum on {member.display_name} {caller_to_target} {self.plural('time', caller_to_target)}"
if target_to_caller > 0:
response += f", {member.display_name} has cum on {interaction.user.display_name} {target_to_caller} {self.plural('time', target_to_caller)}"
await interaction.response.send_message(response)
@commands.command(name="cumshot")
async def cumshot_legacy(self, ctx: commands.Context, member: discord.User):
"""Legacy command version of cumshot."""
await self._increment_usage_counter(ctx.author.id, member.id, "cumshot")
caller_to_target, target_to_caller = await self._get_bidirectional_usage_counts(ctx.author.id, member.id, "cumshot")
cumshot_messages = [
f"{ctx.author.mention} cums on {member.mention}.",
f"{ctx.author.mention} finishes all over {member.mention}'s face.",
f"{member.mention} is covered in {ctx.author.mention}'s cum.",
f"{ctx.author.mention} unloads a huge load onto {member.mention}.",
f"{ctx.author.mention} cums hard, drenching {member.mention}.",
f"{ctx.author.mention} splatters {member.mention} with a thick load.",
f"A warm stream from {ctx.author.mention} coats {member.mention}.",
f"{member.mention} receives a generous cumshot from {ctx.author.mention}.",
f"{ctx.author.mention}'s cum drips from {member.mention}'s chin.",
f"{ctx.author.mention} leaves {member.mention} sticky and satisfied."
]
response = random.choice(cumshot_messages)
response += f"\n-# {ctx.author.display_name} has cum on {member.display_name} {caller_to_target} {self.plural('time', caller_to_target)}"
if target_to_caller > 0:
response += f", {member.display_name} has cum on {ctx.author.display_name} {target_to_caller} {self.plural('time', target_to_caller)}"
await ctx.reply(response)
# --- Memes Group ---
memes = app_commands.Group(name="memes", description="Meme and copypasta commands")