@bot.event
async def on_message(message):
channel = bot.get_channel(881231251451838517)
def check1(reaction, user):
return user == message.author and str(reaction.emoji) == '✅'
try:
await bot.wait_for("reaction_add", timeout=60.0, check=check1)
except asyncio.TimeoutError:
pass
else:
# @__create.error
# async def __create_error(ctx, error):
# if isinstance(error, MissingRequiredArgument):
# emb = discord.Embed(title = "Ошибка", description = "Произошла ошибка, ознакомьтесь с причинами ниже: \n\n `1.` Убедитесь, что вы прописываете команду правильно: `>create [тип клана, 0 - приватный, 1 - публичный] [Название]` \n\n `2.` Проверьте, что бы у бота были включены права: `Управлять ролями, Упоминание ролей` \n `3.` Если все вышеперечисленные параметры верны, воспользуйтесь сервером поддержки.", colour=discord.Color.from_rgb(205, 92, 92))
# await ctx.send(embed=emb)
@bot.command(aliases=['create', 'clan-create', 'create-clan'])
async def __create(ctx, status_private: int = None, *, name: str = None):
try:
creator_role = False
if status_private >= 2:
await ctx.send(embed=discord.Embed(title = "Clans Create", description=f'Укажите тип вашего клана, где 0 - приватный, 1 - публичный. \n`>create [тип] [название]`', colour=discord.Color.from_rgb(240, 230, 140)))
elif name == None:
await ctx.send(embed=discord.Embed(title = "Clans Create", description=f'Укажите название для вашего клана', colour=discord.Color.from_rgb(240, 230, 140)))
else:
if status_private == 0 or status_private == 1:
cursor.execute('SELECT cash FROM users WHERE id = {} AND server_id = {};'.format(ctx.author.id, ctx.guild.id))
if cursor.fetchone()[0] < 1000:
await ctx.send(embed=discord.Embed(title = "Clans Create", description=f'**{ctx.author}**, у вас недостаточно средств для создания клана. Необходимо **1000** монет', colour=discord.Color.from_rgb(240, 230, 140)))
else:
cursor.execute("SELECT player_id FROM shop WHERE id = {};".format(ctx.guild.id))
for row in cursor.fetchall():
if row[0] == ctx.author.id:
creator_role = True
if creator_role == False:
role = await ctx.guild.create_role(name=name)
cursor.execute("UPDATE users SET cash = cash - {} WHERE id = {} AND server_id = {};".format(1000, ctx.author.id, ctx.guild.id))
connection.commit()
await ctx.message.add_reaction('✅')
await ctx.author.add_roles(role)
cursor.execute(f"INSERT INTO shop VALUES ({role.id}, {ctx.guild.id}, 200, 0, '{ctx.author.name}', {ctx.author.id}, 0, 0, 0, 0, {status_private});")
connection.commit()
cursor.execute(f"INSERT INTO cup_league VALUES ({role.id}, {ctx.guild.id}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);")
connection.commit()
private_or_public = "None"
if status_private == 0:
private_or_public = "Приватный"
elif status_private == 1:
private_or_public = "Публичный"
await ctx.send(embed=discord.Embed(title = "Clans Create", description=f'Клан под названием {role.mention} был создан. Создатель: {ctx.author.mention}. \n\nТекущий уровень позиции: **{role.position}** \n\nПо желанию можете попросить администрацию включить для вашего клана в настройках ролей пункт под названием "Отображать участников отдельно от других". \n\n Тип клана: **{private_or_public}**', colour=discord.Color.from_rgb(255, 215, 0)))
else:
await ctx.send(embed=discord.Embed(title = "Clans Create", description=f'Вы можете быть создателем только одного клана.', colour=discord.Color.from_rgb(240, 230, 140)))
else:
await ctx.send(embed=discord.Embed(title = "Clans Create", description=f'Измените тип клана, где 0 - приватный, 1 - публичный. \n`>create [тип] [название]`', colour=discord.Color.from_rgb(240, 230, 140)))
except:
emb = discord.Embed(title = "Ошибка", description = "Произошла ошибка, ознакомьтесь с причинами ниже: \n\n `1.` Убедитесь, что вы прописываете команду правильно: `>create [тип клана, 0 - приватный, 1 - публичный] [Название]` \n\n `2.` Проверьте, что бы у бота были включены права: `Управлять ролями, Упоминание ролей` \n `3.` Если все вышеперечисленные параметры верны, воспользуйтесь сервером поддержки.", colour=discord.Color.from_rgb(205, 92, 92))
await ctx.send(embed=emb)
24.12 04:07:42 [Bot] Ignoring exception in command __leave_from_server:
24.12 04:07:42 [Bot] Traceback (most recent call last):
24.12 04:07:42 [Bot] File "/.local/lib/python3.9/site-packages/discord/ext/commands/core.py", line 85, in wrapped
24.12 04:07:42 [Bot] ret = await coro(*args, **kwargs)
24.12 04:07:42 [Bot] File "/./ClansPro.py", line 8740, in __leave_from_server
24.12 04:07:42 [Bot] await toleave.leave()
24.12 04:07:42 [Bot] AttributeError: 'NoneType' object has no attribute 'leave'
24.12 04:07:42 [Bot] The above exception was the direct cause of the following exception:
24.12 04:07:42 [Bot] Traceback (most recent call last):
24.12 04:07:42 [Bot] File "/.local/lib/python3.9/site-packages/discord/ext/commands/bot.py", line 939, in invoke
24.12 04:07:42 [Bot] await ctx.command.invoke(ctx)
24.12 04:07:42 [Bot] File "/.local/lib/python3.9/site-packages/discord/ext/commands/core.py", line 863, in invoke
24.12 04:07:42 [Bot] await injected(*ctx.args, **ctx.kwargs)
24.12 04:07:42 [Bot] File "/.local/lib/python3.9/site-packages/discord/ext/commands/core.py", line 94, in wrapped
24.12 04:07:42 [Bot] raise CommandInvokeError(exc) from exc
24.12 04:07:42 [Bot] discord.ext.commands.errors.CommandInvokeError: Command raised an exception: AttributeError: 'NoneType' object has no attribute 'leave'
24.12 04:06:02 [Bot] Ignoring exception in command __leave_from_server:
24.12 04:06:02 [Bot] Traceback (most recent call last):
24.12 04:06:02 [Bot] File "/.local/lib/python3.9/site-packages/discord/ext/commands/core.py", line 85, in wrapped
24.12 04:06:02 [Bot] ret = await coro(*args, **kwargs)
24.12 04:06:02 [Bot] File "/./ClansPro.py", line 8735, in __leave_from_server
24.12 04:06:02 [Bot] await bot.leave_guild(toleave)
24.12 04:06:02 [Bot] AttributeError: 'Bot' object has no attribute 'leave_guild'
24.12 04:06:02 [Bot] The above exception was the direct cause of the following exception:
24.12 04:06:02 [Bot] Traceback (most recent call last):
24.12 04:06:02 [Bot] File "/.local/lib/python3.9/site-packages/discord/ext/commands/bot.py", line 939, in invoke
24.12 04:06:02 [Bot] await ctx.command.invoke(ctx)
24.12 04:06:02 [Bot] File "/.local/lib/python3.9/site-packages/discord/ext/commands/core.py", line 863, in invoke
24.12 04:06:02 [Bot] await injected(*ctx.args, **ctx.kwargs)
24.12 04:06:02 [Bot] File "/.local/lib/python3.9/site-packages/discord/ext/commands/core.py", line 94, in wrapped
24.12 04:06:02 [Bot] raise CommandInvokeError(exc) from exc
24.12 04:06:02 [Bot] discord.ext.commands.errors.CommandInvokeError: Command raised an exception: AttributeError: 'Bot' object has no attribute 'leave_guild'
# @bot.event
async def on_server_join(server):
guilds = await bot.fetch_guilds(limit = None).flatten()
await bot.change_presence(status = discord.Status.idle, activity= discord.Activity(name=f'за {len(guilds)} серверами.', type= discord.ActivityType.watching))