Задать вопрос
@DierLL

Как исправить такую команду бана?

В общем у меня проблема, сколько уже не думал над этим, ничего не получалось.
Может здесь помогут.

Собрал команду бана - не работает. Пробовал разные варианты. Может что-то забыл импортировать? Или написал команду не верно? Помогите.

import random
import discord
import time
import asyncio
import os
from discord import Webhook, RequestsWebhookAdapter
from asyncio import sleep
from discord.ext import commands
from discord.ext.commands import Bot
from discord import Embed
from discord.ext import commands, tasks

@bot.command()
@commands.has_permissions(ban_members=True)
async def ban(self, ctx, member: discord.Member):
    guild = ctx.guild
    author = ctx.message.author
    if author.guild_permissions.ban_members == False :
        embed4=discord.Embed(color=discord.Colour.red(), timestar=datetime.datetime.utcnow(), title="Нет прав!", description="У вас нет прав на использование этой команды!")
        message1 = await ctx.send(embed=embed4)
        sleeper=5
        await asyncio.sleep(sleeper)
        await message1.delete()
        return
    if member.guild_permissions.administrator and member != None:
        embed=discord.Embed(color=discord.Colour.red(), title="Администратор", description="Этот участник - Администратор. Вы не можете его забанить.")
        message2 = await ctx.send(embed=embed)
        sleeper=5
        await asyncio.sleep(sleeper)
        await message2.delete()
        return
    if reason == None:
        embed1=discord.Embed(color=discord.Colour.red(), title="Обязательна причина!", description="Вы должны ввести причину, прежде чем забаните этого участника.")
        message3 = await ctx.send(embed=embed1)
        sleeper=5
        await asyncio.sleep(sleeper)
        await message3.delet()
        return
    else:
        guild = ctx.guild
        await member.ban()
        embed2=discord.Embed(color=discord.Colour.green(), timestamp=datetime.datetime.utcnow(), title="Участник забанен.", descreption=f"Забанен: {member.mention} \n Модератор: **{author}** \n Причина: **{reason}**")
        embed3=discord.Embed(color=discord.Colour.green(), timestamp=datetime.datetime.utcnow(), title="Вы были забаненына  **{guild}**!", descreption=f"Забанен: {member.mention} \n Модератор: **{author.mention}** \n Причина: **{reason}**")
        message4 = await ctx.send(embed=embed2)
        message5 = await ctx.send("Участник был успешно оповещён.")
        await member.send(embed=embed3)

@bot.command()
@commands.has_permissions(administrator=True)
async def unban(ctx, *, member):
    banned_users = await ctx.guild.bans()
    await ctx.channel.purge(limit=0)

    for ban_entry in banned_users:
        user = ban_entry.user
        await ctx.guild.unban(user)
        emb = discord.Embed(color=344462)
        emb.add_field(name='✅ Разбан пользователя', value='Пользователь {} был разбанен.'.format(member))
        await ctx.send(embed = emb)
  • Вопрос задан
  • 150 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
mckruasan
@mckruasan
Junior Python, Html, CSS
Хмм.. Вижу только то, что команда "Description" написана неверно.
else:
        guild = ctx.guild
        await member.ban()
        embed2=discord.Embed(color=discord.Colour.green(), timestamp=datetime.datetime.utcnow(), title="Участник забанен.", description=f"Забанен: {member.mention} \n Модератор: **{author}** \n Причина: **{reason}**")
        embed3=discord.Embed(color=discord.Colour.green(), timestamp=datetime.datetime.utcnow(), title="Вы были забаненына  **{guild}**!", description=f"Забанен: {member.mention} \n Модератор: **{author.mention}** \n Причина: **{reason}**")
        message4 = await ctx.send(embed=embed2)
        message5 = await ctx.send("Участник был успешно оповещён.")
        await member.send(embed=embed3)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы