56 lines
2.1 KiB
Python
56 lines
2.1 KiB
Python
import discord
|
||
from discord.ext import commands
|
||
from discord import app_commands
|
||
|
||
|
||
class RoleplayCog(commands.Cog):
|
||
def __init__(self, bot):
|
||
self.bot = bot
|
||
print("RoleplayCog initialized!")
|
||
|
||
async def _backshots_logic(self, sender_mention, recipient_mention, reverse=False):
|
||
"""Core logic for the backshots command."""
|
||
if reverse:
|
||
sender_mention, recipient_mention = recipient_mention, sender_mention
|
||
# Format the message with sender and recipient mentions
|
||
message = f"*{sender_mention} giving {recipient_mention} BACKSHOTS*\n{recipient_mention}: w-wait.. not in front of people-!\n{sender_mention}: \"shhh, it's okay, let them watch... 𝐥𝐞𝐭 𝐭𝐡𝐞𝐦 𝐤𝐧𝐨𝐰 𝐲𝐨𝐮'𝐫𝐞 𝐦𝐢𝐧𝐞...\""
|
||
return message
|
||
|
||
# --- Prefix Command ---
|
||
@commands.command(name="backshots")
|
||
async def backshots(
|
||
self, ctx: commands.Context, recipient: discord.User, reverse: bool = False
|
||
):
|
||
"""Send a roleplay message about giving backshots to a mentioned user."""
|
||
sender_mention = ctx.author.mention
|
||
response = await self._backshots_logic(
|
||
sender_mention, recipient.mention, reverse=reverse
|
||
)
|
||
await ctx.send(response)
|
||
|
||
# --- Slash Command ---
|
||
@app_commands.command(
|
||
name="backshots",
|
||
description="Send a roleplay message about giving backshots to a mentioned user",
|
||
)
|
||
@app_commands.describe(
|
||
recipient="The user receiving backshots",
|
||
reverse="Reverse the roles of the sender and recipient",
|
||
)
|
||
async def backshots_slash(
|
||
self,
|
||
interaction: discord.Interaction,
|
||
recipient: discord.User,
|
||
reverse: bool = False,
|
||
):
|
||
"""Slash command version of backshots."""
|
||
sender_mention = interaction.user.mention
|
||
response = await self._backshots_logic(
|
||
sender_mention, recipient.mention, reverse=reverse
|
||
)
|
||
await interaction.response.send_message(response)
|
||
|
||
|
||
async def setup(bot: commands.Bot):
|
||
await bot.add_cog(RoleplayCog(bot))
|