code cleanup
This commit is contained in:
13
bot.py
13
bot.py
@@ -3,15 +3,22 @@ import asyncio
|
|||||||
import os
|
import os
|
||||||
|
|
||||||
import disnake
|
import disnake
|
||||||
|
from dotenv import load_dotenv
|
||||||
from disnake import OptionType, Option
|
from disnake import OptionType, Option
|
||||||
from disnake.ext import commands
|
from disnake.ext import commands
|
||||||
from __init__ import version_info as ver
|
from __init__ import version_info as ver
|
||||||
from lib import work_with_cogs, cog_list
|
from lib import work_with_cogs, cog_list
|
||||||
from lib import preload_checks, determine_prefix
|
from lib import determine_prefix
|
||||||
from lib import logger
|
from lib import logger
|
||||||
|
|
||||||
preload_checks()
|
load_dotenv()
|
||||||
|
if not os.path.isfile('.env') or not os.getenv('CONF_FILE'):
|
||||||
|
with open('.env', 'a', encoding='utf-8') as f:
|
||||||
|
f.write("CONF_FILE='config.json'\n")
|
||||||
|
load_dotenv()
|
||||||
|
if not os.path.isfile(os.getenv('CONF_FILE')):
|
||||||
|
with open(os.getenv('CONF_FILE'), 'a', encoding='utf-8') as f:
|
||||||
|
f.write("")
|
||||||
|
|
||||||
intents = disnake.Intents(messages=True,
|
intents = disnake.Intents(messages=True,
|
||||||
guilds=True,
|
guilds=True,
|
||||||
|
|||||||
@@ -32,12 +32,12 @@ class Audio(commands.Cog, name='Audio'):
|
|||||||
_role = await read_json(member.guild.id, 'tigger_role')
|
_role = await read_json(member.guild.id, 'tigger_role')
|
||||||
# Read audio from DB
|
# Read audio from DB
|
||||||
audio_db = await read_db(member.guild.id, member.id, 'defaulttracks')
|
audio_db = await read_db(member.guild.id, member.id, 'defaulttracks')
|
||||||
|
audio: list = []
|
||||||
if audio_db is not None:
|
if audio_db is not None:
|
||||||
audio = audio_db.split(', ')
|
audio = audio_db.split(', ')
|
||||||
else:
|
else:
|
||||||
from lib.Comands import list_files
|
for _a in ListGenerator('audio'):
|
||||||
audio = await list_files()
|
audio.append(_a.name)
|
||||||
|
|
||||||
if audio_db is not None:
|
if audio_db is not None:
|
||||||
logger.info('Play audio from DB')
|
logger.info('Play audio from DB')
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import psutil
|
|||||||
from disnake.ext import commands
|
from disnake.ext import commands
|
||||||
|
|
||||||
from __init__ import version_info as ver
|
from __init__ import version_info as ver
|
||||||
from lib import determine_prefix, determine_time
|
from lib import determine_prefix
|
||||||
from lib import logger
|
from lib import logger
|
||||||
|
|
||||||
|
|
||||||
@@ -19,7 +19,7 @@ class BotInfo(commands.Cog, name='Bot Info'):
|
|||||||
|
|
||||||
@commands.slash_command(name="info_bot",
|
@commands.slash_command(name="info_bot",
|
||||||
description='Shows general info about bot') # this is for making a command
|
description='Shows general info about bot') # this is for making a command
|
||||||
async def info_bot(self, inter):
|
async def info_bot(self, inter: disnake.ApplicationCommandInteraction):
|
||||||
_pid = os.getpid()
|
_pid = os.getpid()
|
||||||
_process = psutil.Process(_pid)
|
_process = psutil.Process(_pid)
|
||||||
emb = disnake.Embed(
|
emb = disnake.Embed(
|
||||||
@@ -31,11 +31,10 @@ class BotInfo(commands.Cog, name='Bot Info'):
|
|||||||
f"CPU Usage: {_process.cpu_percent()}%\n"
|
f"CPU Usage: {_process.cpu_percent()}%\n"
|
||||||
f'Bot ping: {round(self.bot.latency * 1000)}\n'
|
f'Bot ping: {round(self.bot.latency * 1000)}\n'
|
||||||
f'Prefix: `{determine_prefix(self.bot, inter)}\n`'
|
f'Prefix: `{determine_prefix(self.bot, inter)}\n`'
|
||||||
f"Max audio duration: {determine_time(inter)} sec\n"
|
|
||||||
)
|
)
|
||||||
emb.add_field(name="Bot info:", value="Bot owner: <@386629192743256065>\n"
|
emb.add_field(name="Bot info:", value="Bot owner: <@386629192743256065>\n"
|
||||||
f"Bot version: {ver.major}.{ver.minor}.{ver.micro}-{ver.releaselevel}")
|
f"Bot version: {ver.major}.{ver.minor}.{ver.micro}-{ver.releaselevel}")
|
||||||
emb.set_footer(text="Information requested by: {}".format(inter.author.display_name))
|
emb.set_footer(text=f"Information requested by: {inter.author.display_name}")
|
||||||
|
|
||||||
await inter.response.send_message(embed=emb, ephemeral=True)
|
await inter.response.send_message(embed=emb, ephemeral=True)
|
||||||
|
|
||||||
|
|||||||
@@ -5,31 +5,7 @@ Some prepare for commands
|
|||||||
"""
|
"""
|
||||||
import json
|
import json
|
||||||
import os
|
import os
|
||||||
import dotenv
|
from disnake.ext import commands
|
||||||
|
|
||||||
|
|
||||||
def preload_checks():
|
|
||||||
dotenv.load_dotenv()
|
|
||||||
if not os.path.isfile('.env') or not os.getenv('CONF_FILE'):
|
|
||||||
with open('.env', 'a', encoding='utf-8') as f:
|
|
||||||
f.write("CONF_FILE='config.json'\n")
|
|
||||||
dotenv.load_dotenv()
|
|
||||||
if not os.path.isfile(os.getenv('CONF_FILE')):
|
|
||||||
with open(os.getenv('CONF_FILE'), 'a', encoding='utf-8') as f:
|
|
||||||
f.write("")
|
|
||||||
|
|
||||||
|
|
||||||
async def list_files(fold: str = 'audio'):
|
|
||||||
if fold != 'audio':
|
|
||||||
fold = f'audio/{fold}'
|
|
||||||
fl = []
|
|
||||||
for filenames in os.walk(fold):
|
|
||||||
fl.extend(filenames)
|
|
||||||
break
|
|
||||||
files = {}
|
|
||||||
for x in fl[2]:
|
|
||||||
files[x] = x
|
|
||||||
return fl[2]
|
|
||||||
|
|
||||||
|
|
||||||
async def read_json(guild: int, _param: str):
|
async def read_json(guild: int, _param: str):
|
||||||
@@ -73,7 +49,7 @@ async def write_json(guild: int, param_name: str, param: str or int):
|
|||||||
json.dump(_json, f, indent=4)
|
json.dump(_json, f, indent=4)
|
||||||
|
|
||||||
|
|
||||||
def determine_prefix(bot, msg):
|
def determine_prefix(bot: commands.Bot, msg):
|
||||||
"""
|
"""
|
||||||
Determite per-server bot prefix
|
Determite per-server bot prefix
|
||||||
:param bot: Disnake Bot object
|
:param bot: Disnake Bot object
|
||||||
@@ -92,23 +68,3 @@ def determine_prefix(bot, msg):
|
|||||||
except KeyError:
|
except KeyError:
|
||||||
pass
|
pass
|
||||||
return parameter
|
return parameter
|
||||||
|
|
||||||
|
|
||||||
def determine_time(msg):
|
|
||||||
"""
|
|
||||||
Determite per-server bot prefix
|
|
||||||
:param msg: Disnake msg object
|
|
||||||
:return: prefix for server, default is $
|
|
||||||
"""
|
|
||||||
parameter = 15
|
|
||||||
with open(os.getenv('CONF_FILE'), encoding='utf-8') as f: # Open the JSON
|
|
||||||
try:
|
|
||||||
_json = json.load(f) # Load the custom prefixes
|
|
||||||
except json.JSONDecodeError:
|
|
||||||
_json = {}
|
|
||||||
try:
|
|
||||||
parameter = _json[f"{msg.guild.id}"]["seconds"] # Read prefix from json if is setted up
|
|
||||||
|
|
||||||
except KeyError:
|
|
||||||
pass
|
|
||||||
return parameter
|
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
import sqlite3
|
import sqlite3
|
||||||
|
|
||||||
|
|
||||||
from lib import logger
|
from lib import logger
|
||||||
|
|
||||||
|
|
||||||
@@ -148,18 +147,3 @@ async def read_db(guild: int, user: int, column: str):
|
|||||||
return record[_col_dict[column]]
|
return record[_col_dict[column]]
|
||||||
except sqlite3.Error as _error:
|
except sqlite3.Error as _error:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
async def check_exist_audio(ctx, guild: int, user: int, column: str, audio: str):
|
|
||||||
_list_str = await read_db(guild, user, column)
|
|
||||||
print(type(_list_str))
|
|
||||||
if _list_str is not None:
|
|
||||||
_list = _list_str.split(',')
|
|
||||||
if audio in _list:
|
|
||||||
await ctx.reply("File in list")
|
|
||||||
|
|
||||||
else:
|
|
||||||
pass
|
|
||||||
|
|
||||||
else:
|
|
||||||
_list = 'None'
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ async def play_audio(audio, bot, vc):
|
|||||||
await sleep(1)
|
await sleep(1)
|
||||||
vp = await vc.connect()
|
vp = await vc.connect()
|
||||||
if not vp.is_playing():
|
if not vp.is_playing():
|
||||||
vp.play(FFmpegOpusAudio(f'{audio}'), after=lambda e: print('done', e))
|
vp.play(FFmpegOpusAudio(f'{audio}'))
|
||||||
while vp.is_playing():
|
while vp.is_playing():
|
||||||
await sleep(0.5)
|
await sleep(0.5)
|
||||||
await sleep(1)
|
await sleep(1)
|
||||||
|
|||||||
Reference in New Issue
Block a user