Как зациклить песню в дискорде

Я хотел бы сделать так, чтобы после выполнения команды h! Start она отправляла вам сообщение каждые 10 секунд и останавливалась, когда пользователь вводит h! Stop. Однако бот Discord никогда не отправляет сообщение в чате Discord. Я только начал изучать, как создавать ботов Discord, так что извините, если это элементарно. Ошибка под кодом.

Traceback (most recent call last): File «C:Python39libsite-packagesdiscordclient.py», line 343, in _run_event await coro(*args, **kwargs) File «C:Python39libsite-packagesdiscordextcommandsbot.py», line 942, in on_message await self.process_commands(message) File «C:Python39libsite-packagesdiscordextcommandsbot.py», line 939, in process_commands await self.invoke(ctx) File «C:Python39libsite-packagesdiscordextcommandsbot.py», line 902, in invoke await ctx.command.invoke(ctx) File «C:Python39libsite-packagesdiscordextcommandscore.py», line 856, in invoke await self.prepare(ctx) File «C:Python39libsite-packagesdiscordextcommandscore.py», line 790, in prepare await self._parse_arguments(ctx) File «C:Python39libsite-packagesdiscordextcommandscore.py», line 693, in _parse_arguments raise discord.ClientException(fmt.format(self)) discord.errors.ClientException: Callback for start command is missing «ctx» parameter. Task exception was never retrieved future: exception=NameError(«name ‘channel’ is not defined»)> Traceback (most recent call last): File «C:Python39libsite-packagesdiscordexttasks__init__.py», line 125, in _loop raise exc File «C:Python39libsite-packagesdiscordexttasks__init__.py», line 101, in _loop await self.coro(*args, **kwargs) File «C:UserszedgasourcereposHydrateHydrateHydrate.py», line 16, in reminder await channel.send(‘It has been 10 seconds’) NameError: name ‘channel’ is not defined Unhandled exception in internal background task ‘reminder’.

Traceback (most recent call last): File «C:Python39libsite-packagesdiscordexttasks__init__.py», line 101, in _loop await self.coro(*args, **kwargs) File «C:UserszedgasourcereposHydrateHydrateHydrate.py», line 16, in reminder await channel.send(‘It has been 10 seconds’) NameError: name ‘channel’ is not defined
Zeeshan 11 Янв 2021 в 05:34

2 ответа

Лучший ответ

Как ВКЛЮЧИТЬ МУЗЫКУ в ДИСКОРДЕ и ГОЛОСОВОМ ЧАТЕ ИГРЫ? ПРОГРАММА SOUNDPAD (ТРОЛЛИНГ В ДИСКОРДЕ)

Еще по теме:  Как вести трансляцию экрана в дискорде с телефона

Да, конечно, просто получите идентификатор канала, на который была отправлена ​​команда, и укажите его, чтобы его можно было использовать в задаче.

Cohen 11 Янв 2021 в 03:19

В вашей ошибке указано «канал не определен»

Это потому, что его канал определен как «локальная» переменная, что означает, что он может использоваться только в том же блоке кода или внутри команды. Вы можете просто исправить это, добавив глобал. Глобал делает переменную доступной во всем коде, ее можно использовать следующим образом:

global channel channel = client.get_channel(797915093954199565)

Вам также не хватает декоратора «ctx», и ваша задача должна быть ниже команды, которая запускает его.

Как транслировать музыку в дискорде

Источник: question-it.com

Блог

является ли код плохо составленным и/или плохо организованным? возможно. но это личный проект, и я не ожидал, что буду делиться им с кем-либо. Если вам нужны разъяснения по какому-либо вопросу, lmk.

с приведенным здесь кодом проблема, с которой я сталкиваюсь, заключается в том, что когда я делаю зацикленную версию, бот отключается на кадр и снова подключается, затем я получаю эту ошибку

разногласия.внешние команды.ошибки.CommandInvokeError: Команда вызвала исключение: Исключение клиента: Не подключено к голосу.

the bot does not disconnect immediately when not using the looped version, and trying to manually reconnect it at the start of the loop gives me an error saying it’s already connected.

also sidenote I did not write the YTDLSource class or the ytdl_format_options.

Источник: programbox.ru

Discord.py Зацикливание источника звука

Кто-нибудь знает, как зациклить тот же источник в FFmpeg?

Я хочу, чтобы аудио-файл «test.mp3» постоянно зацикливался. Я искал в Интернете, но все результаты были устаревшими.

Еще по теме:  Legacy of discord кого лучше выбрать

Комментарии (1)

Может найдешь ответы здесь

05.04.2021 00:36

Оператор pass в Python — это простая концепция, которую могут быстро освоить даже новички без опыта программирования.

Python — самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science.

Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это

Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.

Ответы 2

Вот способ узнать, когда песня закончилась.

if (ctx.author.voice): finished = False channel = ctx.message.author.voice.channel voice = await channel.connect() voice.play(discord.FFmpegPCMAudio(«song.mp3»), after=lambda e: finished = True)

Используя лямбда-функцию, вы можете реализовать структуру цикла для воспроизведения песни после ее завершения.

06.04.2021 22:15

Вот решение, которое я сейчас использую для себя:

async def play_source(voice_client): source = FFmpegPCMAudio(«test.mp3») voice_client.play(source, after=lambda e: print(‘Player error: %s’ % e) if e else bot.loop.create_task(play_source(voice_client)))

Это просто базовое решение. После завершения работы с источником он снова запускается с тем же voice_client.

Если звук начинает ускоряться с самого начала, просто поместите await asyncio.sleep(0.5) между источником и voice_client.play.

Чтобы запустить его в первую очередь, просто замените свой код следующим образом:

08.04.2021 09:45

Другие вопросы по теме

Не могу конвертировать онлайн-gif в mp4-видео с помощью ffmpeg
Создание короткого превью видео ffmpeg php
Ошибка инициализации выходного потока ffmpeg на Rasbpi при преобразовании jpg в видео
Запустите FFmpeg как отдельный процесс для приложения
FFMPEG: преобразование нескольких фильмов в формат прямого воспроизведения plex
Уменьшите вес webp

Еще по теме:  Как установить автотюн для дискорда

Видеофильтр FFprobe path
Как объединить изображения в видео с помощью Python (ffmpeg или OpenCV)?

Потоковая передача микрофона из клиентского браузера на удаленный сервер и передача звука в реальном времени в ffmpeg для объединения со вторым источником видео

Есть ли способ пакетного сохранения видеоинформации (высоты кадра, ширины, скорости и т. д.) В метаданные видеофайлов?

Похожие вопросы

IntegrityError Django Postgres при удалении
Django как сравнить auto_now и auto_now_add
Есть ли более простой способ преобразовать эту scipy разреженную матрицу?
Как соединить udp-сервер и клиентские сокеты с помощью docker-compose
Как получить декартово произведение этого словаря?
Модель Django создает другую модель после ее редактирования

NameError при добавлении новой модели в приложение Flask
Как использовать несколько Qtimers?
Небольшие трудности с добавлением фреймов для организации моей программы
Правовая информация

Находите ответы на сложные технические вопросы по программированию, с которыми сталкиваются инженеры по всему миру в своей ежедневной практике на сайте RedDeveloper.

Источник: reddeveloper.ru

Рейтинг
( Пока оценок нет )
Загрузка ...