В общем у меня проблема, сколько уже не думал над этим, ничего не получалось.
Может здесь помогут.
Собрал команду бана - не работает. Пробовал разные варианты. Может что-то забыл импортировать? Или написал команду не верно? Помогите.
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)