【问题标题】:Discord Python Music bot ErrorDiscord Python音乐机器人错误
【发布时间】:2018-07-24 13:29:15
【问题描述】:

我最近开始通过为 Discord 制作机器人来学习 Python。现在我正在制作一个音乐机器人,但我遇到了一个错误,找不到错误在哪里。请各位帮忙看看好吗?它加入了频道,但在聊天中给出了 Error3,如果我再次写 !Play (URL),它会在聊天中给出错误 4。

代码如下:

import discord

client = discord.Client ()

@client.event
async def on_ready():
    print(client.user.name)
    print("-------------------")

@client.event
async def on_message(message):
    if message.content.startswith("!stop"):
        try:
            voice_client = client_voice_in(message.server)
            await voice_client.disconnect()
        except AttributeError:
            await client.send_message(message.channel, "I'm not connected.")
        except Exception as Hugo:
            await client.send_message(message.channel, "Error1_______|type|_______".format(type=Hugo))

    if message.content.startswith("!play"):
        try:
            yt_url = message.content[6:]
            if client.is_voice_connected(message.server):
                try:
                    voice = client.voice_client_in(message.server)
                    players[message.server.id].stop()
                    player = await voice.create_ytdl_player(yt_url, before_options=" -reconnect 1 -reconnect_streamed 1"
                                                                                   " -reconnect_delay_max 5")
                    players[message.server.id] = player
                    player.start()
                except Exception as e:
                    await client.send_message(message.server, "Error2______[Error]".format(error=e))

            if not client.is_voice_connected(message.server):
                try:
                    channel = message.author.voice.voice_channel
                    voice = await client.join_voice_channel(channel)
                    player = await voice.create_ytdl_player(yt_url, before_options=" -reconnect 1 -reconnect_streamed 1"
                                                                                   " -reconnect_delay_max 5")
                    players[message.server.id] = player
                    player.start()
                except Exception as e:
                    await client.send_message(message.channel, "Error3____[error]".format(error=e))
        except Exception as e:
            await client.send_message(message.channel, "Error4________[error]".format(error=e))




client.run("I erased the token number before sharing, it's not the problem")

【问题讨论】:

  • 似乎你有它在出错时给你错误类型。您遇到了哪些类型的错误?
  • @Qwerty 在不和谐聊天中它在我写 !play 时给出了我命名为“Error3”的错误,当我写 !stop 时也给出了错误,但在 python 窗口中没有任何内容
  • 您是否正在学习教程?看来您将异常排除为 e,并将 e 格式化为消息。那么 e 出来的结果是什么?
  • @Qwerty 我在 youtube 上关注了一个德语教程,youtu.be/rvbwoQF7Njw 他成功了,但我无法弄清楚我的错误
  • 一些东西,你下载了ffmpeg吗?你也可以在这里查看他的代码gist.github.com/Grewoss/b6f0a99e135f73ff695bb096f140453e 并与你自己的代码进行比较。

标签: python bots discord discord.py


【解决方案1】:

您尚未定义变量 player。在代码的开头添加:

players = {}

希望这有效!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-27
    • 2019-04-30
    • 2021-05-24
    • 2022-12-20
    • 2020-05-15
    • 1970-01-01
    • 2019-01-12
    • 2021-04-25
    相关资源
    最近更新 更多