ryuko-ng/cogs/links.py

100 lines
3.7 KiB
Python
Raw Normal View History

import discord
import config
from discord.ext import commands
from discord.ext.commands import Cog
2019-06-03 22:14:19 +00:00
class Links(Cog):
"""
Commands for easily linking to projects.
"""
def __init__(self, bot):
self.bot = bot
@commands.command(hidden=True)
async def pegaswitch(self, ctx):
2018-12-23 19:06:32 +00:00
"""Link to the Pegaswitch repo"""
await ctx.send("https://github.com/reswitched/pegaswitch")
2018-12-23 19:06:32 +00:00
@commands.command(hidden=True, aliases=["atmos"])
2018-12-23 22:11:01 +00:00
async def atmosphere(self, ctx):
2018-12-23 19:06:32 +00:00
"""Link to the Atmosphere repo"""
await ctx.send("https://github.com/atmosphere-nx/atmosphere")
2018-12-23 22:11:01 +00:00
2019-01-05 20:27:47 +00:00
@commands.command(hidden=True, aliases=["xyproblem"])
async def xy(self, ctx):
"""Link to the "What is the XY problem?" post from SE"""
await ctx.send(
"<https://meta.stackexchange.com/q/66377/285481>\n\n"
"TL;DR: It's asking about your attempted solution "
"rather than your actual problem.\n"
"It's perfectly okay to want to learn about a "
"solution, but please be clear about your intentions "
"if you're not actually trying to solve a problem."
)
2019-01-05 20:27:47 +00:00
2019-01-08 08:30:25 +00:00
@commands.command(hidden=True, aliases=["guides", "link"])
2018-12-23 19:06:32 +00:00
async def guide(self, ctx):
"""Link to the guide(s)"""
await ctx.send(
"**Generic starter guides:**\n"
"Nintendo Homebrew's Guide: "
"<https://nh-server.github.io/switch-guide/>\n"
# "AtlasNX's Guide: "
# "<https://switch.homebrew.guide>\n"
# "Pegaswitch Guide: <https://switch.hacks.guide/> "
# "(outdated for anything but Pegaswitch/3.0.0)\n"
"\n**Specific guides:**\n"
"Manually Updating/Downgrading (with HOS): "
"<https://switch.homebrew.guide/usingcfw/manualupgrade>\n"
"Manually Repairing/Downgrading (without HOS): "
"<https://switch.homebrew.guide/usingcfw/manualchoiupgrade>\n"
"How to set up a Homebrew development environment: "
"<https://devkitpro.org/wiki/Getting_Started>\n"
"Getting full RAM in homebrew without NSPs: "
"as of Atmosphere 0.8.6, hold R while opening any game.\n"
"Check if a switch is vulnerable to RCM through serial: "
"<https://akdm.github.io/ssnc/checker/>"
)
2018-12-23 22:11:01 +00:00
@commands.command()
async def source(self, ctx):
"""Gives link to source code."""
await ctx.send(
f"You can find my source at {config.source_url}. "
"Serious PRs and issues welcome!"
)
@commands.command()
async def rules(self, ctx, *, targetuser: discord.Member = None):
"""Post a link to the Rules"""
if not targetuser:
targetuser = ctx.author
await ctx.send(
f"{targetuser.mention}: A link to the rules "
f"can be found here: {config.rules_url}"
)
@commands.command()
async def community(self, ctx, *, targetuser: discord.Member = None):
"""Post a link to the community section of the rules"""
if not targetuser:
targetuser = ctx.author
await ctx.send(
f"{targetuser.mention}: "
"https://reswitched.team/discord/#member-roles-breakdown"
"\n\n"
"Community role allows access to the set of channels "
"on the community category (#off-topic, "
"#homebrew-development, #switch-hacking-general etc)."
"\n\n"
"What you need to get the role is to be around, "
"be helpful and nice to people and "
"show an understanding of rules."
)
def setup(bot):
bot.add_cog(Links(bot))