Перейти к содержимому

Как запретить тегать в дискорде

  • автор:

Можно ли сделать запрет для бота, писать только в отдельном канале? discord.py

Я делаю бота для дискорд с помощью discord.py, и хочу сделать ему запрет отвечать на команды во всех каналах кроме тех которые я укажу. У меня есть небольшой код, но его приходиться писать в каждой команде, а ето не удобно. Можно ли сделать такой запрет, или может можно сделать мой код сразу для всех команд? Вот мой код:

channell = ctx.message.channel channel1 = client.get_channel(929090952763703316) if channell != channel1: await ctx.send("Тут нельзя!") await ctx.channel.purge(limit = 1) else: 

Отслеживать
задан 8 янв 2022 в 11:48
3 1 1 бронзовый знак

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Можно сделать как декоратор:

def predicate(ctx: commands.Context): channel = nextcord.utils.get(ctx.guild.text_channels, ) if ctx.channel != channel: return False else: return True has_channel = commands.check(predicate) @commands.command() @has_channel async def test(self, ctx): pass 

Можете ещё добавить обработчик ошибок

Отслеживать
ответ дан 8 янв 2022 в 12:31
2,302 1 1 золотой знак 5 5 серебряных знаков 11 11 бронзовых знаков

  • discord
  • бот
  • discord.py
    Важное на Мете
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.1.17.3574

Как упомянуть пользователя через discord.js в embed?

5dca5ceb22103710529893.png

Прошу помощи, нужно упомянуть человека в embed сообщении следующего вида, оно делает уведомление об изменении ника внутри сервера.

5dca5cc7ad3e0802179765.png

что получается:

  • Вопрос задан более трёх лет назад
  • 7153 просмотра

1 комментарий

Простой 1 комментарий

fgvnovoross

fgvnovoross @fgvnovoross
Вроде делать упоминания можно только в embed.descripton .
Решения вопроса 0
Ответы на вопрос 1

fixator10

Вы так же можете построить уведомление вручную используя схему, если пользователь не имеет установленного «серверного» никнейма, или , если никнейм установлен (по сути, не имеет никакой разницы на практике)

87Qedsk.png

Однако необходимо заметить: упоминания в теле embed’ов не работают:
Для того что бы упоминание создало уведомление, необходимо чтобы упоминание находилось в теле сообщения

Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать
Ваш ответ на вопрос

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

javascript

  • JavaScript
  • +1 ещё

Что делать, если отправляет «канал предложений не настроен», хотя он настроен?

  • 1 подписчик
  • 14 янв.
  • 50 просмотров

Как убрать и полностью удалить роль Everyone в Дискорде – инструкция

Как убрать и полностью удалить роль Everyone в Дискорде – инструкция

Мессенджер Discord – это платформа для общения по играм и иным интересам. Для корректной работы создаваемых каналов и серверов используют дополнительные настройки функционала, которые в некоторых случаях нужно деактивировать. Администраторам полезно знать, как в Дискорде убрать присоединенные к команде Everyone опции. Представленные инструкции несложные, поэтому подходят даже новичкам.

Откройте настройки сервера

screenshots_1

Каналы – это созданные участниками программы дополнительные платформы для общения, обмена данными, опытом, документами. Каждый блок настраивается админом самостоятельно. В разделе «Настройки» можно выполнить следующие действия:

  • посмотреть информацию, статистику и характеристики по действующему разделу;
  • создать или установить роли для участников сообщества;
  • произвести интеграцию профилей других социальных сетей.

Доступны и другие функции. Зайти в нужный раздел можно через аккаунт мессенджера Дискорд.

Внимание! Отключение функции Everyone позволяет убрать шквал отметок пользователей группы – не только постоянных участников, но и случайных, «залетных» юзеров, которые порой отправляют бесполезные сообщения для всех.

screenshots_2

Нажмите на «Роли»

