当前位置: 首页 > 知识库问答 >
问题:

我无法使用python discord模块使bot加入discord语音通道

宗增
2023-03-14
import discord
from discord.ext import commands
import speech_recognition as sr
description = 'Tutorial Bot'
bot_prefix = '?'
client = commands.Bot(description=description, command_prefix=bot_prefix)
@client.event
async def on_message(message):
    if message.content.startswith("Alice"):
        msg = await client.send_message(message.channel, 'Hello')
@client.event
async def on_voice_state_update():
    with sr.Microphone() as source:
        r = sr.Recognizer()
        audio = r.listen(source)
        command = r.recognize_google(audio)
        msg = await client.send_message(message.channel, comman)
async def joinVoiceChannel():
    channel = client.get_channel("FILL")
    await client.join_voice_channel(channel)
@client.event
async def on_ready():
    print("Logged in")
    print("Name : {}".format(client.user.name))
    print("ID : {}".format(client.user.id))
    print(discord.__version__)
    await joinVoiceChannel()
client.run("FILL")

我正在尝试制作一个机器人,它可以加入呼叫,在麦克风激活时听到音频,并使用语音识别模块以字符串形式输出消息。然而,我在机器人加入呼叫时遇到了困难,我还没有找到从不和谐中获取音频输入的方法

登录
名称: BOOS MUSIC
ID:284760930837987338
0.16.8
忽略on_readyTraceback(最近一次调用)中的异常:文件"C:\用户\LMEBA21\AppData\本地\程序\Python\Python35-32\lib\site-包\不和谐\client.py",第307行,在_run_event从getattr(自我,事件)(*args,**kwargs)文件"C:/用户/LMEBA21/AppData/本地/程序/Python/Python35-32/ALPHA. py",第28行,在on_ready等待joinVoiceChannel()文件"C:/用户/LMEBA21/AppData/本地/程序/Python/Python35-32/ALPHA. py",行21,在joinVoiceChannel等待client.join_voice_channel(通道)文件"C:\用户\LMEBA21\AppData\本地\程序\Python\Python35-32\lib\site-包\discord\client.py",第3190行,在join_voice_channel引发e File"C:\用户\LMEBA21\AppData\本地\程序\Python\Python35-32\lib\site-包\discord\client.py",第3186行,join_voice_channelsession_id_data=asyncio.wait_for(session_id_future,超时=10.0,循环=self.loop)File"C:\用户\LMEBA21\AppData\本地\程序\Python\Python35-32\lib\asyncio\tasks.py》,390一线,wait_for涨期货。TimeoutError()concurrent.futures._base。时间错误

共有1个答案

毛勇
2023-03-14

我想发表评论,但不能发表评论,因为低代表性,您犯的两个最大错误是您应该使用以下内容保存您的Voice对象:

voice = await client.join_voice_channel(channel)

毫无疑问,您以后需要引用它,其次,Discord目前不支持录制来自其他用户的音频,要做到这一点,您可能需要编写自己的Discord包装,并以某种方式集成录制(这有点令人毛骨悚然)。

 类似资料:
  • 我只是想做一个简单的方法,让我的不和谐机器人加入一个频道。我已经看了多个线程,其中一些已经过时,因为它们是在discord.py迁移到v1.0之前。我已经使用type()和dir()来检查通道是什么类型,并查看它有什么方法。我将其与discord.py的API进行了比较,我发现一个问题是dir()创建了一个名为的字段,但是API显示对象有一个名为方法。感谢所有的帮助!:)

  • 我正在做一个简单的不和谐机器人,node.js.我让它运行并响应,但我不能召唤它到语音频道这是我使用的代码 它总是转到“加入语音频道”消息,即使我在语音频道。

  • 我正在尝试将我的discord机器人连接到语音通道,但它不工作。 没有任何错误或任何事情,当我这样做时什么都不会发生!加入我的不和频道。 这是我的代码。我试图寻找一些教程,但大多数似乎已经过时了。 有人能帮我吗? 编辑:

  • 我正在为我的discord服务器构建一个机器人来播放YouTube视频,因为我还没有在网上找到一个可靠的机器人。 在我输入后,机器人会连接到我的语音频道!播放{url}命令,但即使url有效,也会立即离开。 我的代码如下: 我尝试过在我的PC上使用一个硬编码的文件,但我得到了相同的结果,机器人一连接就离开了语音通道。 我确实通过在cmd窗口中运行命令来验证ffmpeg和youtube-dl是否正常

  • 我正在尝试编写自己的音乐机器人,但它没有加入我所在的语音频道。其他一切都很好。我认为我应该使用npm安装一个特定的东西,但我不知道这是否正确,我不确定,所以有人可以告诉我应该做什么来解决这个问题。。。 这是我的代码:

  • 我想制造一个播放音频文件的不和谐机器人。现在,它加入语音通道并播放音频文件,但之后拒绝离开。我的代码在下面。谁能建议一些修复,使我的机器人将离开语音频道?