mirror of
https://github.com/neoarz/Syntrel.git
synced 2025-12-25 11:40:12 +01:00
Botinfo now sends ephemeral responses for interactions. Invite command generates invite links dynamically using environment permissions and adds an author icon. Ping command embeds now include an author icon for consistency.
50 lines
1.6 KiB
Python
50 lines
1.6 KiB
Python
"""
|
|
Copyright © Krypton 2019-Present - https://github.com/kkrypt0nn (https://krypton.ninja)
|
|
Description:
|
|
🐍 A simple template to start to code your own and personalized Discord bot in Python
|
|
|
|
Version: 6.4.0
|
|
"""
|
|
|
|
import os
|
|
import discord
|
|
from discord.ext import commands
|
|
from discord.ext.commands import Context
|
|
|
|
|
|
class Invite(commands.Cog, name="invite"):
|
|
def __init__(self, bot) -> None:
|
|
self.bot = bot
|
|
|
|
@commands.hybrid_command(
|
|
name="invite",
|
|
description="Get the invite link of the bot to be able to invite it.",
|
|
)
|
|
async def invite(self, context: Context) -> None:
|
|
"""
|
|
Get the invite link of the bot to be able to invite it.
|
|
|
|
:param context: The hybrid command context.
|
|
"""
|
|
client = self.bot.user
|
|
if client is None:
|
|
await context.send("Bot is not ready. Try again shortly.")
|
|
return
|
|
permissions = os.getenv("INVITE_PERMISSIONS", "0")
|
|
invite_url = (
|
|
f"https://discord.com/api/oauth2/authorize?client_id={client.id}"
|
|
f"&scope=bot%20applications.commands&permissions={permissions}"
|
|
)
|
|
embed = discord.Embed(description=f"Invite me by clicking [here]({invite_url}).", color=0x7289DA)
|
|
embed.set_author(name="Invite Me", icon_url="https://yes.nighty.works/raw/y5SEZ9.webp")
|
|
|
|
try:
|
|
await context.author.send(embed=embed)
|
|
await context.send("I sent you a private message!")
|
|
except discord.Forbidden:
|
|
await context.send(embed=embed)
|
|
|
|
|
|
async def setup(bot) -> None:
|
|
await bot.add_cog(Invite(bot))
|