async def kick(self, ctx, member: discord.Member): if col.find_one({"_id": ctx.author.id})["level"] < 4: await ctx.send("Хуй тебе") return 0 if col.find_one({"_id": member.id})["level"] >= 4: await ctx.send('Неа, хуй там плавал') else: await member.kick() channel = self.bot.get_channel(681414780351021090) await ctx.send(f'{ctx.author} выпнул бомжа {member.mention}') await channel.send(f'{ctx.author.mention} kicked {member.mention}')
async def stop(self, ctx, member: discord.Member = None): global victims if col.find_one({"_id": ctx.author.id})["level"] >= 6 and not member: for member in victims.keys(): col.update_one({"_id": member}, {"$set": {"ban_time": None}}) name = col.find_one({"_id": member})["name"] await ctx.send( f"Великодушный барин __{ctx.author.display_name}__ снял холопа @{name} с хуя за хорошее поведение" ) victims = {} elif member and victims[member] == ctx.author.id or col.find_one( {"_id": ctx.author.id})["level"] >= 6: col.update_one({"_id": member.id}, {"$set": {"ban_time": None}}) name = col.find_one({"_id": member.id})["name"] await ctx.send( f"Великодушный барин __{ctx.author.display_name}__ снял холопа @{name} с хуя за хорошее поведение" ) victims.pop(member.id) else: await ctx.send("Неа, хуй тебе")
async def on_voice_state_update(self, member, before, after): if after.channel: ban = col.find_one({"_id": member.id})["ban_time"] if ban and int(time()) < ban: await member.move_to(None) await self.channel.send( f"__{member.display_name}__ всё ещё на хуе. Ему осталось **{round(ban - int(time()))}** секунд" ) elif ban is not None: col.update_one({"_id": member.id}, {"$set": { "ban_time": None }})
async def nahui(self, ctx, member: discord.Member, duration=5): if col.find_one({"_id": ctx.author.id})['level'] < 5: await ctx.send("Малой ещё") else: ban_time = time() + duration col.update_one({"_id": member.id}, {"$set": { "ban_time": ban_time }}) await member.move_to(None) await ctx.send( f"{member.display_name} был послан нахуй на **{duration}** секунд" ) victims[member.id] = ctx.author.id
async def lvlup(self, ctx, member: discord.Member = None): level = 1 member = member or ctx.author prev_lvl = col.find_one({"_id": member.id})["level"] if 5 > prev_lvl > 1: col.update_one({"_id": member.id}, {"$inc": {"level": level}}) await ctx.send( f"Уровень {member.mention} изменен с {prev_lvl} на {prev_lvl + level}" ) else: if prev_lvl >= 5: await ctx.send("У него итак максимальный лвл. Куда больше то?") else: await ctx.send("Ты ебанулся? Куда меньше то")
async def spam(self, ctx, member: discord.Member, amount=5, *, msg='Ответь псина горбатая'): if amount > 200: await ctx.send("Дохуя спама") return 0 if col.find_one({"_id": ctx.author.id})["level"] < 4: await ctx.send("Хуй тебе") else: for i in range(amount): await member.send(str(msg)) time.sleep(0.1)
async def unpetuh(self, ctx, member: discord.Member): if col.find_one({"_id": ctx.author.id})["level"] < 5: return 0 with open('cogs/data_file2.json', 'r') as file: TakenRoles = json.load(file) remove_role = discord.utils.get(ctx.message.guild.roles, name='петушарня') await member.remove_roles(remove_role) roles_to_give = TakenRoles[member.name] for role in range(1, len(roles_to_give)): await member.add_roles( discord.utils.get(ctx.message.guild.roles, name=roles_to_give[role])) await ctx.send( f'{ctx.author.mention} вытащил {member.mention} из ПЕТУШАТНИ и вернул все права' )
async def petuh(self, ctx, member: discord.Member): if col.find_one({"_id": ctx.author.id})["level"] > 4: with open('cogs/data_file2.json', 'r') as file: TakenRoles = json.load(file) roles_to_take = [role.name for role in member.roles] TakenRoles[member.name] = roles_to_take with open('cogs/data_file2.json', 'w') as file: json.dump(TakenRoles, file) mute_role = discord.utils.get(ctx.message.guild.roles, name='петушарня') await member.add_roles(mute_role) for i in range(1, len(roles_to_take)): await member.remove_roles( discord.utils.get(ctx.message.guild.roles, name=roles_to_take[i])) await member.move_to(self.bot.get_channel(681777814995075075)) await ctx.send( f'{member.mention} был лишен всех прав и отправлен в ПЕТУШАРНЮ' ) else: await ctx.send( f"Недорос петушок ещё, чтобы других в петушарню отправлять")
async def ban(self, ctx, member: discord.Member): if col.find_one({"_id": ctx.author.id})["level"] == 5: await member.ban() await ctx.send(f"Петушара {member.mention} отлетел в бан") else: await ctx.send("Недорос ещё стручок для такого")
async def level(self, ctx, member: discord.Member = None): member = member or ctx.author lvl = col.find_one({"_id": member.id})["level"] await ctx.send(f"У тебя __{lvl}__ уровень")