mirror of
https://github.com/neoarz/Syntrel.git
synced 2025-12-25 11:40:12 +01:00
Merge pull request #2 from neoarz/sidestore-commands
This commit is contained in:
@@ -13,7 +13,7 @@ class Help(commands.Cog, name="help"):
|
|||||||
interaction: discord.Interaction,
|
interaction: discord.Interaction,
|
||||||
current: str,
|
current: str,
|
||||||
) -> list[app_commands.Choice[str]]:
|
) -> list[app_commands.Choice[str]]:
|
||||||
categories = ["general", "fun", "moderation", "template", "owner"]
|
categories = ["general", "fun", "moderation", "template", "owner", "sidestore"]
|
||||||
|
|
||||||
suggestions = []
|
suggestions = []
|
||||||
for category in categories:
|
for category in categories:
|
||||||
@@ -56,6 +56,15 @@ class Help(commands.Cog, name="help"):
|
|||||||
"warnings": "moderation",
|
"warnings": "moderation",
|
||||||
"archive": "moderation",
|
"archive": "moderation",
|
||||||
|
|
||||||
|
"sidestore": "sidestore",
|
||||||
|
"refresh": "sidestore",
|
||||||
|
"code": "sidestore",
|
||||||
|
"crash": "sidestore",
|
||||||
|
"pairing": "sidestore",
|
||||||
|
"server": "sidestore",
|
||||||
|
"half": "sidestore",
|
||||||
|
"sparse": "sidestore",
|
||||||
|
|
||||||
"sync": "owner",
|
"sync": "owner",
|
||||||
"cog_management": "owner",
|
"cog_management": "owner",
|
||||||
"shutdown": "owner",
|
"shutdown": "owner",
|
||||||
@@ -68,7 +77,8 @@ class Help(commands.Cog, name="help"):
|
|||||||
"fun": "Funny commands",
|
"fun": "Funny commands",
|
||||||
"moderation": "Administration commands",
|
"moderation": "Administration commands",
|
||||||
"template": "Template commands",
|
"template": "Template commands",
|
||||||
"owner": "Owner commands"
|
"owner": "Owner commands",
|
||||||
|
"sidestore": "SideStore troubleshooting commands"
|
||||||
}
|
}
|
||||||
|
|
||||||
if category is None:
|
if category is None:
|
||||||
|
|||||||
3
cogs/idevice/idevice.py
Normal file
3
cogs/idevice/idevice.py
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
async def setup(bot) -> None:
|
||||||
|
pass
|
||||||
|
|
||||||
63
cogs/sidestore/code.py
Normal file
63
cogs/sidestore/code.py
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
import discord
|
||||||
|
from discord import app_commands
|
||||||
|
from discord.ext import commands
|
||||||
|
from discord.ext.commands import Context
|
||||||
|
import time
|
||||||
|
|
||||||
|
|
||||||
|
class Code(commands.Cog, name="code"):
|
||||||
|
def __init__(self, bot) -> None:
|
||||||
|
self.bot = bot
|
||||||
|
|
||||||
|
@commands.hybrid_command(
|
||||||
|
name="code", description="No code received when signing in with Apple ID"
|
||||||
|
)
|
||||||
|
async def code(self, context: Context) -> None:
|
||||||
|
embed = discord.Embed(
|
||||||
|
color=0x8e82f9,
|
||||||
|
description=(
|
||||||
|
'## Verification Code Not Received When Signing In with Apple ID\n\n---\n\n' +
|
||||||
|
|
||||||
|
'1. **For iOS versions below 18.1:**\n' +
|
||||||
|
' - Open the "Settings" app\n' +
|
||||||
|
' - Tap on your name at the top of the screen\n' +
|
||||||
|
' - Navigate to "Sign-In and Security"\n' +
|
||||||
|
' - Select "Two-Factor Authentication"\n' +
|
||||||
|
' - Choose "Get Verification Code"\n\n' +
|
||||||
|
'2. **For iOS versions 18.1 and above:**\n' +
|
||||||
|
' - Visit [iCloud](https://www.icloud.com) on a web browser\n' +
|
||||||
|
' - Click "Sign In"\n' +
|
||||||
|
' - When prompted, you will see two options: "Sign In" and "Use Different Apple Account"\n' +
|
||||||
|
' - Select the bottom option, "Use Different Apple Account"\n' +
|
||||||
|
' - Enter your Apple ID and password\n' +
|
||||||
|
' - Apple will send you a verification code\n' +
|
||||||
|
' - Use this code in Sidestore to complete the sign-in process\n'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
embed.set_author(name="SideStore", icon_url="https://github.com/SideStore/assets/blob/main/icons/classic/Default.png?raw=true")
|
||||||
|
embed.set_footer(text=f'Last Edited by neoarz')
|
||||||
|
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/sidestore/code.py",
|
||||||
|
emoji="<:githubicon:1417717356846776340>"
|
||||||
|
))
|
||||||
|
view.add_item(discord.ui.Button(
|
||||||
|
label="Documentation",
|
||||||
|
style=discord.ButtonStyle.primary,
|
||||||
|
url="https://docs.sidestore.io/docs/troubleshooting/#sign-in-issues",
|
||||||
|
emoji="<:sidestorepride:1417717648795631787>"
|
||||||
|
))
|
||||||
|
|
||||||
|
|
||||||
|
if context.interaction:
|
||||||
|
await context.interaction.response.send_message(embed=embed, view=view)
|
||||||
|
else:
|
||||||
|
await context.send(embed=embed, view=view)
|
||||||
|
|
||||||
|
|
||||||
|
async def setup(bot) -> None:
|
||||||
|
await bot.add_cog(Code(bot))
|
||||||
47
cogs/sidestore/crash.py
Normal file
47
cogs/sidestore/crash.py
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
import discord
|
||||||
|
from discord import app_commands
|
||||||
|
from discord.ext import commands
|
||||||
|
from discord.ext.commands import Context
|
||||||
|
import time
|
||||||
|
|
||||||
|
|
||||||
|
class Crash(commands.Cog, name="crash"):
|
||||||
|
def __init__(self, bot) -> None:
|
||||||
|
self.bot = bot
|
||||||
|
|
||||||
|
@commands.hybrid_command(
|
||||||
|
name="crash", description="Help with SideStore crashing issues"
|
||||||
|
)
|
||||||
|
async def crash(self, context: Context) -> None:
|
||||||
|
embed = discord.Embed(
|
||||||
|
color=0x8e82f9,
|
||||||
|
description=(
|
||||||
|
'# Sidestore Crashing After Refresh\n\n---\n\n' +
|
||||||
|
'1. Delete your current SideStore.\n' +
|
||||||
|
'2. Reinstall with AltServer.\n' +
|
||||||
|
'3. Select the pairing file and sign into SideStore.\n' +
|
||||||
|
'4. Download the SideStore .ipa file, and save it to your Files app.\n' +
|
||||||
|
'5. Import the "Sidestore.ipa" file into SideStore, just like how you import any other IPA.\n\n' +
|
||||||
|
'This process ensures SideStore is refreshed without issues.'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
embed.set_author(name="SideStore", icon_url="https://github.com/SideStore/assets/blob/main/icons/classic/Default.png?raw=true")
|
||||||
|
embed.set_footer(text=f'Last Edited by neoarz')
|
||||||
|
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/neos-helper-bot/blob/main/cogs/sidestore/crash.py",
|
||||||
|
emoji="<:githubicon:1417717356846776340>"
|
||||||
|
))
|
||||||
|
|
||||||
|
if context.interaction:
|
||||||
|
await context.interaction.response.send_message(embed=embed, view=view)
|
||||||
|
else:
|
||||||
|
await context.send(embed=embed, view=view)
|
||||||
|
|
||||||
|
|
||||||
|
async def setup(bot) -> None:
|
||||||
|
await bot.add_cog(Crash(bot))
|
||||||
62
cogs/sidestore/half.py
Normal file
62
cogs/sidestore/half.py
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
import discord
|
||||||
|
from discord import app_commands
|
||||||
|
from discord.ext import commands
|
||||||
|
from discord.ext.commands import Context
|
||||||
|
import time
|
||||||
|
|
||||||
|
|
||||||
|
class Half(commands.Cog, name="half"):
|
||||||
|
def __init__(self, bot) -> None:
|
||||||
|
self.bot = bot
|
||||||
|
|
||||||
|
@commands.hybrid_command(
|
||||||
|
name="half", description="Help when apps get stuck installing"
|
||||||
|
)
|
||||||
|
async def half(self, context: Context) -> None:
|
||||||
|
embed = discord.Embed(
|
||||||
|
color=0x8e82f9,
|
||||||
|
description=(
|
||||||
|
'# Sidestore/IPAs Stuck Halfway Through Installing or Refreshing\n\n---\n' +
|
||||||
|
'### Method 1: Basic Troubleshooting\n\n' +
|
||||||
|
'- Restart SideStore\n' +
|
||||||
|
'- Restart device\n' +
|
||||||
|
'- Clear Cache\n' +
|
||||||
|
'- Change Anisette Server\n' +
|
||||||
|
'- Reset adi.pb\n' +
|
||||||
|
'- Sign out from SideStore and sign back in\n' +
|
||||||
|
'- Regenerate pairing file\n' +
|
||||||
|
'- Reinstall SideStore\n\n' +
|
||||||
|
'### Method 2: If Method 1 Doesn\'t Work\n\n' +
|
||||||
|
'1. Delete Sidestore\n' +
|
||||||
|
'2. Reinstall SideStore using the guide at https://docs.sidestore.io/\n' +
|
||||||
|
'3. **Do not use the IPA provided by the website**, instead use this older version: [Sidestore 0.5.9 download](https://github.com/SideStore/SideStore/releases/download/0.5.9/SideStore.ipa)\n' +
|
||||||
|
'4. Setup SideStore and StosVPN as usual\n' +
|
||||||
|
'> -# Step 3 is the important one (make sure to do that)\n'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
embed.set_author(name="SideStore", icon_url="https://github.com/SideStore/assets/blob/main/icons/classic/Default.png?raw=true")
|
||||||
|
embed.set_footer(text=f'Last Edited by neoarz')
|
||||||
|
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/neos-helper-bot/blob/main/cogs/sidestore/half.py",
|
||||||
|
emoji="<:githubicon:1417717356846776340>"
|
||||||
|
))
|
||||||
|
view.add_item(discord.ui.Button(
|
||||||
|
label="Documentation",
|
||||||
|
style=discord.ButtonStyle.primary,
|
||||||
|
url="https://docs.sidestore.io/docs/troubleshooting/common-issues#sidestore-hangs-halfway-through-installation",
|
||||||
|
emoji="<:sidestorepride:1417717648795631787>"
|
||||||
|
))
|
||||||
|
|
||||||
|
if context.interaction:
|
||||||
|
await context.interaction.response.send_message(embed=embed, view=view)
|
||||||
|
else:
|
||||||
|
await context.send(embed=embed, view=view)
|
||||||
|
|
||||||
|
|
||||||
|
async def setup(bot) -> None:
|
||||||
|
await bot.add_cog(Half(bot))
|
||||||
61
cogs/sidestore/pairing.py
Normal file
61
cogs/sidestore/pairing.py
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
import discord
|
||||||
|
from discord import app_commands
|
||||||
|
from discord.ext import commands
|
||||||
|
from discord.ext.commands import Context
|
||||||
|
import time
|
||||||
|
|
||||||
|
|
||||||
|
class Pairing(commands.Cog, name="pairing"):
|
||||||
|
def __init__(self, bot) -> None:
|
||||||
|
self.bot = bot
|
||||||
|
|
||||||
|
@commands.hybrid_command(
|
||||||
|
name="pairing", description="Help with pairing file issues"
|
||||||
|
)
|
||||||
|
async def pairing(self, context: Context) -> None:
|
||||||
|
embed = discord.Embed(
|
||||||
|
color=0x8e82f9,
|
||||||
|
description=(
|
||||||
|
'# Cannot Choose Pairing File\n\n---\n\n' +
|
||||||
|
'1. **Check File Extension:**\n' +
|
||||||
|
" Make sure your pairing file's extension ends with `.mobiledevicepairing` or `.plist`\n" +
|
||||||
|
' - If it doesn\'t, double-check to see if you had zipped your pairing file before sending it to your phone. Failing to do so may lead to the file being corrupted during transport\n\n' +
|
||||||
|
'2. **Move Pairing File:**\n' +
|
||||||
|
' If you are unable to select the pairing file from within the app:\n' +
|
||||||
|
' - Rename the file to `ALTPairingFile.mobiledevicepairing`\n' +
|
||||||
|
' - Try moving the pairing file to the root directory of the SideStore folder in the Files app under "On My iPhone/iPad"\n\n' +
|
||||||
|
'3. **Certificate Signing:**\n' +
|
||||||
|
" When signing Sidestore with certain certificates, you won't be able to select the pairing file from within the app\n" +
|
||||||
|
' - Try the fix mentioned above\n' +
|
||||||
|
' - If you do not see the Sidestore folder in the Files app:\n' +
|
||||||
|
' • Connect your phone to your computer\n' +
|
||||||
|
' • Drag and drop the pairing file into the Sidestore app\'s files section\n' +
|
||||||
|
' • Ensure the file is renamed to `ALTPairingFile.mobiledevicepairing`\n'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
embed.set_author(name="SideStore", icon_url="https://github.com/SideStore/assets/blob/main/icons/classic/Default.png?raw=true")
|
||||||
|
embed.set_footer(text=f'Last Edited by neoarz')
|
||||||
|
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/sidestore/pairing.py",
|
||||||
|
emoji="<:githubicon:1417717356846776340>"
|
||||||
|
))
|
||||||
|
view.add_item(discord.ui.Button(
|
||||||
|
label="Documentation",
|
||||||
|
style=discord.ButtonStyle.primary,
|
||||||
|
url="https://docs.sidestore.io/docs/troubleshooting/#cannot-choose-pairing-file",
|
||||||
|
emoji="<:sidestorepride:1417717648795631787>"
|
||||||
|
))
|
||||||
|
|
||||||
|
if context.interaction:
|
||||||
|
await context.interaction.response.send_message(embed=embed, view=view)
|
||||||
|
else:
|
||||||
|
await context.send(embed=embed, view=view)
|
||||||
|
|
||||||
|
|
||||||
|
async def setup(bot) -> None:
|
||||||
|
await bot.add_cog(Pairing(bot))
|
||||||
53
cogs/sidestore/refresh.py
Normal file
53
cogs/sidestore/refresh.py
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
import discord
|
||||||
|
from discord import app_commands
|
||||||
|
from discord.ext import commands
|
||||||
|
from discord.ext.commands import Context
|
||||||
|
import time
|
||||||
|
|
||||||
|
|
||||||
|
class Refresh(commands.Cog, name="refresh"):
|
||||||
|
def __init__(self, bot) -> None:
|
||||||
|
self.bot = bot
|
||||||
|
|
||||||
|
@commands.hybrid_command(
|
||||||
|
name="refresh", description="Help with refreshing or installing apps"
|
||||||
|
)
|
||||||
|
async def refresh(self, context: Context) -> None:
|
||||||
|
embed = discord.Embed(
|
||||||
|
color=0x8e82f9,
|
||||||
|
description=(
|
||||||
|
'# Can\'t Refresh or Install Apps\n\n---\n\n' +
|
||||||
|
'1. Make sure your device is connected to a stable Wi-Fi network and not using cellular data.\n' +
|
||||||
|
'2. Verify VPN is connected in the StosVPN app.\n' +
|
||||||
|
'3. Turn off, then turn back on StosVPN, and wait a few seconds in Sidestore before trying to refresh.\n' +
|
||||||
|
'4. **Create a brand new pairing file.**\n' +
|
||||||
|
' - If none of the above worked, it is very likely that the pairing file is corrupted. You can reference the documentation on how to create a new pairing file [here](https://docs.sidestore.io/docs/troubleshooting/#cant-refresh-or-install-apps).\n' +
|
||||||
|
' - After creating a new pairing file, go to Sidestore settings and press "Reset pairing file," then choose the new pairing file you just created.\n'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
embed.set_author(name="SideStore", icon_url="https://github.com/SideStore/assets/blob/main/icons/classic/Default.png?raw=true")
|
||||||
|
embed.set_footer(text=f'Last Edited by neoarz')
|
||||||
|
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/sidestore/refresh.py",
|
||||||
|
emoji="<:githubicon:1417717356846776340>"
|
||||||
|
))
|
||||||
|
view.add_item(discord.ui.Button(
|
||||||
|
label="Documentation",
|
||||||
|
style=discord.ButtonStyle.primary,
|
||||||
|
url="https://docs.sidestore.io/docs/troubleshooting/#cant-refresh-or-install-apps",
|
||||||
|
emoji="<:sidestorepride:1417717648795631787>"
|
||||||
|
))
|
||||||
|
|
||||||
|
if context.interaction:
|
||||||
|
await context.interaction.response.send_message(embed=embed, view=view)
|
||||||
|
else:
|
||||||
|
await context.send(embed=embed, view=view)
|
||||||
|
|
||||||
|
|
||||||
|
async def setup(bot) -> None:
|
||||||
|
await bot.add_cog(Refresh(bot))
|
||||||
55
cogs/sidestore/server.py
Normal file
55
cogs/sidestore/server.py
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
import discord
|
||||||
|
from discord import app_commands
|
||||||
|
from discord.ext import commands
|
||||||
|
from discord.ext.commands import Context
|
||||||
|
import time
|
||||||
|
|
||||||
|
|
||||||
|
class Server(commands.Cog, name="server"):
|
||||||
|
def __init__(self, bot) -> None:
|
||||||
|
self.bot = bot
|
||||||
|
|
||||||
|
@commands.hybrid_command(
|
||||||
|
name="server", description="Help with anisette server issues"
|
||||||
|
)
|
||||||
|
async def server(self, context: Context) -> None:
|
||||||
|
embed = discord.Embed(
|
||||||
|
color=0x8e82f9,
|
||||||
|
description=(
|
||||||
|
'# Sidestore Freezing or Displaying an Error Code During Sign-In\n\n---\n\n' +
|
||||||
|
'1. **Change the Anisette Server:**\n' +
|
||||||
|
' The most common solution is to switch to a different Anisette server. Do this:\n' +
|
||||||
|
' - Open Sidestore settings\n' +
|
||||||
|
' - Scroll down to the "Anisette Server" option\n' +
|
||||||
|
' - Select a different server from the list\n' +
|
||||||
|
' - You might need to try a few servers from the list and find which works best for you\n\n' +
|
||||||
|
'2. **Host Your Own Anisette Server:**\n' +
|
||||||
|
' If you prefer, you can set up your own Anisette server. Detailed instructions for hosting an Anisette server are available in the official documentation and can be found [here](https://docs.sidestore.io/docs/advanced/anisette).\n\n'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
embed.set_author(name="SideStore", icon_url="https://github.com/SideStore/assets/blob/main/icons/classic/Default.png?raw=true")
|
||||||
|
embed.set_footer(text=f'Last Edited by neoarz')
|
||||||
|
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/sidestore/server.py",
|
||||||
|
emoji="<:githubicon:1417717356846776340>"
|
||||||
|
))
|
||||||
|
view.add_item(discord.ui.Button(
|
||||||
|
label="Documentation",
|
||||||
|
style=discord.ButtonStyle.primary,
|
||||||
|
url="https://docs.sidestore.io/docs/troubleshooting/#sidestore-freezing-or-displaying-an-error-code-during-sign-in",
|
||||||
|
emoji="<:sidestorepride:1417717648795631787>"
|
||||||
|
))
|
||||||
|
|
||||||
|
if context.interaction:
|
||||||
|
await context.interaction.response.send_message(embed=embed, view=view)
|
||||||
|
else:
|
||||||
|
await context.send(embed=embed, view=view)
|
||||||
|
|
||||||
|
|
||||||
|
async def setup(bot) -> None:
|
||||||
|
await bot.add_cog(Server(bot))
|
||||||
105
cogs/sidestore/sidestore.py
Normal file
105
cogs/sidestore/sidestore.py
Normal file
@@ -0,0 +1,105 @@
|
|||||||
|
import discord
|
||||||
|
from discord import app_commands
|
||||||
|
from discord.ext import commands
|
||||||
|
from discord.ext.commands import Context
|
||||||
|
import time
|
||||||
|
|
||||||
|
|
||||||
|
class SidestoreSelect(discord.ui.Select):
|
||||||
|
def __init__(self, bot):
|
||||||
|
self.bot = bot
|
||||||
|
options = [
|
||||||
|
discord.SelectOption(
|
||||||
|
label="Refresh Issues",
|
||||||
|
value="refresh",
|
||||||
|
description="Help with refreshing or installing apps",
|
||||||
|
),
|
||||||
|
discord.SelectOption(
|
||||||
|
label="Verification Code",
|
||||||
|
value="code",
|
||||||
|
description="No code received when signing in with Apple ID",
|
||||||
|
),
|
||||||
|
discord.SelectOption(
|
||||||
|
label="App Crashes",
|
||||||
|
value="crash",
|
||||||
|
description="Help with SideStore crashing issues",
|
||||||
|
),
|
||||||
|
discord.SelectOption(
|
||||||
|
label="Pairing File",
|
||||||
|
value="pairing",
|
||||||
|
description="Help with pairing file issues",
|
||||||
|
),
|
||||||
|
discord.SelectOption(
|
||||||
|
label="Anisette Server",
|
||||||
|
value="server",
|
||||||
|
description="Help with anisette server issues",
|
||||||
|
),
|
||||||
|
discord.SelectOption(
|
||||||
|
label="Apps Stuck Halfway",
|
||||||
|
value="half",
|
||||||
|
description="Help when apps get stuck installing",
|
||||||
|
),
|
||||||
|
discord.SelectOption(
|
||||||
|
label="SparseRestore",
|
||||||
|
value="sparse",
|
||||||
|
description="Information about SparseRestore exploit",
|
||||||
|
)
|
||||||
|
]
|
||||||
|
super().__init__(placeholder="Choose a SideStore command...", options=options)
|
||||||
|
|
||||||
|
async def callback(self, interaction: discord.Interaction):
|
||||||
|
command_name = self.values[0]
|
||||||
|
command = self.bot.get_command(command_name)
|
||||||
|
|
||||||
|
if command:
|
||||||
|
ctx = await self.bot.get_context(interaction.message)
|
||||||
|
if ctx:
|
||||||
|
await ctx.invoke(command)
|
||||||
|
embed = discord.Embed(
|
||||||
|
title="Command Executed",
|
||||||
|
description=f"Successfully executed `/{command_name}`",
|
||||||
|
color=0x00FF00
|
||||||
|
)
|
||||||
|
embed.set_author(name="SideStore", icon_url="https://github.com/SideStore/assets/blob/main/icons/classic/Default.png?raw=true")
|
||||||
|
await interaction.response.edit_message(embed=embed, view=None)
|
||||||
|
else:
|
||||||
|
embed = discord.Embed(
|
||||||
|
title="Error",
|
||||||
|
description="Command not found!",
|
||||||
|
color=0xFF0000
|
||||||
|
)
|
||||||
|
embed.set_author(name="SideStore", icon_url="https://github.com/SideStore/assets/blob/main/icons/classic/Default.png?raw=true")
|
||||||
|
await interaction.response.edit_message(embed=embed, view=None)
|
||||||
|
|
||||||
|
|
||||||
|
class SidestoreView(discord.ui.View):
|
||||||
|
def __init__(self, bot):
|
||||||
|
super().__init__()
|
||||||
|
self.add_item(SidestoreSelect(bot))
|
||||||
|
|
||||||
|
|
||||||
|
class Sidestore(commands.Cog, name="sidestore"):
|
||||||
|
def __init__(self, bot) -> None:
|
||||||
|
self.bot = bot
|
||||||
|
|
||||||
|
@commands.hybrid_command(
|
||||||
|
name="sidestore", description="SideStore troubleshooting and help"
|
||||||
|
)
|
||||||
|
async def sidestore(self, context: Context) -> None:
|
||||||
|
embed = discord.Embed(
|
||||||
|
title="SideStore Commands",
|
||||||
|
description="Choose a command from the dropdown below to get help with specific issues:",
|
||||||
|
color=0x8e82f9
|
||||||
|
)
|
||||||
|
embed.set_author(name="SideStore", icon_url="https://github.com/SideStore/assets/blob/main/icons/classic/Default.png?raw=true")
|
||||||
|
|
||||||
|
view = SidestoreView(self.bot)
|
||||||
|
|
||||||
|
if context.interaction:
|
||||||
|
await context.interaction.response.send_message(embed=embed, view=view, ephemeral=True)
|
||||||
|
else:
|
||||||
|
await context.send(embed=embed, view=view)
|
||||||
|
|
||||||
|
|
||||||
|
async def setup(bot) -> None:
|
||||||
|
await bot.add_cog(Sidestore(bot))
|
||||||
50
cogs/sidestore/sparse.py
Normal file
50
cogs/sidestore/sparse.py
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
import discord
|
||||||
|
from discord import app_commands
|
||||||
|
from discord.ext import commands
|
||||||
|
from discord.ext.commands import Context
|
||||||
|
import time
|
||||||
|
|
||||||
|
|
||||||
|
class Sparse(commands.Cog, name="sparse"):
|
||||||
|
def __init__(self, bot) -> None:
|
||||||
|
self.bot = bot
|
||||||
|
|
||||||
|
@commands.hybrid_command(
|
||||||
|
name="sparse", description="Information about SparseRestore exploit"
|
||||||
|
)
|
||||||
|
async def sparse(self, context: Context) -> None:
|
||||||
|
embed = discord.Embed(
|
||||||
|
color=0x8e82f9,
|
||||||
|
description=(
|
||||||
|
'# SparseRestore "Bypass 3 App Limit" Exploit\n\n---\n\n' +
|
||||||
|
'The SparseRestore exploit allows you to bypass the 3-app sideloading limit. It is compatible with iOS/iPadOS versions **15.2 to 18.1 beta 4**, (not including **17.7.1** and **17.7.2**).\n\n' +
|
||||||
|
'iOS/iPadOS versions **17.0** (not including **16.7** and **16.7.10**) are recommended to use [Trollstore](https://ios.cfw.guide/installing-trollstore/)\n\n' +
|
||||||
|
'If you\'re on a supported version and want to sideload more than three apps, follow the detailed instructions found in our documentation'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
embed.set_author(name="SideStore", icon_url="https://github.com/SideStore/assets/blob/main/icons/classic/Default.png?raw=true")
|
||||||
|
embed.set_footer(text=f'Last Edited by neoarz')
|
||||||
|
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/sidestore/sparse.py",
|
||||||
|
emoji="<:githubicon:1417717356846776340>"
|
||||||
|
))
|
||||||
|
view.add_item(discord.ui.Button(
|
||||||
|
label="Documentation",
|
||||||
|
style=discord.ButtonStyle.primary,
|
||||||
|
url="https://docs.sidestore.io/docs/advanced/sparserestore",
|
||||||
|
emoji="<:sidestorepride:1417717648795631787>"
|
||||||
|
))
|
||||||
|
|
||||||
|
if context.interaction:
|
||||||
|
await context.interaction.response.send_message(embed=embed, view=view)
|
||||||
|
else:
|
||||||
|
await context.send(embed=embed, view=view)
|
||||||
|
|
||||||
|
|
||||||
|
async def setup(bot) -> None:
|
||||||
|
await bot.add_cog(Sparse(bot))
|
||||||
Reference in New Issue
Block a user