【问题标题】:discord private message in embed form wont work嵌入形式的不和谐私人消息不起作用
【发布时间】:2021-03-09 02:03:27
【问题描述】:

我想创建一个命令,使用 .helpDM 向用户发送嵌入的帮助

如您所见,我以事件形式尝试过。

@client.event                                              
async def on_message(helpDM):

    embed=discord.Embed(title='Hello',colour = discord.Colour.orange())

    embed.add_field(name='Bomb', value=f'Deletes Messages in chat\n .bomb 100', inline=False)
    embed.add_field(name='Luck', value=f'Like 8ball fourtune teller', inline=False)
    embed.add_field(name='Tof', value=f'True or False', inline=False)
    embed.add_field(name='Hitme', value=f'See me holy face', inline=False)
    embed.add_field(name='Monkey', value=f'Random pic of monkey monkey', inline=False)
    embed.add_field(name='Whois', value=f'Userinfo', inline=False)
    embed.add_field(name='coin', value=f'Flips a coin', inline=False)
    embed.add_field(name='Dice', value=f'Random number from 1 to 6', inline=False)
    embed.add_field(name='Randomnumber', value=f'Gives you a random number from 1 to 100', inline=False)
    embed.add_field(name='Meme', value=f'Random meme?', inline=False)
    embed.add_field(name='Say', value=f'Says what ever you want the bot to say', inline=False)
    embed.add_field(name='Kick', value=f'Kicks user (Needs Admin)', inline=False)
    embed.add_field(name='Ban', value=f'Bans user (Needs Admin', inline=False)
    embed.add_field(name='Unban', value=f'Revokes ban from user. (Needs Admin)', inline=False)
    embed.add_field(name='Prefix', value=f'Changes prefix e.g .prefix !', inline=False)

    await client.send_message(embed=embed)
    # cllient.whisper wont work to

命令形式:

@client.command()
async def helpDMM(ctx, member: discord.Member=None):

    embed=discord.Embed(title='Hello',colour = discord.Colour.orange())

    embed.add_field(name='Bomb', value=f'Deletes Messages in chat\n .bomb 100', inline=False)
    embed.add_field(name='Luck', value=f'Like 8ball fourtune teller', inline=False)
    embed.add_field(name='Tof', value=f'True or False', inline=False)
    embed.add_field(name='Hitme', value=f'See me holy face', inline=False)
    embed.add_field(name='Monkey', value=f'Random pic of monkey monkey', inline=False)
    embed.add_field(name='Whois', value=f'Userinfo', inline=False)
    embed.add_field(name='coin', value=f'Flips a coin', inline=False)
    embed.add_field(name='Dice', value=f'Random number from 1 to 6', inline=False)
    embed.add_field(name='Randomnumber', value=f'Gives you a random number from 1 to 100', inline=False)
    embed.add_field(name='Meme', value=f'Random meme?', inline=False)
    embed.add_field(name='Say', value=f'Says what ever you want the bot to say', inline=False)
    embed.add_field(name='Kick', value=f'Kicks user (Needs Admin)', inline=False)
    embed.add_field(name='Ban', value=f'Bans user (Needs Admin', inline=False)
    embed.add_field(name='Unban', value=f'Revokes ban from user. (Needs Admin)', inline=False)
    embed.add_field(name='Prefix', value=f'Changes prefix e.g .prefix !', inline=False)
    
    await client.whisper(embed=embed)

错误,

等待 client.send_message(embed=embed) AttributeError: 'Bot' 对象没有属性 'send_message'

请注意,耳语也是如此...

【问题讨论】:

  • send_message() 是旧的 1.0 discord.py 方法。您现在必须使用send()。此方法仍然具有相同的参数,因此您无需更改 embed=embed
  • 我应该更多地查看文档,抱歉,谢谢,
  • 没问题,这里有很多人有类似问题:)

标签: python python-3.x discord bots discord.py


【解决方案1】:

使用 discord.py 重写版本,您应该使用 <channel>.send() 而不是 <channel>.send_message()

reference

【讨论】:

    猜你喜欢
    • 2021-06-26
    • 2018-11-19
    • 2018-12-15
    • 2021-12-03
    • 2019-10-11
    • 2021-04-27
    • 2021-04-14
    • 2020-07-28
    • 2017-12-29
    相关资源
    最近更新 更多