chore: ruff formatting

This commit is contained in:
neoarz
2025-11-02 23:32:52 -05:00
parent 2ce2c69a87
commit 1eff6c9f53
91 changed files with 3824 additions and 2518 deletions

View File

@@ -25,9 +25,11 @@ class Melonx(commands.GroupCog, name="melonx"):
embed = discord.Embed(
title="MeloNX Commands",
description="Choose a command from the dropdown below to get help with specific issues:",
color=0x963155
color=0x963155,
)
embed.set_author(
name="MeloNX", icon_url="https://yes.nighty.works/raw/TLGaVa.png"
)
embed.set_author(name="MeloNX", icon_url="https://yes.nighty.works/raw/TLGaVa.png")
view = MelonxView(self.bot)
await context.send(embed=embed, view=view)
@@ -36,9 +38,11 @@ class Melonx(commands.GroupCog, name="melonx"):
embed = discord.Embed(
title="MeloNX Commands",
description="Choose a command from the dropdown below to get help with specific issues:",
color=0x963155
color=0x963155,
)
embed.set_author(
name="MeloNX", icon_url="https://yes.nighty.works/raw/TLGaVa.png"
)
embed.set_author(name="MeloNX", icon_url="https://yes.nighty.works/raw/TLGaVa.png")
view = MelonxView(self.bot)
await context.send(embed=embed, view=view)
@@ -87,80 +91,68 @@ class Melonx(commands.GroupCog, name="melonx"):
content = context.message.content.strip().lower()
return content.startswith(f"{prefix}{group} ")
@app_commands.command(
name="help",
description="MeloNX troubleshooting help"
)
@app_commands.command(name="help", description="MeloNX troubleshooting help")
async def help(self, interaction: discord.Interaction):
embed = discord.Embed(
title="MeloNX Commands",
description="Choose a command from the dropdown below to get help with specific issues:",
color=0x963155
color=0x963155,
)
embed.set_author(
name="MeloNX", icon_url="https://yes.nighty.works/raw/TLGaVa.png"
)
embed.set_author(name="MeloNX", icon_url="https://yes.nighty.works/raw/TLGaVa.png")
view = MelonxView(self.bot)
await interaction.response.send_message(embed=embed, view=view, ephemeral=True)
@commands.check(_require_group_prefix)
@commands.hybrid_command(
name="transfer",
description="How to transfer save files from other emulators or platforms"
description="How to transfer save files from other emulators or platforms",
)
async def transfer(self, context):
return await transfer_command()(self, context)
@commands.check(_require_group_prefix)
@commands.hybrid_command(
name="mods",
description="How to install mods within MeloNX (Limited Support)"
name="mods", description="How to install mods within MeloNX (Limited Support)"
)
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"
)
@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",
description="Why does my game crash?"
)
@commands.hybrid_command(name="gamecrash", description="Why does my game crash?")
async def gamecrash(self, context):
return await crash_command()(self, context)
@commands.check(_require_group_prefix)
@commands.hybrid_command(
name="requirements",
description="What does MeloNX require?"
name="requirements", description="What does MeloNX require?"
)
async def requirements(self, context):
return await requirements_command()(self, context)
@commands.check(_require_group_prefix)
@commands.hybrid_command(
name="error",
description="What does this error message mean?"
name="error", description="What does this error message mean?"
)
async def error(self, context):
return await error_command()(self, context)
@commands.check(_require_group_prefix)
@commands.hybrid_command(
name="26",
description="How can I run MeloNX on iOS 26?"
)
@commands.hybrid_command(name="26", description="How can I run MeloNX on iOS 26?")
async def ios26(self, context):
return await ios26_command()(self, context)
async def setup(bot) -> None:
cog = Melonx(bot)
await bot.add_cog(cog)
bot.logger.info("Loaded extension 'melonx.help'")
bot.logger.info("Loaded extension 'melonx.transfer'")
bot.logger.info("Loaded extension 'melonx.mods'")

