Музыка скачивается, но не воспроизводится. Пишет, что voice не имеет атрибута play. Что делать, как исправить?
@hoopengotm44194 жыл бұрын
Код - drive.google.com/file/d/1rcfXhKO737ZfyzJNQPB_w6kYHUiAcMfL/view (не благодарите)
@BoGaYT4 жыл бұрын
скинул код который под корги, понимаю
@maxon0x4 жыл бұрын
спс
@ms_craft47843 жыл бұрын
А есть код на другие ролики?
@milkxd15124 жыл бұрын
Если у кого то пишет "[log] файл не удалось удалить", то место song_there = os.path.isfile('song.mp3') пишите song_there = os.path.exists('song.mp3'). Потому что exists ТОЧНО возвращает True, а isfile путь файла ну или хз что. Главное мне удалось исправить, значит и вам тож поможет
@Sh0ma564 жыл бұрын
привет Фсоки, у меня проблема при переходе по ссылке FFmpeg нет сбороки нужной, только от gyan.dev и от BtbN
@korcheg59783 жыл бұрын
устанавливай BtbN, я ее скачал и у меня все работает
@grummhd49522 жыл бұрын
@@korcheg5978 нет файла bin что делать?
@NikitaSavc4 жыл бұрын
класс, это очень сложно, создать это. КРУТО!!!
@dubfy2 жыл бұрын
Это очень легко
@Texoras6 ай бұрын
Привет! А можешь пожалуйста записать снова видео которое будет актуально? Я просто не могу уже написать музыку уже не знаю сколько дней
@neokrid58294 жыл бұрын
Привет,хотел бы узнать,можно ли сделать ,чтобы бот не скачивал сам ролик,а воспроизводил напрямую ?
@fsoky4 жыл бұрын
Здравствуй, не знаю
@roxxel81674 жыл бұрын
Лавалинк вродь
@ZamboJi4 жыл бұрын
Ура, я дождался ;)
@lol-py9gu4 жыл бұрын
УРА, КРУТОООО!!
@rosslav4 жыл бұрын
2 вопроса: 1) какая версия видны? (На 7 не могу поставить ffmpeg, т.к. в переменных средах можно только одно значение поставить) 2) можно как то обойтись без ffmpeg'a для избежания проблемы описанной выше?
@EgorBron4 жыл бұрын
У автора Windows 10, без Ffmpeg не обойтись, потому что он может переделать видео в аудио
@oktopusskills3 жыл бұрын
в 7ке пути указываются через точку с запятой ;
@rosslav3 жыл бұрын
@@oktopusskills именно этого я и ждал. Если сработает, огромное тебе спасибо
@ZamboJi4 жыл бұрын
Фсоки, ты случайно OfficialBro не смотришь?)
@konfuze_top4 жыл бұрын
смотрит)
@__locker__3 жыл бұрын
он хауди смотрит
@user-pi5is5xs8x3 жыл бұрын
Фсоки у тебя хорошие видосики, но сделай новые видосы, чтобы в обновление можно нормально бота сделать плиз.
@whylove_32 жыл бұрын
что делать если пишется воспроизводится музыка, а потом сразу останавливается?
@thegemer74764 жыл бұрын
А как можно добавить в очередь или чтобы все песни читал с файла, выборочно и играл бы циклически?
@fsoky4 жыл бұрын
не знаю
@dubfy2 жыл бұрын
можно если код написать
@MrDizr4 жыл бұрын
помогите мне у меня пишет Ignoring exeption in command None: discord.ext.commands.errors.CommandNotFound: Command ''play'' is not found
@fsoky4 жыл бұрын
Пока что не знаю как решить эту проблему. Обратитесь на сервер. Ссылка в описании. Дискорд
@chickey69114 жыл бұрын
Нашёл ответ? просто точно такая же проблема...
@heroinuser58464 жыл бұрын
чел, спасибо, это безумно круто! Можешь подсказать как командой остановить проигрывание?
@fsoky4 жыл бұрын
не знаю
@sqkriwvy4 жыл бұрын
Сделать как обычную комманду async def stop(ctx): os.remove('song.mp3') Оно полностью остановит
@SNI4ARA4 жыл бұрын
@@sqkriwvy не робит, т.к файл уже занят
@SNI4ARA4 жыл бұрын
@client.command(pass_context = True, aliases=['п', 'стоп', 'останови']) async def пауза(ctx): author = ctx.message.author voice = get(client.voice_clients, guild=ctx.guild) if voice and voice.is_playing(): print('[LOG] Музыка остановлена(PAUSE).') voice.pause() await ctx.send(f'Пользователь {author.mention} поставил текущую музыку на паузу.')
@plaaarr64194 жыл бұрын
И ещё пожалуйста не убирай возможность скачивать твои видео) KZbin premium
@Tarapupsik2 жыл бұрын
Мне кажется стоит называть файл по имени или айди гильдии так как если кто-то напишет play у себя на сервер дискорда то у вас удалится этот файл тоже.
@nitagas1874 жыл бұрын
Здравствуйте, подскажите пожалуйста что делать если вылезает такая ОШИБКА ? [0;31mERROR:[0m XVMHRAUI-h0: KZbin said: This video is unavailable.
@fsoky4 жыл бұрын
Это видео недоступно
@nitagas1874 жыл бұрын
Фсоки Спасибо за ответ, но это происходит с каждым видео. Может надо установить какую-то библиотеку? Я делал своего бота на Linux Ubuntu.
@mikl77613 ай бұрын
ERROR: unable to download video data: HTTP Error 403: Forbidden Command raised an exception: DownloadError: ERROR: unable to download video data: HTTP Error 403: Forbidden как это пофиксить?
@Manik13483 жыл бұрын
Ну кстати вообще то это работает.Да,не лучшим образом,но работает.
@irwe35142 жыл бұрын
Почему может возникать эта ошибка? (даже изменял настройки бота и ничего) RuntimeError: Event loop is closed
@sharker19694 жыл бұрын
Спасибо!
@maxbrenyk92474 жыл бұрын
File "C:/Users/Max/PycharmProjects/pythonProject1/discord-bot.py", line 64, in play with youtube_dl.KZbinDL(ydl_opts) as ydl: КАК это исправить?
@severniy28014 жыл бұрын
подскажите в чем проблема: voice.play(discord.FFmpegPCMAudio('song.mp3'), after = lambda e: printprint(f'[log] {name}, Музыка закончила своё проигрывание')) AttributeError: 'NoneType' object has no attribute 'play'
@fsoky4 жыл бұрын
Не знаю, спросите на сервере
@ethernetcoder49884 жыл бұрын
voice.play(discord.FFmpegPCMAudio('song.mp3'), after = lambda e: print(f'[log] {name},Музыка закончила проигрование')) решение
@crossworldgames82773 жыл бұрын
Привет , хотел задать вопрос, я написал такой же код как и в видео, только после того как мне бот пишет "Пожалуйста ожидайте", у меня не играет музыка, что делать?
@fsoky3 жыл бұрын
Привет, способ не актуальный, лучше использовать lavalink
@aperturelaboratories136410 ай бұрын
а почему не актульно?
@animemchik2 жыл бұрын
Привет! Спасибо что научил но у меня какие-то проблемы с except PermissionError: ^^^^^^^ Invalid syntax
@nikmaestro86314 жыл бұрын
Не работает. Ошибок нет, но видео не загружаются. Сделал всё по видосу.
@fatherlessness4 жыл бұрын
Блин бьюсь уже несколько дней над тем что бы записывать все ссылки в плейлист, не понимаю как это сделать
@nikitamishutkin10234 жыл бұрын
что за терминал ты используешь?
@fsoky4 жыл бұрын
ConEmu
@fidie72354 жыл бұрын
Слушай, а для чего нужен ffmpeg?
@mhdmodocluber95914 жыл бұрын
Что бы вытаскивать звук из видео
@wesgunrt2914 жыл бұрын
'KZbinDL' object has no attribute 'dowload' не понимаю что такое
@fsoky4 жыл бұрын
download
@wesgunrt2914 жыл бұрын
@@fsoky я просто когда набираю уже команду плей, бот не играет
@wesgunrt2914 жыл бұрын
@@fsoky хах увидел я просто плохо прочитал, спасибо)
@zobbie65304 жыл бұрын
A как остановить музыку?
@wmzwh4 жыл бұрын
Не работает!! Traceback (most recent call last): File "/data/user/0/ru.iiec.pydroid3/files/accomp_files/iiec_run/iiec_run.py", line 31, in start(fakepyfile,mainpyfile) File "/data/user/0/ru.iiec.pydroid3/files/accomp_files/iiec_run/iiec_run.py", line 30, in start exec(open(mainpyfile).read(), __main__.__dict__) File "", line 28 'postprocessors' : [{ 'key' : 'ffmpegExctrakAudio', 'preferredcodec' : 'mp3', 'preferredquality' : '152', ^ SyntaxError: invalid syntax [Program finished] И еще один Traceback (most recent call last): File "/data/user/0/ru.iiec.pydroid3/files/accomp_files/iiec_run/iiec_run.py", line 31, in start(fakepyfile,mainpyfile) File "/data/user/0/ru.iiec.pydroid3/files/accomp_files/iiec_run/iiec_run.py", line 30, in start exec(open(mainpyfile).read(), __main__.__dict__) File "", line 5 import youtube-dl ^ SyntaxError: invalid syntax [Program finished] Че такое? Вот код: #bot/discord.py setup import discord from discord.ext import commands from discord.ext.commands import bot import youtube-dl import os Bot = commands.Bot(command_prefix= ';') #bot test for start @Bot.event async def on_ready(): print('started') @Bot.command async def play(ctx , url : str): song_there = os.patch.isfile('song.mp3') try: if song_there: os.remove('song.mp3') print('[LOG] старий файл удален') except PermissionError: print('[LOG] не удалось удалить файл') await ctx.send('подготовка к проигриванию, ожидайте...') voice = client.get(client.voice_clients, guild = ctx.guild) udl_opts = { 'format' : 'bestaudio/best' 'postprocessors' : [{ 'key' : 'ffmpegExctrakAudio', 'preferredcodec' : 'mp3', 'preferredquality' : '152', }] } witch youtube.dl.KZbinDL(ydl_opts) as ydl: print('[LOG] загружаю музику...') ydl.download(url) for file in os.listdir('./'): if file endswith('mp3'): name = file print(f'[LOG] переминовиваю файл {file}') os.rename(file, 'song.mp3') voice.play(discord.FFmpegPCMAudio('song.mp3'), after = lambda e: print(f'[LOG] {name}, музика закончела свое проигривание')) voice.source = discord.PCMVolumeTransformer(voice.source) voice.source.volume = 0.07 song_name = rsplit('-', 2) await ctx.send('сейчас проигривает музика: {song_name[0]} ') Bot.run(ТОКЕН)
@herrmitbusen2284 жыл бұрын
Я точно код не просматривал но во первых,лучше с такими вопросами обращаться на stack overflow или гугл и 2-ое я кое что заметил точно не знаю относиться к проблеме или нет но,там вместо "with" у тебя "witch" witch youtube.dl.KZbinDL(ydl_opts) as ydl: print('[LOG] загружаю музику...') ydl.download(url)
@herrmitbusen2284 жыл бұрын
еще у тебя вместо "import youtube_dl" "import youtube-dl"
@fisti12084 жыл бұрын
ERROR: ffprobe/avprobe and ffmpeg/avconv not found. Please install one. что делать?
@fsoky4 жыл бұрын
попробуй переустановить
@fisti12084 жыл бұрын
@@fsoky что переустановить?
@plaaarr64194 жыл бұрын
Можно ли соединить твой прошлый код с этим? Чтобы при надписи play он подключался к войсу и проигрывал музыку, а когда все кто был в войсе выйдут из него, то бот тоже выйдет
@WastiPlayX4 жыл бұрын
можно
@shahka322 жыл бұрын
Не работает Ignoring exception in command play: Traceback (most recent call last): File "C:\Users\Arsen\AppData\Local\Programs\Python\Python39\lib\site-packages\discord\ext\commands\core.py", line 181, in wrapped ret = await coro(*args, **kwargs) File "D:\music and moder bot\cogs\voice.py", line 60, in play ydl.downloand([url]) AttributeError: 'KZbinDL' object has no attribute 'downloand' The above exception was the direct cause of the following exception: Traceback (most recent call last): File "C:\Users\Arsen\AppData\Local\Programs\Python\Python39\lib\site-packages\discord\ext\commands\bot.py", line 344, in invoke await ctx.command.invoke(ctx) File "C:\Users\Arsen\AppData\Local\Programs\Python\Python39\lib\site-packages\discord\ext\commands\core.py", line 927, in invoke await injected(*ctx.args, **ctx.kwargs) File "C:\Users\Arsen\AppData\Local\Programs\Python\Python39\lib\site-packages\discord\ext\commands\core.py", line 190, in wrapped raise CommandInvokeError(exc) from exc discord.ext.commands.errors.CommandInvokeError: Command raised an exception: AttributeError: 'KZbinDL' object has no attribute 'downloand'
@shahka322 жыл бұрын
сам код в коге но это не имеет сути @commands.command() async def play(self, ctx, url : str): song_there = os.path.isfile('song.mp3') try: if song_there: os.remove('song.mp3') print('[LOG] Старый файл удален') except PermissionError: print('[LOG] Не удалось удолить файл') await ctx.send('Пожалуйста ожидайте') voice = get(self.bot.voice_clients, guild = ctx.guild) ydl_opts = { 'format' : ' bestaudio/best', 'postprocessors' : [{ 'key' : 'FFmpegExtractAudio', 'preferredcodec' : 'mp3', 'preferredquality' : '192' }], } with youtube_dl.KZbinDL(ydl_opts) as ydl: print('[LOG] Загружаю музыку...') ydl.downloand([url]) for file in os.listdir('./'): if file.endswith('.mp3'): name = file print(f'[LOG] Переименовываю файл: {file}') os.rename(file, 'song.mp3') voice.play(discord.FFmpegPCMAudio('song.mp3'), after = lambda e: print(f'[LOG] {name}, музыка закончила свое проигрывание')) voice.source = discord.PCMVolumeTransformer(voice.source) voice.source.volume = 0.07 song_name = name.rsplit('-', 2) await ctx.send(f'Сейчас играет: {song_name[0]}')
А как сделать так,чтобы музыку искало по названию? Например как у Ритма
@fsoky3 жыл бұрын
использовать lavalink
@shade21253 жыл бұрын
Надо импортировать urllib.request и re, потом ищешь через search_query со своим названием. Потом уже меняешь url на новый и всё, делаешь как в видео import urllib.request, re await async def(ctx, *, videoname: str): html = urllib.request.urlopen("kzbin.info?search_query=" + name.replace(' ','+')) video_ids = re.findall(r"watch\?v=(\S{11})", html.read().decode()) url = "www.youtube.com/watch?v=" + video_ids[0] try: if song_there: os.remove('song.mp3') print('[LOG] Старый файл удалён') except PermissionError: ... ydl.download([url]) потом уже как в видео только url новый
@codedemerald57334 жыл бұрын
А как сделать команду stop, чтобы бот останавливал проигрывание? Через break?
@dubfy2 жыл бұрын
нет
@dankurr78194 жыл бұрын
Где можно бесплатно поставить бота на хостинг?
@fsoky4 жыл бұрын
На heroku
@artemoborozhnyy20384 жыл бұрын
а вот еще "Невозможно создать файл, так как он уже существует" бот не может удалить предыдущий файл, ка решить?
@fsoky4 жыл бұрын
попробуй запустить консоль от имени админа
@artemoborozhnyy20384 жыл бұрын
@@fsoky не запутаться, а по обычному запускает, только, чтобы начать новую музыку проигрывать нужно старую удалить
@kuyar47454 жыл бұрын
А на маке как?
@ilonmusk98664 жыл бұрын
а где код можно достать?
@ДмитрийСлабухин4 жыл бұрын
@Фсоки ввожу команду, а бот ничего не отвечает(ни в дискорде, ни в консоле)
@fsoky4 жыл бұрын
в лс вк или дс
@sqkriwvy4 жыл бұрын
Можно както сделать так чтобы он не сохранял на комп музыку?
@lunonas64573 жыл бұрын
нет
@kreo44454 жыл бұрын
А что тогда является актуальным?
@fsoky4 жыл бұрын
lavalink использовать
@leiter83383 жыл бұрын
@@fsoky Видео будет?
@ethernetcoder49884 жыл бұрын
voice.source.volume = 0.07 ^ IndentationError: unindent does not match any outer indentation l помогите
@fsoky4 жыл бұрын
проблемы с табуляцией
@Leo-sq5mx4 жыл бұрын
Как решить проблему IndentationError: unindent does not match any outer indentation level
@ilonmusk98664 жыл бұрын
у тебя проблема с отсупами ( у меня тоже но немгу понять что имменно)
@rrc7273 жыл бұрын
@@ilonmusk9866 про области видимости почитай и про правильное использование пробелов и табуляции
@xeromyu18214 жыл бұрын
что делать если бот всё делает но в конце не может запустить музыку?
@fsoky4 жыл бұрын
исправлять ошибку
@xeromyu18214 жыл бұрын
так всм когда у меня не работало я взял код из группы в дискорд
@xeromyu18214 жыл бұрын
@@fsoky да сори это не внимательный Прости пожалуйста
@nefryttt3 жыл бұрын
не актуально значит что код уже не работает?
@fsoky3 жыл бұрын
по сути да
@nefryttt3 жыл бұрын
@@fsoky и это относится не только к этому коду который в видосе? типо есть ли коды которые работают на Python для музыкального бота.
@fsoky3 жыл бұрын
@@nefryttt не знаю, мб с помощью lavalink
@nefryttt3 жыл бұрын
@@fsoky я уже нашел
@naykat2 жыл бұрын
@@nefryttt что использовал, чтобы пофиксить? Lavalink?
@sergey03954 жыл бұрын
Дай ссылку на код (Как в экономическом боту)
@mapkejl01734 жыл бұрын
+
@dubfy2 жыл бұрын
сам пиши
@sergey03952 жыл бұрын
@@dubfy Гений который не посмотрел что этот комментарий 1 год назад, код нужен был не мне, а человеку в низу (Или в другом видео)
@кофеин34 жыл бұрын
File "bot.py", line 150 voice.play( discord.FFmpegPCMAudio( 'song.mp3' ), after = lambda e: print( f '[log] { name }, музыка закончила своё проигвывание' ) ) ^ IndentationError: unindent does not match any outer indentation level Для продолжения нажмите любую клавишу . . .
@fsoky4 жыл бұрын
проблемы с отступами
@кофеин34 жыл бұрын
Фсоки можешь помочь?
@кофеин34 жыл бұрын
Фсоки я могу кинуть функцию
@fsoky4 жыл бұрын
@@кофеин3 лс
@кофеин34 жыл бұрын
Фсоки в вк?
@tonynagga49324 жыл бұрын
Ошибка: voice.play(discord.FFmpegPCMAudio('song.mp3'), after = lambda e: print('[log] Музыка закончилась.')) AttributeError: 'NoneType' object has no attribute 'play' В чем прикол?
@plaaarr64194 жыл бұрын
После print должна быть буква f print(f'[log] {name}, Музыка закончила своё проигрывание'))
@tonynagga49324 жыл бұрын
@@plaaarr6419 у меня в принте нету переменной, буква f незачем тогда.
@WastiPlayX4 жыл бұрын
ты понимаеш английский или пайтон в целом ну крч переменная voice считается в библиотеке дискорд как None или же Ничего поэтому код не работает
@itzfrayer3 жыл бұрын
а что делать если у меня бот на хосте стоит?
@fsoky3 жыл бұрын
написано. неактуально. используй lavalink
@itzfrayer3 жыл бұрын
@@fsoky я уже пофиксил
@maruf9952 жыл бұрын
@@itzfrayer как? Помоги пожалуйста
@helade97294 жыл бұрын
Может стоит оригинал вставлять, так для разрешения проблем этого видео? kzbin.info/www/bejne/eKGchI2Ppq6Kf68