Beispiel #1
0
 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}')
Beispiel #2
0
 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("Неа, хуй тебе")
Beispiel #3
0
 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
                            }})
Beispiel #4
0
 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
Beispiel #5
0
 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("Ты ебанулся? Куда меньше то")
Beispiel #6
0
 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)
Beispiel #7
0
 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} из ПЕТУШАТНИ и вернул все права'
     )
Beispiel #8
0
 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"Недорос петушок ещё, чтобы других в петушарню отправлять")
Beispiel #9
0
 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("Недорос ещё стручок для такого")
Beispiel #10
0
 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}__ уровень")