В блоке настроек необходимо открыть нужный пункт:

  • кликнуть по наименованию правой клавишей мышки, чтобы получить доступ к всплывающему меню;
  • выбрать раздел «Изменить канал» (на английском «Mute general»);
  • перейти к пункту «Разрешения» (или «Permissions»).

После этого в дополнительном окне откроется список действующих функциональных назначений, которые можно менять, удалять, корректировать.

screenshots_3

Найдите @everyone

В списке, который будет отображен на мониторе, необходимо выбрать одноименную роль. Необходимый вариант будет отмечен символом «@». Чтобы начать работу с пунктом, его нужно выделить – нажать однократно левой кнопкой мышки. Справа раскроется список возможных действий.

screenshots_4

Отключение «Упоминания роли» и сохранение изменений

Чтобы удалить функционал, требуется найти символ «Х» в открытом перечне возможных корректировок. Настройка располагается в четвертой строке, нужная строка обозначается пунктом «Упоминать всех». После этого на мониторе персонального устройства появится отдельное окно, где потребуется подтвердить операцию деактивации. Если все в порядке, нужно нажать «Сохранить».

screenshots_5

Снять функцию отправки уведомлений в указанном режиме можно через настройки аккаунта Дискорда. Если потребуется вернуть команду, требуется выполнить те же действия, но на последнем этапе выбрать галочку зеленого цвета.

Упоминания

Упоминания — специальные слова, чтобы упомянуть участника. Упоминания также называют пингами, от английского слова «Ping». Чтобы упомянуть участника заполняйте упоминание так: @Никнейм#1234 , вместо «Никнейм» указываем никнейм, а вместо 1234 вписываем Дискрим пользователя. Также можно не заполнять, а выбрать в выпадающем меню, которое появляется когда вы пишите «@». В ответе на сообщение также есть упоминание пользователя, но можно выбрать включить или выключить упоминание в ответе, с помощью кнопки «@вкл» и «@выкл».

  • 1 Виды упоминаний
    • 1.1 Простой
    • 1.2 @everyone
    • 1.3 @here
    • 1.4 @роль
    • 1.5 Особые
      • 1.5.1 Упоминания через ID

      Виды упоминаний [ ]

      Простой [ ]

      Про то, как писать простой вид было указано выше. Этот вид просто упоминает участника, если участник находится в онлайне, в статусе «Не активен» и Невидимке, то прозвучит звук, а на том сервере где его упомянули появится значок с цифрой, а также на самой иконке приложения/сайта.

      @everyone [ ]

      Чтобы упомянуть всех, достаточно просто написать «@everyone», тогда у всего сервера появится уведомление, даже у тех, кто не в сети.

      @here [ ]

      Этот вид уведомлений работает только на тех, кто сейчас в онлайне. Поступает точно как и @everyone.

      @роль [ ]

      Упоминает всех людей у которых есть эта роль.

      Особые [ ]

      Добавьте команду @silent в начале сообщения и отправьте его, сообщение придёт без звука и уведомления, получатель всё равно увидит значок уведомления но не оповещение о нём.

      Упоминания через ID [ ]

      Вы также можете напрямую упомянуть пользователя или роль через идентификатор. Дискорд заменяет @роль или @имя#тег на или соответственно и наоборот.

      Интересные факты [ ]

      • Упоминания @everyone и @here не работают в личных сообщениях.
      • Упоминания @everyone и @here работают в группах, но не отображаются в поле выбора упоминания.
      • Право доступа «Упоминание @everyone, @here и всех ролей» позволяет отключить пользователям возможность упоминать, но пользователи с отключеным этим правом доступа всё равно могут упоминать пользователей.
      • С правом доступа «Упоминание @everyone, @here и всех ролей» можно писать роли с помощью айди, но в таком случае они не будут отображать упоминания.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

https://kapelnicza.vyvod-iz-zapoya-na-domu-voronezh.ru/