diff --git a/README.md b/README.md index 5812d6b..07770d9 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ ## Commands -![Total Commands](https://img.shields.io/badge/Total%20Commands-69-5865F2) +![Total Commands](https://img.shields.io/badge/Total%20Commands-70-5865F2) | Command group | Subcommands | | ------------ | --- | @@ -29,7 +29,7 @@ | moderation | `kick`, `ban`, `nick`, `purge`, `hackban`, `warnings`, `archive`, `timeout` | | sidestore | `help`, `refresh`, `code`, `crash`, `pairing`, `server`, `half`, `sparse`, `afc`, `udid` | | idevice | `help`, `noapps`, `errorcode`, `developermode`, `mountddi` | -| melonx | `help`, `transfer`, `mods`, `gamecrash`, `requirements`, `error`, `26` | +| melonx | `help`, `transfer`, `mods`, `gamecrash`, `requirements`, `error`, `26`, `legal` | | miscellaneous | `keanu`, `labubu`, `piracy`, `tryitandsee`, `rickroll`, `dontasktoask`, `support`, `depart`, `docs` `sigma`, `duck`, `silly`, `color` | | utilities | `translate`, `codepreview`, `dictionary` | | media | `download`, `mcquote`, `img2gif`, `tweety`, `tts` | diff --git a/cogs/botinfo.py b/cogs/botinfo.py index 8f71cc9..6e3735f 100644 --- a/cogs/botinfo.py +++ b/cogs/botinfo.py @@ -133,7 +133,7 @@ class BotInfo(commands.Cog, name="botinfo"): current_time = datetime.now(ny_tz).strftime("%m/%d/%y, %I:%M %p") description_text = ( - "Heyooo! Im Syntrel, a bot made to help with [SideStore](https://discord.gg/3DwCwpBHfv), [MeloNX](https://discord.gg/Q4VkbkYfmk), and [idevice](https://discord.gg/ZnNcrRT3M8). I even have some cool extras! If you encounter any issues, please file a bug report. If you have any feedback or suggestions, simply select \"Feedback\"! <:HeardPanda:1417619745896660992>\n\n" + "Heyooo! I'm Syntrel, a bot made to help with [SideStore](https://discord.gg/3DwCwpBHfv), [MeloNX](https://discord.gg/Q4VkbkYfmk), and [idevice](https://discord.gg/ZnNcrRT3M8). I even have some cool extras! If you encounter any issues, please file a bug report. If you have any feedback or suggestions, simply select \"Feedback\"! <:HeardPanda:1417619745896660992>\n\n" "**New to Syntrel?** Run `/help` to get started and explore all available commands!\n\n" f"**Owner:** [neoarz](https://discordapp.com/users/1015372540937502851)\n" f"**Python Version:** {platform.python_version()}\n" diff --git a/cogs/melonx/__init__.py b/cogs/melonx/__init__.py index 537e599..f2c4b01 100644 --- a/cogs/melonx/__init__.py +++ b/cogs/melonx/__init__.py @@ -6,6 +6,7 @@ from discord.ext.commands import Context from .melonx import MelonxView from .transfer import transfer_command from .mods import mods_command +from .legal import legal_command from .gamecrash import crash_command from .requirements import requirements_command from .error import error_command @@ -45,6 +46,10 @@ class Melonx(commands.GroupCog, name="melonx"): async def melonx_group_transfer(self, context: Context): await self._invoke_hybrid(context, "transfer") + @melonx_group.command(name="legal") + async def melonx_group_legal(self, context: Context): + await self._invoke_hybrid(context, "legal") + @melonx_group.command(name="mods") async def melonx_group_mods(self, context: Context): await self._invoke_hybrid(context, "mods") @@ -112,6 +117,14 @@ class Melonx(commands.GroupCog, name="melonx"): async def mods(self, context): return await mods_command()(self, context) + @commands.check(_require_group_prefix) + @commands.hybrid_command( + name="legal", + description="Legality of emulators" + ) + async def legal(self, context): + return await legal_command()(self, context) + @commands.check(_require_group_prefix) @commands.hybrid_command( name="gamecrash", @@ -155,3 +168,4 @@ async def setup(bot) -> None: bot.logger.info("Loaded extension 'melonx.requirements'") bot.logger.info("Loaded extension 'melonx.error'") bot.logger.info("Loaded extension 'melonx.26'") + bot.logger.info("Loaded extension 'melonx.legal'") diff --git a/cogs/melonx/legal.py b/cogs/melonx/legal.py new file mode 100644 index 0000000..932b438 --- /dev/null +++ b/cogs/melonx/legal.py @@ -0,0 +1,65 @@ +import discord +from discord import app_commands +from discord.ext import commands +from discord.ext.commands import Context +import time + + +def legal_command(): + @commands.hybrid_command( + name="legal", description="Legality of emulators." + ) + async def legal(self, context): + embed = discord.Embed( + color=0x963155, + description = ( + '# Legality\n\n' + + '---\n\n' + + '## Overview\n' + + 'Emulators themselves are **legal**, as long as you use them with **legally dumped copies** of games **you** own, ' + + 'or with **homebrew software**.\n\n' + + 'Read about the landmark case [**Sony v. Bleem!** (2000)](https://www.copyright.gov/fair-use/summaries/sonycomputer-bleem-9thcir2000.pdf), ' + + 'which helped set the precedent for emulation being legal. You can also watch ' + + '[this video](https://www.youtube.com/watch?v=yj9Gk84jRiE) for more information.\n\n' + '## Legal Basis\n' + + 'According to the [**U.S. Copyright Act**](https://www.copyright.gov/title17/92chap1.html#117) ' + + '(the law under which Discord operates), you **must own a legal copy** of any game you play on **MeloNX**.\n\n' + + '- Downloading games you do not own is considered **piracy** and is **illegal**.\n' + + '- Even if another copy is identical, it still belongs to someone else, you are **not entitled** to it.\n\n' + + '## Our Stance on Piracy\n' + + 'We **do not support piracy**. Doing so would give Nintendo legal grounds to take us down.\n' + + 'And yes — **Nintendo is aware of MeloNX\'s existence.**\n\n' + + 'We are not required to monitor user behavior, but we **strongly encourage** everyone to use only **legally obtained copies** of games.\n\n' + + '## Enforcement\n' + + 'If you are found using pirated games with MeloNX, you will be **banned** from this Discord server **without warning**.\n\n' + + '## Final Note\n' + + 'Thank you for understanding and respecting the hard work that went into creating both the emulator MeloNX is built on, ' + + 'and **MeloNX itself.**' + ) + + ) + embed.set_author(name="MeloNX", icon_url="https://yes.nighty.works/raw/TLGaVa.png") + embed.set_footer(text=f'Last Edited by stossy11') + embed.timestamp = discord.utils.utcnow() + + view = discord.ui.View() + view.add_item(discord.ui.Button( + label="Edit Command", + style=discord.ButtonStyle.secondary, + url="https://github.com/neoarz/Syntrel/blob/main/cogs/melonx/legal.py", + emoji="<:githubicon:1417717356846776340>" + )) + view.add_item(discord.ui.Button( + label="MeloNX Discord", + style=discord.ButtonStyle.primary, + url="https://discord.gg/EMXB2XYQgA", + emoji="<:Discord:1428762057758474280>" + )) + + if context.interaction: + await context.interaction.response.send_message(embed=embed, view=view) + else: + await context.send(embed=embed, view=view) + + + return legal diff --git a/cogs/melonx/melonx.py b/cogs/melonx/melonx.py index 9285210..545b2a5 100644 --- a/cogs/melonx/melonx.py +++ b/cogs/melonx/melonx.py @@ -38,6 +38,11 @@ class MelonxSelect(discord.ui.Select): value="26", description="How can I run MeloNX on iOS 26?", ), + discord.SelectOption( + label="Legal", + value="legal", + description="Legality of emulators and our stance on piracy", + ), ] super().__init__(placeholder="Choose a MeloNX command...", options=options) diff --git a/cogs/melonx/mods.py b/cogs/melonx/mods.py index 8998bb7..b2fda64 100644 --- a/cogs/melonx/mods.py +++ b/cogs/melonx/mods.py @@ -27,7 +27,7 @@ def mods_command(): ) ) embed.set_author(name="MeloNX", icon_url="https://yes.nighty.works/raw/TLGaVa.png") - embed.set_footer(text=f'Last Edited by neoarz') + embed.set_footer(text=f'Last Edited by stossy11') embed.timestamp = discord.utils.utcnow() view = discord.ui.View()