Discord bot 尽管获得了许可,但不能提及所有人

2022-01-15 00:00:00 python python-3.x discord discord.py

问题描述

这里是 sendMessage 函数:

Here is the sendMessage function:

async def sendMessage(color, title, value, should_delete=True, channel=""):
    embed = discord.Embed(color=color)
    embed.add_field(name=title, value=value, inline=False)
    if channel == "":
        msg = await client.send_message(message_obj.channel, embed=embed)
    else:
        msg = await client.send_message(client.get_channel(channel), embed=embed)
    if should_delete:
        await delete_msg(msg)

机器人可以在此处提及除所有人之外的任何人.尽管提到了所有人的许可.

The bot can mention anyone but everyone and here. Despite having mention everyone permission.

sendMessage(OK_COLOR_HASH, "title", "Hello @everyone")

当我将消息类型转换为普通类型而不是嵌入类型时,它起作用了.

When I converted the message type to the normal one instead of embed one, it worked.


解决方案

您可以尝试通过 default_role 属性向所有人发送提及

You can try to sending a mention to everyone through the default_role attribute

@bot.command(pass_context=True)
async def evy(msg):
    await bot.say(msg.message.server.default_role)

相关文章