напиши слэш-команду /report {выбирает: отказано/принято} {тут сам пишет причина} и бот пишет если принято: Здравствуйте, уважаемый игрок! Игрок будет наказан. Закрыто, приятной игры! а если отказано то: Доброго времени суток, уважаемый игрок! Ваша жалоба не может быть рассмотрена по причине: {тут пишет то что указал человек в 3 пункте} и закрывает форум и блокирует, и ставит тэг {то что выбрал во втором если отказано то: отказано👎, если принято то: принято☝️} discord bot python СЛЭШ-КОМАНДУ
Для создания слэш-команды в Discord боте на Python, вам потребуется библиотека discord.py
и её расширение для слэш-команд discord-py-slash-command
. Убедитесь, что у вас установлены эти библиотеки:
pip install discord.py
pip install discord-py-slash-command
Вот пример кода для создания слэш-команды /report
:
import discord
from discord.ext import commands
from discord_slash import SlashCommand, SlashContext
from discord_slash.utils.manage_commands import create_option, create_choice
intents = discord.Intents.default()
bot = commands.Bot(command_prefix="!", intents=intents)
slash = SlashCommand(bot, sync_commands=True)
@slash.slash(
name="report",
description="Отправить жалобу",
options=[
create_option(
name="статус",
description="Выберите статус",
option_type=3,
required=True,
choices=[
create_choice(name="принято", value="принято"),
create_choice(name="отказано", value="отказано")
]
),
create_option(
name="причина",
description="Укажите причину",
option_type=3,
required=True
)
]
)
async def report(ctx: SlashContext, статус: str, причина: str):
if статус == "принято":
response = "Здравствуйте, уважаемый игрок! Игрок будет наказан. Закрыто, приятной игры!"
tag = "принято☝️"
else:
response = f"Доброго времени суток, уважаемый игрок!\nВаша жалоба не может быть рассмотрена по причине: {причина} и закрывает форум и блокирует."
tag = "отказано👎"
await ctx.send(response)
# Здесь вы можете добавить логику для закрытия форума и блокировки, если это необходимо
# Например, если у вас есть канал для жалоб, вы можете отправить туда сообщение с тегом
# report_channel = bot.get_channel(YOUR_REPORT_CHANNEL_ID)
# await report_channel.send(f"Жалоба {tag}")
bot.run("YOUR_BOT_TOKEN")
В этом коде:
discord.py
и discord-py-slash-command
./report
с двумя параметрами: статус
и причина
.статус
, бот отправляет соответствующее сообщение и добавляет тег.Не забудьте заменить "YOUR_BOT_TOKEN"
на токен вашего бота и, при необходимости, добавить логику для закрытия форума и блокировки.