View File

@@ -13,35 +13,40 @@ def error_command():
embed = discord.Embed(
color=0x963155,
description=(
'# What does this error message mean?\n\n---\n\n' +
'**1. "MeloNX Crashed! System.SystemException: Cannot allocate memory"**' +
'You likely don\'t have the increased memory limit entitlement enabled, are using an a12 chipset, and have 4GB or less of memory. You can see the status of the entitlement for MeloNX under the Settings tab.\n\n' +
'**2. "MeloNX Crashed! LibHac.Common.HorizonResultException: ResultLoaderInvalidNso (2009-0005)"**' +
'This is likely a bad game / update / or DLC dump. redump your files and try again.'
)
"# What does this error message mean?\n\n---\n\n"
+ '**1. "MeloNX Crashed! System.SystemException: Cannot allocate memory"**'
+ "You likely don't have the increased memory limit entitlement enabled, are using an a12 chipset, and have 4GB or less of memory. You can see the status of the entitlement for MeloNX under the Settings tab.\n\n"
+ '**2. "MeloNX Crashed! LibHac.Common.HorizonResultException: ResultLoaderInvalidNso (2009-0005)"**'
+ "This is likely a bad game / update / or DLC dump. redump your files and try again."
),
)
embed.set_author(name="MeloNX", icon_url="https://yes.nighty.works/raw/TLGaVa.png")
embed.set_footer(text=f'Last Edited by Meshal :D')
embed.set_author(
name="MeloNX", icon_url="https://yes.nighty.works/raw/TLGaVa.png"
)
embed.set_footer(text=f"Last Edited by Meshal :D")
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/error.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>"
))
view.add_item(
discord.ui.Button(
label="Edit Command",
style=discord.ButtonStyle.secondary,
url="https://github.com/neoarz/Syntrel/blob/main/cogs/melonx/error.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 error

View File

@@ -6,47 +6,50 @@ import time
def crash_command():
@commands.hybrid_command(
name="gamecrash", description="Why does my game crash?"
)
@commands.hybrid_command(name="gamecrash", description="Why does my game crash?")
async def crash(self, context):
embed = discord.Embed(
color=0x963155,
description=(
'# "Why does my game crash?"\n\n---\n\n' +
'**This can be caused by multiple reasons:**\n' +
'- Not enough available ram\n' +
'- You may have tried to update your firmware without updating your keys\n' +
'- Game file is corrupted/broken\n' +
'- Game requires a higher firmware+keys combination than you currently have\n' +
'- In rare cases some games also crash when not having the resolution set to 1x\n' +
'- The a12 chipset have a lot of issues at the moment\n' +
'- Shader cache isn\'t cleared after updating MeloNX\n' +
'- iOS 15 and 16 are known to have some compatibility issues'
)
'# "Why does my game crash?"\n\n---\n\n'
+ "**This can be caused by multiple reasons:**\n"
+ "- Not enough available ram\n"
+ "- You may have tried to update your firmware without updating your keys\n"
+ "- Game file is corrupted/broken\n"
+ "- Game requires a higher firmware+keys combination than you currently have\n"
+ "- In rare cases some games also crash when not having the resolution set to 1x\n"
+ "- The a12 chipset have a lot of issues at the moment\n"
+ "- Shader cache isn't cleared after updating MeloNX\n"
+ "- iOS 15 and 16 are known to have some compatibility issues"
),
)
embed.set_author(name="MeloNX", icon_url="https://yes.nighty.works/raw/TLGaVa.png")
embed.set_footer(text=f'Last Edited by Meshal :D')
embed.set_author(
name="MeloNX", icon_url="https://yes.nighty.works/raw/TLGaVa.png"
)
embed.set_footer(text=f"Last Edited by Meshal :D")
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/gamecrash.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>"
))
view.add_item(
discord.ui.Button(
label="Edit Command",
style=discord.ButtonStyle.secondary,
url="https://github.com/neoarz/Syntrel/blob/main/cogs/melonx/gamecrash.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 crash

View File

@@ -6,47 +6,50 @@ import time
def ios26_command():
@commands.hybrid_command(
name="26", description="How can I run MeloNX on iOS 26?"
)
@commands.hybrid_command(name="26", description="How can I run MeloNX on iOS 26?")
async def ios26(self, context):
embed = discord.Embed(
color=0x963155,
description=(
'# "How can I run MeloNX on iOS 26?"\n\n---\n\n' +
'### StikDebug\n' +
'1. Make sure StikDebug is on the latest version.\n' +
'2. Turn on "Picture in Picture" in StikDebug\'s settings.\n\n' +
'### MeloNX\n' +
'Make sure you\'re on the latest version of MeloNX.\n' +
'## Disclaimer:\n\n' +
'If you\'re on iOS 18 or below, and emulation is essential to you:\n\n' +
'## <:error:1424007141768822824> DO NOT UPDATE <:error:1424007141768822824> \n\n' +
'iOS 26 has many issues related to emulation.'
)
'# "How can I run MeloNX on iOS 26?"\n\n---\n\n'
+ "### StikDebug\n"
+ "1. Make sure StikDebug is on the latest version.\n"
+ '2. Turn on "Picture in Picture" in StikDebug\'s settings.\n\n'
+ "### MeloNX\n"
+ "Make sure you're on the latest version of MeloNX.\n"
+ "## Disclaimer:\n\n"
+ "If you're on iOS 18 or below, and emulation is essential to you:\n\n"
+ "## <:error:1424007141768822824> DO NOT UPDATE <:error:1424007141768822824> \n\n"
+ "iOS 26 has many issues related to emulation."
),
)
embed.set_author(name="MeloNX", icon_url="https://yes.nighty.works/raw/TLGaVa.png")
embed.set_footer(text=f'Last Edited by Meshal :D')
embed.set_author(
name="MeloNX", icon_url="https://yes.nighty.works/raw/TLGaVa.png"
)
embed.set_footer(text=f"Last Edited by Meshal :D")
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/ios26.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>"
))
view.add_item(
discord.ui.Button(
label="Edit Command",
style=discord.ButtonStyle.secondary,
url="https://github.com/neoarz/Syntrel/blob/main/cogs/melonx/ios26.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 ios26

View File

@@ -6,60 +6,62 @@ import time
def legal_command():
@commands.hybrid_command(
name="legal", description="Legality of emulators."
)
@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.**'
)
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.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>"
))
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

