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

不一致py'NoneType'对象没有属性'send'

夏景同
2023-03-14

当我尝试运行该命令时,总是会收到以下错误消息:Discord。py'NoneType'对象没有属性'send'

import os
import json
import discord
from discord.ext import commands

def get_channel(client, message):
    with open('./data/welcome.json', 'r') as f:
        tchann = json.load(f)
    return tchann[str(message.guild.id)]

class welcome(commands.Cog):

    def __init__(self, client):
        self.client = client

    # Events
    @commands.Cog.listener()
    async def on_ready(self):
        print('Welcome script loading.')

    @commands.Cog.listener()
    async def on_member_join(self, member):
        embed=discord.Embed(title="Yoshino",
            url="http://animeex.nhely.hu/",
            description=f"asd1.",
            color=0x29FF94)

        channel = self.client.get_channel(id=get_channel)

        await channel.send(embed=embed)

    @commands.command()
    async def welcome(self, ctx, channel):
        with open('./data/welcome.json', 'r') as f:
            tchann = json.load(f)

        tchann[str(ctx.guild.id)] = channel

        with open('./data/welcome.json', 'w') as f:
            json.dump(tchann, f, indent=4)

        await ctx.send(f'Channel set: {channel}')

def setup(client):
    client.add_cog(welcome(client))

错误代码

文件“C:\Users\NexaHn\AppData\Local\Programs\Python39\lib\site packages\discord\client.py”,第343行,在“运行”事件等待coro(*args,**kwargs)文件“K:\discord BOT\PythonX\cogs\welcome.py”,第30行,在on_成员加入等待频道。发送(嵌入=嵌入)属性错误:“非类型”对象没有属性“发送”

共有2个答案

朱淮晨
2023-03-14

该错误表示变量通道为非类型或。这可能意味着没有id为get\u channel的频道。您可能希望运行函数get\u channel,而不是将其作为id。

贲文景
2023-03-14
def get_channel(client, message):
    with open('./data/welcome.json', 'r') as f:
        tchann = json.load(f)
    return tchann[str(message.guild.id)]

channel = self.client.get_channel(id=get_channel)

get\u channel是一种方法。它需要一个int。见:

https://discordpy.readthedocs.io/en/stable/api.html?highlight=wait_for#discord.Client.get_channel

channel=self。客户get_通道(id=123456789)将是有效的(给定id123456789存在)。

 类似资料:
  • 我正在随意地编程我的不和谐机器人,当我完成后,我通过使用我的替代帐户加入测试服务器来测试我的代码(当有人加入服务器时,它会发送欢迎消息)。但是当另一种选择加入时,我得到了这个错误: 我不知道出了什么问题。我的代码:https://pastebin.com/VntL0y5d

  • 这是我的密码: 这条线给了我错误 "属性错误:'浮点'对象没有属性'exp'"。X,t是Numpy ndarray。

  • 问题内容: 我正在开发Django应用程序,并且出现以下错误 我的模型是这样构造的 我应该做什么? 问题答案: 首先,您必须非常小心地重写以具有非可选参数。记住,每次从一个查询集中获取一个对象时,它将被调用! 这是您想要的正确代码: 如果您只使用该对象的子类,我强烈建议在Animal上设置abstract选项。这样可以确保不为动物创建表,而仅为绵羊(等)创建表。如果未设置abstract,则将创建

  • 我创建了这个简单的GUI: 我让用户界面启动并运行。当我点击按钮时,我在控制台上得到以下错误: 为什么设置为?

  • 问题内容: 我将Selenium webdriver(chrome)与Python结合使用,试图从网页上的所有链接中获取 href 。当我尝试以下操作时: 它设法获取所有链接,但是在get_attribute上出现错误: “ WebElement”对象没有属性“ Get_Attribute” 尽管到处都看起来很正常。 问题答案: “ Get_Attribute”属性不存在,但是“ get_attr

  • 问题内容: 我创建了这个简单的GUI: 我启动并运行了UI。当我单击Grab按钮时,在控制台上出现以下错误: 为什么entryBox设置为None? 问题答案: 并且place在功能Entry对象和所有其他部件的回报None。在python中,执行此操作时.,表达式的结果为返回的值,因此。 你应该将其分成两行,如下所示: 这样,你就可以将参考存储在其中,并且可以按照你的期望进行布局。如果你以块的形