【问题标题】:AttributeError: 'Client' object has no attribute 'send_message' (DiscordBot python)AttributeError:'Client' 对象没有属性'send_message'(DiscordBot python)
【发布时间】:2019-12-20 07:23:47
【问题描述】:

我在 python 上设置了不和谐的欢迎机器人,这是错误:

文件“welcome-bot.py”,第 27 行,on_member_join 等待 client.send_message(成员,newUserMessage) AttributeError: 'Client' 对象没有属性 'send_message'

import discord
import asyncio

client=discord.Client()

@client.event
async def on_ready():
    print('logged in as')
    print(client.user.name)
    print(client.user.id)
    print('-----')

newUserMessage = """
is
that
works?
"""

@client.event
async def on_member_join(member):
    print("Recognised that a member called " + member.name + " joined")
    await client.send_message(member, newUserMessage)
    print("Sent message to " + member.name)```

【问题讨论】:

  • 嗯,嗯……就是这样:Client 类的实例没有这个属性。您应该查阅该库的文档以了解该类提供了哪些方法。

标签: python bots discord


【解决方案1】:

Client 不包含名为 send_message 的函数,您可以在其中 PM/DM 用户。

相反,您可以从加入的成员那里获取dm_channel 属性,并在该频道中发送消息:

joinedUserDM = member.dm_channel

if joinedUserDM is None:
    await member.create_dm()
    joinedUserDM = member.dm_channel

joinedUserDM.send("message to send to the joined user's private inbox")

【讨论】:

    猜你喜欢
    • 2018-06-15
    • 2019-03-07
    • 1970-01-01
    • 1970-01-01
    • 2020-12-17
    • 1970-01-01
    • 2021-08-20
    • 2020-09-11
    相关资源
    最近更新 更多