View File

@@ -49,7 +49,7 @@ class MelonxSelect(discord.ui.Select):
async def callback(self, interaction: discord.Interaction):
command_name = self.values[0]
command = self.bot.get_command(command_name)
if command:
try:
ctx = await self.bot.get_context(interaction.message)
@@ -58,44 +58,57 @@ class MelonxSelect(discord.ui.Select):
embed = discord.Embed(
title="Command Executed",
description=f"Successfully executed `/{command_name}`",
color=0x00FF00
color=0x00FF00,
)
embed.set_author(
name="MeloNX",
icon_url="https://yes.nighty.works/raw/TLGaVa.png",
)
embed.set_author(name="MeloNX", icon_url="https://yes.nighty.works/raw/TLGaVa.png")
await interaction.response.edit_message(embed=embed, view=None)
except discord.Forbidden:
guild_info = f"server {interaction.guild.name} (ID: {interaction.guild.id})" if interaction.guild else "DM or private channel"
self.bot.logger.warning(f"Bot missing permissions in {guild_info} - cannot execute {command_name} command")
guild_info = (
f"server {interaction.guild.name} (ID: {interaction.guild.id})"
if interaction.guild
else "DM or private channel"
)
self.bot.logger.warning(
f"Bot missing permissions in {guild_info} - cannot execute {command_name} command"
)
if interaction.guild is None:
embed = discord.Embed(
title="Error",
description="This command cannot be executed in DMs.",
color=0xFF0000
color=0xFF0000,
)
else:
embed = discord.Embed(
title="Permission Error",
description="The bot needs the `send messages` permission to execute this command.",
color=0xFF0000
color=0xFF0000,
)
embed.set_author(name="MeloNX", icon_url="https://yes.nighty.works/raw/TLGaVa.png")
embed.set_author(
name="MeloNX", icon_url="https://yes.nighty.works/raw/TLGaVa.png"
)
await interaction.response.edit_message(embed=embed, view=None)
except Exception as e:
self.bot.logger.error(f"Error executing {command_name} command: {e}")
embed = discord.Embed(
title="Error",
description="An error occurred while executing the command.",
color=0x963155
color=0x963155,
)
embed.set_author(
name="MeloNX", icon_url="https://yes.nighty.works/raw/TLGaVa.png"
)
embed.set_author(name="MeloNX", icon_url="https://yes.nighty.works/raw/TLGaVa.png")
await interaction.response.edit_message(embed=embed, view=None)
else:
embed = discord.Embed(
title="Error",
description="Command not found!",
color=0x963155
title="Error", description="Command not found!", color=0x963155
)
embed.set_author(
name="MeloNX", icon_url="https://yes.nighty.works/raw/TLGaVa.png"
)
embed.set_author(name="MeloNX", icon_url="https://yes.nighty.works/raw/TLGaVa.png")
await interaction.response.edit_message(embed=embed, view=None)
@@ -116,10 +129,14 @@ def melonx_command():
description="This command can only be used in servers.",
color=0xE02B2B,
)
embed.set_author(name="MeloNX", icon_url="https://yes.nighty.works/raw/TLGaVa.png")
embed.set_author(
name="MeloNX", icon_url="https://yes.nighty.works/raw/TLGaVa.png"
)
if context.interaction:
await context.interaction.response.send_message(embed=embed, ephemeral=True)
await context.interaction.response.send_message(
embed=embed, ephemeral=True
)
else:
await context.send(embed=embed, ephemeral=True)
return
@@ -130,10 +147,14 @@ def melonx_command():
description="The bot needs send messages permissions in this channel.",
color=0xE02B2B,
)
embed.set_author(name="MeloNX", icon_url="https://yes.nighty.works/raw/TLGaVa.png")
embed.set_author(
name="MeloNX", icon_url="https://yes.nighty.works/raw/TLGaVa.png"
)
if context.interaction:
await context.interaction.response.send_message(embed=embed, ephemeral=True)
await context.interaction.response.send_message(
embed=embed, ephemeral=True
)
else:
await context.send(embed=embed, ephemeral=True)
return
@@ -141,15 +162,19 @@ def melonx_command():
embed = discord.Embed(
title="MeloNX Commands",
description="Choose a command from the dropdown below to get help with specific issues:",
color=0x963155
color=0x963155,
)
embed.set_author(name="MeloNX", icon_url="https://yes.nighty.works/raw/TLGaVa.png")
embed.set_author(
name="MeloNX", icon_url="https://yes.nighty.works/raw/TLGaVa.png"
)
view = MelonxView(self.bot)
if context.interaction:
await context.interaction.response.send_message(embed=embed, view=view, ephemeral=True)
await context.interaction.response.send_message(
embed=embed, view=view, ephemeral=True
)
else:
await context.send(embed=embed, view=view)
return melonx

