python - discord.ext.commands.errors.CommandInvokeError:命令引发异常:TypeError:__init__()缺少1个必需的位置参数:'source'
问题描述
我最近决定创建一个播放 MP3 音频的 Discord 机器人,但我找不到解决方案。
最初,错误是这样的:
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: ClientException: FFmpeg was not found, but we found a fix by writing next to FILE NAME.MP3, executable =
上面的错误就出来了。你能帮助我吗?谢谢。
代码:
import discord
from discord.ext import commands
import random
import json
import math
import os
@client.command()
async def pmartina(ctx):
voicechannel = discord.utils.get(ctx.guild.channels, name='Musica')
vc = await voicechannel.connect()
vc.play(discord.FFmpegPCMAudio(excutable="martina.mp3"), print('done'))
解决方案
在您的vc.play(discord.FFmpegPCMAudio...
行中,您使用的是 FFmpeg,但您从未导入过它。
import discord
from discord.ext import commands
import random
import json
import math
import os
import ffmpeg
@client.command()
async def pmartina(ctx):
voicechannel = discord.utils.get(ctx.guild.channels, name='Musica')
vc = await voicechannel.connect()
vc.play(discord.FFmpegPCMAudio(excutable="martina.mp3"), print('done'))
另外,请确保下载 ffmpeg并正确设置路径。网上有很多视频可以帮助您正确地做到这一点,例如这个适用于 Windows 的视频和这个适用于 MacOS 的视频。如果您想要更详细的演练来制作音乐机器人,请参阅此视频。
推荐阅读
- r - 如何定义类和构造函数以及如何在 R / RStudio 中调用它们
- node.js - 如何使用 JWT 在 Express 中验证单个路由(无代码重复)的多种类型用户的身份验证令牌?
- python - 从 URL OpenCV 读取图像会导致更大的文件大小
- java - 为 HttpServleRequest 映射 feignClient
- server-side-includes - 如何使用服务器端包含 (SSI) 构建循环计数器?
- json - JSON 到 CSV:第 1 行解析错误 - 如何修复?
- docker - 在 CentOS Linux 7.9.2009 上的 Plesk 中无法启动 Docker 容器
- mysql - 通过聚合函数计算最大值
- android - 我的 android 应用程序在 google play 商店被拒绝
- c++ - 为什么当我调用这个函数时它不返回我的输入?它说它的返回支持,但它没有?