@xis2248

Как сделать чтобы бот не мог пинговать роли?

Мне нужно чтобы бот не мог пинговать роли, а только людей
Код:
@bot.command()
async def say(ctx, *arg):
    await ctx.message.delete()
    author = ctx.message.author
    msg = ctx.message.content
    if(msg.find("@everyone") == -1) and (msg.find("@here") == -1):
        await ctx.send(' '.join(arg))
    else: await ctx.send("Нельзя упоминать всех!")
  • Вопрос задан
  • 100 просмотров
Решения вопроса 1
shurshur
@shurshur
Сисадмин, просто сисадмин...
Всё необходимое есть прямо в классе Message:

for m in ctx.message.mentions:
  print ("user mention %s" % m)
for m in ctx.message.role_mentions:
  print ("role mention %s" % m)
if ctx.message.mention_everyone:
  print ('everyone mention')


Соответственно, нужно сделать что-то типа:

if ctx.message.role_mentions or ctx.message.mention_everyone:
  await ctx.send(author.mention+", не пингуй!")
else:
  await ctx.send(msg)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы