【问题标题】:How do I mention @everyone in discord.py? [duplicate]我如何在 discord.py 中提及@everyone? [复制]
【发布时间】:2021-04-25 13:07:11
【问题描述】:

如何在 discord.py 中提及 @everyone?是的,该机器人具有所需的所有权限。
我尝试了基本的:

await ctx.send("@everyone")

从这个answer:

await ctx.send(ctx.message.guild.default_role)

两次,bot 确实发送了 @everyone 消息,但是,它只是一条消息,没有实际的 ping。我检查了我的收件箱并询问了其他人。见图片:

第一个是实际的 ping,它也显示在我的收件箱中,但是,第二个是机器人 ping,它只是文本。

我在这里做错了什么?我应该如何 ping @everyone

【问题讨论】:

  • 您确定您的机器人有权提及所有人吗?
  • @F.M 是的,我什至给了它管理员角色。
  • 嗯,我试过await ctx.send(ctx.message.guild.default_role),它对我有用:pastebin.com/8VtTnwfs
  • @F.M 我不知道为什么它不适合我。感谢您的帮助。

标签: python discord.py


【解决方案1】:

docs 中环顾四周后,这对我有用:

allowed_mentions = discord.AllowedMentions(everyone = True)
await ctx.send(content = "@everyone", allowed_mentions = allowed_mentions)

你也可以设置AllowedMentions.all来允许一切。

【讨论】:

  • 如果您不想将 allowed_mentions kwarg 传递给每个 Messageable.send 方法,您可以在 bot 构造函数中传递它们
【解决方案2】:

您必须在初始化机器人时添加特定属性:

const bot = new Discord.Client({disableEveryone: False});

【讨论】:

  • 这会引发错误NameError: name 'disableEveryone' is not defined。机器人也在 discord.py 中
  • 这看起来是针对 Javascript 的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-10-13
  • 2020-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-26
  • 2021-04-29
相关资源
最近更新 更多