напиши код modals также для всех остальных пунктов. для сброса socialclub уже есть. должно спрашивать необходимые данные (какие - реши сам).

import json
import disnake
from disnake.enums import TextInputStyle
from disnake.ext import commands
from disnake.ui import Modal, TextInput, StringSelect, View, Button

with open("conf.json", "r") as f:
    config = json.load(f)
    token = config["token"]

intents = disnake.Intents.all()
activity = disnake.Activity(name="Техподдержка GTA5DM", type=disnake.ActivityType.playing)
bot = commands.Bot(command_prefix="!", intents=intents, activity=activity)

bot.remove_command('help')

ARCHIVE_CATEGORY_ID = 1274743909888819362


class ResetSocialModal(Modal):
    def __init__(self, bot):
        self.bot = bot
        components = [
            TextInput(
                label="Email, привязанный к аккаунту",
                placeholder="example@gta5dm.com",
                custom_id="email",
                max_length=32,
                required=True
            ),
            TextInput(
                label="Логин и Static ID",
                placeholder="Ваш логин, #1234 | SocialClub ID",
                custom_id="player_name",
                max_length=64,
                required=True
            ),
            TextInput(
                label="Страна и город",
                placeholder="Россия, Москва",
                custom_id="city",
                max_length=64,
                required=True
            ),
            TextInput(
                label="Скриншот с сайта 2ip.ru",
                placeholder="URL скриншота (например: https://imgur.com)",
                custom_id="screen",
                max_length=64,
                required=True
            ),
            TextInput(
                label="Причина сброса",
                placeholder="Опишите причину",
                custom_id="reason",
                style=TextInputStyle.paragraph
            )
        ]
        super().__init__(title="Форма сброса Social Club", components=components)

    async def callback(self, inter: disnake.ModalInteraction):
        guild = inter.guild
        channel = await guild.create_text_channel(name=f"ticket-{inter.author.display_name}")
        embed = disnake.Embed(
            title=f"Новый тикет от {inter.author.display_name}",
            color=disnake.Color.blue()
        )

        for key, value in inter.text_values.items():
            embed.add_field(name=key.capitalize(), value=value[:1024], inline=False)

        tech_support = disnake.utils.get(guild.roles, id=1249246792613363712)
        await channel.send(f"{inter.author.mention} {tech_support.mention}")
        await channel.send(embed=embed, view=TicketCloseView(channel))
        await inter.response.send_message(f"Тикет успешно создан: {channel.mention}!", ephemeral=True)


class TechButton(StringSelect):
    def __init__(self, bot):
        self.bot = bot
        options = [
            disnake.SelectOption(label="Сброс Social Club"),
            disnake.SelectOption(label="Смена E-mail"),
            disnake.SelectOption(label="Взлом аккаунта"),
            disnake.SelectOption(label="Проблема с донатом"),
            disnake.SelectOption(label="Другая проблема")
        ]
        super().__init__(placeholder="Выберите вашу проблему", min_values=1, max_values=1, options=options)

    async def callback(self, inter: disnake.MessageInteraction):
        if self.values[0] == "Сброс Social Club":
            await inter.response.send_modal(modal=ResetSocialModal(self.bot))


class TicketCloseView(View):
    def __init__(self, channel):
        super().__init__(timeout=None)
        self.channel = channel
        self.add_item(Button(label="Закрыть тикет", style=disnake.ButtonStyle.danger, custom_id="close_ticket"))

    @disnake.ui.button(label="Удалить тикет", style=disnake.ButtonStyle.danger, custom_id="delete_ticket")
    async def delete_ticket(self, button: disnake.ui.Button, inter: disnake.MessageInteraction):
        await inter.response.send_message("Тикет будет удален", ephemeral=True)
        await self.channel.delete()

    async def interaction_check(self, interaction: disnake.MessageInteraction) -> bool:
        return interaction.user.guild_permissions.manage_channels

    @disnake.ui.button(label="Архивировать тикет", style=disnake.ButtonStyle.success, custom_id="archive_ticket")
    async def archive_ticket(self, button: disnake.ui.Button, inter: disnake.MessageInteraction):
        category = disnake.utils.get(inter.guild.categories, id=ARCHIVE_CATEGORY_ID)
        if category:
            await self.channel.edit(category=category)
            await inter.response.send_message(f"Тикет перенесен в архив: {category.name}.", ephemeral=True)


class TechButtonSend(View):
    def __init__(self, bot):
        super().__init__(timeout=None)
        self.add_item(TechButton(bot))


@bot.slash_command(name="helpmsg")
async def helpmsg(ctx, channel1: disnake.abc.GuildChannel):
    embed = disnake.Embed(
        title="Поддержка GTA5DM",
        description="Выберите вашу проблему, и заполните форму для получения помощи.",
        color=disnake.Color.green()
    )
    await channel1.send(embed=embed, view=TechButtonSend(bot))
    await ctx.send(f"Сообщение успешно отправлено в {channel1.mention}.", ephemeral=True)


bot.run(token)