所以我想写一个有趣的俄罗斯主题的小不和机器人。我想让它播放苏联国歌,无论要求什么歌曲,在之后编写的频道中”
这是我得到的控制台提要,当我键入“vadim播放某些内容”时
女贞只是聊天忽略on_menter异常本文回溯(最近调用最后):文件"C:\用户\maria\AppData\本地\程序\Python\Python39\lib\site-包\disord\client.py",第343行,在_run_eventawait coro(*args,**kwargs)文件"C:\用户\maria\Desktop\Coding\Projekte\Python\SovjetBot\Code\bot.py",第33行,在on_message声机制=channel. connect()属性错误:'NoneType'对象没有属性'连接'
这是我的代码:
import discord
from discord.utils import get
import time
class MyClient(discord.Client):
#Triggered on login
async def on_ready(self):
print("Privet")
#Triggered on messages
async def on_message(self, message):
if message.author == client.user:
return
if message.content.lower().startswith("vadim") and message.content.lower().endswith("blyat"):
messagearray = message.content.split(" ")
messagearray.pop()
messagearray.remove("vadim")
if messagearray[0].lower() == "play" and ((len(messagearray)) != 1 or messagearray.contains('&channel')):
where = ""
for i in range(messagearray.index("&channel") + 1, len(messagearray)):
where = where + ' ' + messagearray[i]
where = where[0:]
time.sleep(0.25)
print(where)
channel = get(message.guild.channels, name=where)
time.sleep(0.25)
voicechannel = channel.connect()
time.sleep(0.25)
voicechannel.play(discord.FFmpegPCMAudio('National Anthem of USSR.mp3'))
client = MyClient()
client.run(The bots client id)
改变
channel = get(message.guild.channels, name=where)
到
channel = await get(message.guild.channels, name=where)
有错误表示您在voic的渠道=channel. connect()
行遇到了问题,因为渠道
是NoneType
。您在上面一行用渠道=get(message.gueld.channel,name=where)
定义了渠道
。但是,根据留档,您使用的get()
函数是一个协程,因此您需要await
它。
创建channel
后,您应该检查它不是无
,然后再尝试将其与voic在一起使用=channel. connect()
。