Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помощь с Python. Создание кода

Dan Play Ученик (88), открыт 2 недели назад
Всем привет прошу помощи ид ать мне код для Python discord бот библиотека Disnake. Вообщем у меня есть вот такой код для бана пользователей:

 @bot.command(usage="!ban <@user> <причина=необязательно>") 
@commands.has_permissions(ban_members=True, administrator=True)
async def ban(ctx, member: disnake.Member, *, reason="Нарушение правил"):
await ctx.send(f"Администратор {ctx.author.mention} забанил пользователя {member.mention}", delete_after=5)
await member.ban(reason=reason)
await ctx.message.delete()

Всё работает игрока банит, но мне нужно сделать так чтобы после бана игроку которого забанили написал бот сообщение в ЛС о том что "Вы были забанены! причина: *там будет писаться причина которую написал модер при команде !ban. То есть (!ban @testuser Оскорбления) и мне надо чтобы слово "оскорбление" появилось после причина. А если не написать причину то просто будет Нарушение правил. Дальше Модератор: тут будет ник игрока который написал команду !ban.

Фух надеюсь написал всё понятно. Буду рад каждому кто напишет для меня такой код. Всем добра и удачи! И заранее спасибо.
2 ответа
Шенол Гармаш Гуру (2812) 2 недели назад
 await ctx.author.send(f'Привет, бро!') 
Это делается через ctx.author .send, с переменными я надеюсь разберёшься?
Dan PlayУченик (88) 2 недели назад
Спасибо, с переменными попробую.
Рустам Абдрашитов Мыслитель (9542) 2 недели назад
на
 import disnake 
from disnake.ext import commands

bot = commands.Bot(command_prefix='!')

@bot.command(usage="!ban <@user> <причина=необязательно>")
@commands.has_permissions(ban_members=True)
async def ban(ctx, member: disnake.Member, *, reason="Нарушение правил"):
# Отправляем сообщение в канал о бане
await ctx.send(f"Администратор {ctx.author.mention} забанил пользователя {member.mention}", delete_after=5)

# Баним пользователя
await member.ban(reason=reason)

# Формируем сообщение для ЛС забаненного
dm_message = f"Вы были забанены! Причина: {reason}. Модератор: {ctx.author.name}"

try:
# Отправляем сообщение в ЛС
await member.send(dm_message)
except disnake.Forbidden:
# Если ЛС закрыты, игнорируем ошибку
print(f"Не удалось отправить ЛС пользователю {member.name}, возможно, у него закрыты ЛС.")

# Удаляем команду из чата
await ctx.message.delete()

# Запуск бота (не забудьте добавить свой токен)
bot.run('YOUR_BOT_TOKEN')
diatel.vudiЗнаток (251) 1 неделю назад
bot = commands.Bot(command_prefix = "#", help_command=None , intents=disnake.Intents.all())
diatel.vudiЗнаток (251) 1 неделю назад
Лучше так
Похожие вопросы