View File

@@ -13,41 +13,46 @@ def mods_command():
embed = discord.Embed(
color=0x963155,
description=(
'# How do I install mods within MeloNX? (Limited Support)\n\n---\n\n' +
'### **romFS/exeFS mods**:\n' +
'1. Obtain your title ID of your game by copying it from MeloNX, Hold down on the game and click game info.\n' +
'2. Copy it and then go to Files-> MeloNX-> mods-> contents\n' +
'3. In the contents folder create a new folder and name it the title ID you copied earlier.\n' +
'4. Now place all your mods for that game in the folder you just made (these should be folders with the mod name, do not mess with the file structure of the mod after unzipping it.)\n\n' +
'### **Atmosphere mods**: \n' +
'1. Obtain your title ID of your game by copying it from MeloNX, Hold down on the game and click game info.\n' +
'2. Copy it and then go to Files-> MeloNX-> sdcard-> atmosphere-> contents\n' +
'3. In the contents folder create a new folder and name it the title ID you copied earlier.\n' +
'4. Now place all your mods for that game in the folder you just made (these should be folders with the mod name, do not mess with the file structure of the mod after unzipping it.)'
)
"# How do I install mods within MeloNX? (Limited Support)\n\n---\n\n"
+ "### **romFS/exeFS mods**:\n"
+ "1. Obtain your title ID of your game by copying it from MeloNX, Hold down on the game and click game info.\n"
+ "2. Copy it and then go to Files-> MeloNX-> mods-> contents\n"
+ "3. In the contents folder create a new folder and name it the title ID you copied earlier.\n"
+ "4. Now place all your mods for that game in the folder you just made (these should be folders with the mod name, do not mess with the file structure of the mod after unzipping it.)\n\n"
+ "### **Atmosphere mods**: \n"
+ "1. Obtain your title ID of your game by copying it from MeloNX, Hold down on the game and click game info.\n"
+ "2. Copy it and then go to Files-> MeloNX-> sdcard-> atmosphere-> contents\n"
+ "3. In the contents folder create a new folder and name it the title ID you copied earlier.\n"
+ "4. Now place all your mods for that game in the folder you just made (these should be folders with the mod name, do not mess with the file structure of the mod after unzipping it.)"
),
)
embed.set_author(name="MeloNX", icon_url="https://yes.nighty.works/raw/TLGaVa.png")
embed.set_footer(text=f'Last Edited by Meshal :D')
embed.set_author(
name="MeloNX", icon_url="https://yes.nighty.works/raw/TLGaVa.png"
)
embed.set_footer(text=f"Last Edited by Meshal :D")
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/mods.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>"
))
view.add_item(
discord.ui.Button(
label="Edit Command",
style=discord.ButtonStyle.secondary,
url="https://github.com/neoarz/Syntrel/blob/main/cogs/melonx/mods.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 mods

View File

@@ -13,36 +13,41 @@ def requirements_command():
embed = discord.Embed(
color=0x963155,
description=(
'# "What does MeloNX require?"\n\n---\n\n' +
'- JIT is **Mandatory**, because of this MeloNX will never be on the App Store / TestFlight\n' +
'- A Modded Nintendo Switch\n' +
'- The Increased Memory Limit Entitlement\n' +
'- A device with a **A12/M1** chip and **4GB Ram** or higher\n' +
'- TrollStore is supported with limited functionality for iOS 15'
)
'# "What does MeloNX require?"\n\n---\n\n'
+ "- JIT is **Mandatory**, because of this MeloNX will never be on the App Store / TestFlight\n"
+ "- A Modded Nintendo Switch\n"
+ "- The Increased Memory Limit Entitlement\n"
+ "- A device with a **A12/M1** chip and **4GB Ram** or higher\n"
+ "- TrollStore is supported with limited functionality for iOS 15"
),
)
embed.set_author(name="MeloNX", icon_url="https://yes.nighty.works/raw/TLGaVa.png")
embed.set_footer(text=f'Last Edited by Meshal :D')
embed.set_author(
name="MeloNX", icon_url="https://yes.nighty.works/raw/TLGaVa.png"
)
embed.set_footer(text=f"Last Edited by Meshal :D")
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/requirements.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>"
))
view.add_item(
discord.ui.Button(
label="Edit Command",
style=discord.ButtonStyle.secondary,
url="https://github.com/neoarz/Syntrel/blob/main/cogs/melonx/requirements.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 requirements

View File

@@ -7,52 +7,58 @@ import time
def transfer_command():
@commands.hybrid_command(
name="transfer", description="How to transfer save files from other emulators or platforms"
name="transfer",
description="How to transfer save files from other emulators or platforms",
)
async def transfer(self, context):
embed = discord.Embed(
color=0x963155,
description=(
'# How do I transfer my save files from another emulator, my pc, or other platform?\n\n---\n\n' +
'### **Ryujinx Based**: \n' +
'1. Go too Ryujinx\'s main directory -> copy and and transfer the **"bis"** folder to your iDevice.\n' +
'2. Replace the **"bis"** folder in MeloNX with the one you transferred over.\n\n' +
'### **Yuzu Based**:\n' +
'1. Go to Yuzu\'s main directory and locate "**nand**" then go to -> users -> save\n' +
'2. Get the **title ID** of the game you want to transfer to by locating the game on MeloNX, hold down on it and press "Game Info" \n' +
'3. Then search the title ID within the **save** folder\n' +
'4. Open that folder labeled your title ID and copy of all of the contents to your iDevice\n' +
'5. Boot the game once in MeloNX so the save directories appear and is the latest created\n' +
'6. On your iDevice, go into files-> MeloNX -> bis -> user -> save\n' +
'7. In the save folder, there will be many folders named 0000001, 0000002, etc\n' +
'8. Sort by last modified or open each one too see the modified date/time of the files\n' +
'9. Once you\'ve found the newest one, inside will be two folders named 1 and 0, one will have a brand new save file inside.\n' +
'10. drop the contents copied from the title ID folder in Yuzu into that directory and press "replace" when prompted.\n' +
'11. Launch the game again in MeloNX to verify the transfer.'
)
"# How do I transfer my save files from another emulator, my pc, or other platform?\n\n---\n\n"
+ "### **Ryujinx Based**: \n"
+ '1. Go too Ryujinx\'s main directory -> copy and and transfer the **"bis"** folder to your iDevice.\n'
+ '2. Replace the **"bis"** folder in MeloNX with the one you transferred over.\n\n'
+ "### **Yuzu Based**:\n"
+ '1. Go to Yuzu\'s main directory and locate "**nand**" then go to -> users -> save\n'
+ '2. Get the **title ID** of the game you want to transfer to by locating the game on MeloNX, hold down on it and press "Game Info" \n'
+ "3. Then search the title ID within the **save** folder\n"
+ "4. Open that folder labeled your title ID and copy of all of the contents to your iDevice\n"
+ "5. Boot the game once in MeloNX so the save directories appear and is the latest created\n"
+ "6. On your iDevice, go into files-> MeloNX -> bis -> user -> save\n"
+ "7. In the save folder, there will be many folders named 0000001, 0000002, etc\n"
+ "8. Sort by last modified or open each one too see the modified date/time of the files\n"
+ "9. Once you've found the newest one, inside will be two folders named 1 and 0, one will have a brand new save file inside.\n"
+ '10. drop the contents copied from the title ID folder in Yuzu into that directory and press "replace" when prompted.\n'
+ "11. Launch the game again in MeloNX to verify the transfer."
),
)
embed.set_author(name="MeloNX", icon_url="https://yes.nighty.works/raw/TLGaVa.png")
embed.set_footer(text=f'Last Edited by Meshal :D')
embed.set_author(
name="MeloNX", icon_url="https://yes.nighty.works/raw/TLGaVa.png"
)
embed.set_footer(text=f"Last Edited by Meshal :D")
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/transfer.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>"
))
view.add_item(
discord.ui.Button(
label="Edit Command",
style=discord.ButtonStyle.secondary,
url="https://github.com/neoarz/Syntrel/blob/main/cogs/melonx/transfer.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 transfer