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

向特定通道发送消息时出错。派克

丁曦
2023-03-14

我在Discord.py上做了一个机器人,我试图设置我想用参数发送消息的频道。代码是这样的:

@client.command()
async def send(ctx, arg1):
    channel = client.get_channel(arg1)
    await channel.send('Message')

当我键入通道id而不是arg1时,它可以工作,但是当我键入命令时,不和谐(!发送282772187812)它不工作,我得到这个错误:discord.ext.commands.errors.命令InvokeError:命令引发了一个异常:属性错误:'NoneType'对象没有属性'发送'

提前谢谢。

共有1个答案

庄星汉
2023-03-14

正如@backcab所说,您可以将arg1转换为整数,也可以使用ext.commands中的通道转换器。

解决方案1

@client.command()
async def send(ctx, arg1):
    channel = client.get_channel(int(arg1))
    await channel.send('Message')

解决方案2

@client.command()
async def send(ctx, channel: discord.TextChannel):        
    await channel.send('Message')
 类似资料:
  • 我一直在四处寻找,似乎找不到我用Typescript制作的不和谐机器人的这个问题的答案。我的所有命令都放在它们自己的文件夹中,每个命令都有一个单独的文件。有助于保持井井有条。 我见过有人说 但这给了我并且 实际上,每当有人运行重启命令时,我会尝试在每个文本频道(从列表中给出)发送一条机器人消息,因为不管出于什么原因,人们总是重启机器人。我把它实现为一件有趣的事情,如果有人需要使用它,我会时不时地以

  • 我目前正在使用Java和jda为discord制作一个机器人。我想让机器人向特定的通道发送消息。我该怎么做?

  • 我是Kafka的新手,当我试图发送信息到我得到的主题下面的错误。有人能帮我一下吗? [2018-09-23 13:37:56,613]警告[Producer Clientid=Console-Producer]无法建立到节点-1的连接。代理可能不可用。(org.apache.kafka.clients.NetworkClient)

  • 我是新手。NET(C#)和WebSocket。。。我已经安装了VS2012和Windows Server 2012,并且已经启动并运行了WebSocket。我似乎无法从一个套接字接收消息并将其发送到另一个特定的套接字。唯一的选择似乎是向所有套接字广播消息。有没有一种方法可以将消息只发送给特定的用户?我希望聊天室主持人有机会拒绝不适当的帖子。

  • 我正在使用spring-cloud-stream:1.3.0.发行版、spring-cloud-stream-binder-kafka:1.3.0.发行版开发spring引导应用程序。我使用spring integration dsl拆分文件中的行,使用beanio将行转换为json,要求将成功的json消息写入一个kafka主题,并将错误消息写入不同的kafka主题。下面是application

  • 我对Spring websocket相当陌生。我有一个简单的演示如下: HandshakeInterceptor类: } WebsocketEndPoint类: } Spring映射webSocket: Html: 现在我想向特定用户发送一条消息。我定义每个设备都有一个deviceId,所以我想知道: 如何与属性握手,这将从客户端发送? 如何从客户端javascript发送握手属性? 如何通过握手