edditing code
This commit is contained in:
64
cogs/admin.py
Normal file
64
cogs/admin.py
Normal file
@@ -0,0 +1,64 @@
|
||||
import logging
|
||||
from asyncio import sleep
|
||||
|
||||
import disnake
|
||||
|
||||
from disnake.ext import commands, tasks
|
||||
|
||||
from lib.Comands import read_json
|
||||
from lib.DB import fill_bd, prepare_db
|
||||
|
||||
|
||||
class Admin(commands.Cog, name='Admin'):
|
||||
def __init__(self, bot):
|
||||
self.bot = bot # defining bot as global var in class
|
||||
# self.activity.start()
|
||||
|
||||
@commands.Cog.listener() # this is a decorator for events/listeners
|
||||
async def on_ready(self):
|
||||
for g in self.bot.get_all_members():
|
||||
await prepare_db(g.guild.id)
|
||||
for g in self.bot.get_all_members():
|
||||
await fill_bd(g.name, g.id, g.bot, g.nick, g.guild.id)
|
||||
|
||||
logging.info(f'Cog {__name__.split(".")[1]} is ready!.')
|
||||
|
||||
@tasks.loop(seconds=20)
|
||||
async def activity(self):
|
||||
await self.bot.change_presence(
|
||||
activity=disnake.Activity(
|
||||
name=f'Users: {str(len(self.bot.users))}',
|
||||
type=3
|
||||
)
|
||||
)
|
||||
await sleep(10)
|
||||
await self.bot.change_presence(
|
||||
activity=disnake.Activity(
|
||||
name=f'Servers: {str(len(self.bot.guilds))}',
|
||||
type=3
|
||||
)
|
||||
)
|
||||
|
||||
@commands.Cog.listener()
|
||||
async def on_guild_join(self, guild):
|
||||
for g in guild.members:
|
||||
await fill_bd(g.name, g.id, g.bot, g.nick, guild.id)
|
||||
|
||||
@commands.Cog.listener()
|
||||
async def on_member_join(self, member):
|
||||
await fill_bd(member.name, member.id, member.bot, member.nick, member.guild.id)
|
||||
|
||||
bot_role = read_json(member.guild.id, 'bot_role') # Get bot role
|
||||
guest_role = read_json(member.guild.id, 'guest_role') # Get guest role
|
||||
|
||||
if bot_role or guest_role:
|
||||
if member.bot == 0:
|
||||
role = disnake.utils.get(member.guild.roles, id=guest_role)
|
||||
else:
|
||||
role = disnake.utils.get(member.guild.roles, id=bot_role)
|
||||
logging.info(f"Adding to {member} role {role}")
|
||||
await member.add_roles(role)
|
||||
|
||||
|
||||
def setup(bot): # an extension must have a setup function
|
||||
bot.add_cog(Admin(bot)) # adding a cog
|
||||
@@ -1,4 +1,5 @@
|
||||
import logging
|
||||
import random
|
||||
import tempfile
|
||||
from os import path, makedirs, rename, remove
|
||||
|
||||
@@ -23,16 +24,6 @@ class Audio(commands.Cog):
|
||||
# Read audio from DB
|
||||
audio_db = await read_db(member.guild.id, member.id, 'usertracks')
|
||||
def_audio_db = await read_db(member.guild.id, member.id, 'defaulttracks')
|
||||
print(f'Trigger role: {_role}')
|
||||
print(f' Memder roles {member.roles}')
|
||||
print(role.id in _role for role in member.roles)
|
||||
|
||||
print(f'Audio DB: {audio_db}')
|
||||
print(f'Def audio DB: {def_audio_db}')
|
||||
print(f' Memder is bot {member.bot}')
|
||||
print(f' Before channel {before.channel}')
|
||||
print('------------------------------------------')
|
||||
|
||||
if audio_db is not None:
|
||||
audio_db = audio_db.split(', ') # Need to fix creating list
|
||||
for i in range(len(audio_db)):
|
||||
@@ -45,16 +36,16 @@ class Audio(commands.Cog):
|
||||
if def_audio_db or audio_db is not None:
|
||||
if def_audio_db is None: def_audio_db = []
|
||||
if audio_db is None: audio_db = []
|
||||
print(audio_db, def_audio_db)
|
||||
logging.info(f'Play audio from DB')
|
||||
full_audio = def_audio_db + audio_db
|
||||
|
||||
if not self.bot.voice_clients:
|
||||
await play_audio(full_audio, self.bot, after.channel)
|
||||
elif (role.id in _role for role in member.roles):
|
||||
audio = random.choice(full_audio)
|
||||
await play_audio(audio, self.bot, after.channel)
|
||||
elif len(member.roles) == 1 or _role is None:
|
||||
logging.info(f'Skip playing')
|
||||
elif any(str(role.id) in _role for role in member.roles):
|
||||
logging.info(f'Play audio from list by role')
|
||||
if not self.bot.voice_clients:
|
||||
await play_audio(def_audio_ls, self.bot, after.channel)
|
||||
audio = random.choice(def_audio_ls)
|
||||
await play_audio(audio, self.bot, after.channel)
|
||||
else:
|
||||
logging.info(f'Skip playing')
|
||||
|
||||
|
||||
16
cogs/fun.py
Normal file
16
cogs/fun.py
Normal file
@@ -0,0 +1,16 @@
|
||||
import logging
|
||||
|
||||
from disnake.ext import commands
|
||||
|
||||
|
||||
class Fun(commands.Cog, name='Fun'):
|
||||
def __init__(self, bot):
|
||||
self.bot = bot # defining bot as global var in class
|
||||
|
||||
@commands.Cog.listener() # this is a decorator for events/listeners
|
||||
async def on_ready(self):
|
||||
logging.info(f'Cog {__name__.split(".")[1]} is ready!.')
|
||||
|
||||
|
||||
def setup(bot): # an extension must have a setup function
|
||||
bot.add_cog(Fun(bot)) # adding a cog
|
||||
@@ -4,8 +4,8 @@ import disnake
|
||||
from disnake import Option, OptionType, Colour
|
||||
from disnake.ext import commands
|
||||
|
||||
from lib.Comands import read_json, write_json
|
||||
from lib.DB import fill_bd, prepare_db, work_with_db, read_db
|
||||
from lib.Comands import write_json
|
||||
from lib.DB import work_with_db, read_db
|
||||
|
||||
|
||||
class General(commands.Cog):
|
||||
@@ -14,33 +14,8 @@ class General(commands.Cog):
|
||||
|
||||
@commands.Cog.listener() # this is a decorator for events/listeners
|
||||
async def on_ready(self):
|
||||
for g in self.bot.get_all_members():
|
||||
await prepare_db(g.guild.id)
|
||||
for g in self.bot.get_all_members():
|
||||
await fill_bd(g.name, g.id, g.bot, g.nick, g.guild.id)
|
||||
|
||||
logging.info(f'Cog {__name__.split(".")[1]} is ready!.')
|
||||
|
||||
@commands.Cog.listener()
|
||||
async def on_guild_join(self, guild):
|
||||
for g in guild.members:
|
||||
await fill_bd(g.name, g.id, g.bot, g.nick, guild.id)
|
||||
|
||||
@commands.Cog.listener()
|
||||
async def on_member_join(self, member):
|
||||
await fill_bd(member.name, member.id, member.bot, member.nick, member.guild.id)
|
||||
|
||||
bot_role = read_json(member.guild.id, 'bot_role') # Get bot role
|
||||
guest_role = read_json(member.guild.id, 'guest_role') # Get guest role
|
||||
|
||||
if bot_role or guest_role:
|
||||
if member.bot == 0:
|
||||
role = disnake.utils.get(member.guild.roles, id=guest_role)
|
||||
else:
|
||||
role = disnake.utils.get(member.guild.roles, id=bot_role)
|
||||
logging.info(f"Adding to {member} role {role}")
|
||||
await member.add_roles(role)
|
||||
|
||||
@commands.Cog.listener()
|
||||
async def on_member_update(self, before: disnake.Member, after: disnake.Member):
|
||||
sql_update_query = f"""UPDATE "{after.guild.id}" set nick = ? where userid = ?"""
|
||||
|
||||
Reference in New Issue
Block a user