From 805dc7c71ec12bb3c3e2bbbed91aace645b69fe1 Mon Sep 17 00:00:00 2001 From: bacon Date: Sat, 9 Mar 2024 11:47:06 +0300 Subject: [PATCH] initial yandex music --- .gitlab-ci.yml | 8 -------- bot.py | 10 ++++++---- cogs/disabled/test.py | 5 ++++- lib/Player.py | 2 -- lib/YandexPlayer.py | 10 ++++++++++ 5 files changed, 20 insertions(+), 15 deletions(-) create mode 100644 lib/YandexPlayer.py diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6f99bf5..3922553 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -14,11 +14,3 @@ qodana: expose_as: 'qodana_report' expire_in: 1 week paths: [ '.qodana/results/' ] - -deploy: - only: - - master - image: alpine - script: - - apk --update add openssh-client - - ssh -i $SSH_KEY $BOT_HOST && cd /opt/discord/tarkov && git pull \ No newline at end of file diff --git a/bot.py b/bot.py index 2a76889..558e565 100755 --- a/bot.py +++ b/bot.py @@ -6,7 +6,7 @@ import disnake from dotenv import load_dotenv from disnake import OptionType, Option from disnake.ext import commands -from __init__ import version_info as ver +from __init__ import version_info as ver, __version__ from lib.CogsPrep import work_with_cogs, cog_list from lib.Comands import determine_prefix from lib.Logger import logger @@ -42,8 +42,8 @@ asyncio.run(work_with_cogs('load', bot, asyncio.run(cog_list()))) async def on_ready(): logger.info('Bot started') logger.info(f'Disnake version {disnake.__version__}') - logger.info('We have logged in as {0.user}'.format(bot)) - logger.info(f'Version of bot is - v{ver.major}.{ver.minor}.{ver.micro}-{ver.releaselevel}') + logger.info(f'We have logged in as {bot.user}') + logger.info(f'Version of bot is - v{__version__}-{ver.releaselevel}') @bot.slash_command( @@ -71,12 +71,14 @@ async def slash_cogs(inter: disnake.ApplicationCommandInteraction, what_do, cog: @slash_cogs.autocomplete('cog') -async def _cog_opt(inter: disnake.ApplicationCommandInteraction, current: str, what_do): +async def _cog_opt(inter: disnake.ApplicationCommandInteraction, what_do, current: str): current = current.lower() if what_do == 'enable': _list = await cog_list('./cogs/disabled/') + logger.error(_list) else: _list = await cog_list() + logger.error(_list) return [choice for choice in _list if current in choice.lower()] diff --git a/cogs/disabled/test.py b/cogs/disabled/test.py index ef3a99e..17fe0aa 100644 --- a/cogs/disabled/test.py +++ b/cogs/disabled/test.py @@ -13,9 +13,12 @@ class Testing(commands.Cog, name='Testing'): logger.info(f'Cog {__name__.split(".")[1]} is ready!.') @commands.slash_command(name='play', description='play audio test from yandex.music', options=[ - Option(name='search', description='seach track/artist') + Option(name='search', description='seach track/artist'), + Option(name='type', description='type of search', + choices=['all', 'artist', 'user', 'album', 'playlist', 'track', 'podcast', 'podcast_episode']) ]) async def play(self, inter: disnake.ApplicationCommandInteraction, audio): + # TODO add yandex_music player with queue, playlists pass diff --git a/lib/Player.py b/lib/Player.py index f1f40b4..52be2f3 100644 --- a/lib/Player.py +++ b/lib/Player.py @@ -5,9 +5,7 @@ from disnake import FFmpegOpusAudio async def play_audio(audio, bot, vc): if not bot.voice_clients: - # logger.info(audio) logger.error(f'Playing: {audio}') - await sleep(1) vp = await vc.connect() if not vp.is_playing(): vp.play(FFmpegOpusAudio(f'{audio}')) diff --git a/lib/YandexPlayer.py b/lib/YandexPlayer.py new file mode 100644 index 0000000..e49a0c7 --- /dev/null +++ b/lib/YandexPlayer.py @@ -0,0 +1,10 @@ +import os + +from yandex_music import Client + +client = Client(os.getenv('Yandex_Token')).init() + + +def _search(self, _str: str, _type: str): + search_result = client.search(_str, type_=_type) + pass