Skip to content

Instantly share code, notes, and snippets.

@Malarne
Created November 25, 2022 00:27
Show Gist options
  • Save Malarne/eb5efc67088c390a4468c7cf8c19bc3e to your computer and use it in GitHub Desktop.
Save Malarne/eb5efc67088c390a4468c7cf8c19bc3e to your computer and use it in GitHub Desktop.
import discord
from redbot.core import commands, checks
import random
class ArticlesButton(discord.ui.Button["Articles"]):
def __init__(self):
super().__init__(style=discord.ButtonStyle.secondary, label='Créer un article')
async def callback(self, interaction : discord.Interaction):
assert self.view is not None
view : discord.ui.View = self.view
original_msg = interaction.message
category = original_msg.channel.category
user = interaction.user
overwrites = {
user: discord.PermissionOverwrite(read_messages = True, send_messages= True, manage_channels = True),
interaction.guild.default_role: discord.PermissionOverwrite(read_messages = False)
}
channel = await category.create_text_channel(str(user.name) + str(random.randint(1,5000)), overwrites=overwrites)
embed = original_msg.embeds[0]
embed.add_field(name= "Article:", value=interaction.user.mention + "\n" + channel.mention, inline=False)
await interaction.response.edit_message(embed=embed, view=view)
class TicketButton(discord.ui.Button["Tickets"]):
def __init__(self):
super().__init__(style=discord.ButtonStyle.secondary, label='Ouvrir un ticket', custom_id="tickets")
async def callback(self, interaction : discord.Interaction):
assert self.view is not None
view : discord.ui.View = self.view
original_msg = interaction.message
category = discord.utils.get(interaction.guild.categories, id=1044997871998615552)
user = interaction.user
overwrites = {
user: discord.PermissionOverwrite(read_messages = True, send_messages= True),
interaction.guild.default_role: discord.PermissionOverwrite(read_messages = False)
}
channel = await category.create_text_channel(str(user.name) + str(random.randint(1,5000)), overwrites=overwrites)
await interaction.response.edit_message(view=view)
class RecrutButton(discord.ui.Button["Recrut"]):
def __init__(self):
super().__init__(style=discord.ButtonStyle.secondary, label='Postuler au Weazel', custom_id="recrut")
async def callback(self, interaction : discord.Interaction):
assert self.view is not None
view : discord.ui.View = self.view
category = discord.utils.get(interaction.guild.categories, id=1044997805271433266)
user = interaction.user
overwrites = {
user: discord.PermissionOverwrite(read_messages = True, send_messages= True),
interaction.guild.default_role: discord.PermissionOverwrite(read_messages = False)
}
channel = await category.create_text_channel(str(user.name) + str(random.randint(1,5000)), overwrites=overwrites)
await interaction.response.edit_message(view=view)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment