我遇到的唯一问题是用户例如:按下创建票证按钮,它打开了一个频道,但他们看不到它,如果有人可以帮助我修复它,那将意味着很多!
import discord, asyncio, aiosqlite
from discord.ext import tasks, commands
import button_paginator as pg
from stuff import color
class createtickets(discord.ui.View):
def __init__(self):
super().__init__(timeout=None)
@discord.ui.button(label="Create ticket", emoji= f"<:x_ticket:1059195114574073876>", style=discord.ButtonStyle.gray, custom_id="persistent_view:createticket")
async def createticket(self, interaction: discord.Interaction, button: discord.ui.Button):
msg = await interaction.response.send_message("ticket is begin created", ephemeral=True)
overwrites = {
interaction.guild.default_role: discord.PermissionOverwrite(read_messages=False),
interaction.guild.me: discord.PermissionOverwrite(view_channel=True, read_messages=True),
interaction.guild.get_role(1088372312685957150): discord.PermissionOverwrite(read_messages=True),
}
channel = await interaction.guild.create_text_channel(f"{interaction.user.name} Tickets",overwrites=overwrites)
embed = discord.Embed(color=color.basic, title = f"<:x_ticket:1059195114574073876> Ticket Created", description = "Thank you for creating a ticket, staff will be right with you shortly.")
await channel.send(embed=embed, view=closetickets())
class closetickets(discord.ui.View):
def __init__(self):
super().__init__(timeout=None)
@discord.ui.button(label="Close ticket", style=discord.ButtonStyle.danger, custom_id="persistent_view:closeticket")
async def closeticket(self, interaction: discord.Interaction, button: discord.ui.Button):
await interaction.response.send_message("Ticket is being closed", ephemeral=True)
await interaction.channel.delete()
await interaction.user.send(f"Ticket deleted")
class tickets(commands.Cog):
def __init__(self, bot):
self.bot = bot
@commands.command()
async def tickets(self, ctx):
category = await ctx.guild.create_category("Lean tickets")
overwrite = {ctx.guild.default_role: discord.PermissionOverwrite(view_channel=True, send_messages=False)}
text = await ctx.guild.create_text_channel("tickets", category=category, overwrites=overwrite)
await text.send(view=createtickets())
e = discord.Embed(color=color.check, description=f"{ctx.author.mention}: Tickets are enabled")
await ctx.reply(embed=e, mention_author=False)
async def setup(bot):
await bot.add_cog(tickets(bot))