Ответы пользователя по тегу Discord
  • Как реализовать работу бота на нескольких серверах Discord с вводом команды?

    fenrir1121
    @fenrir1121 Куратор тега discord.py
    Начни с документации
    Как реализовать работу бота на нескольких серверах Discord с вводом команды?
    Использовать базу данных. Удалить все глобалы.
    Не хотелось бы использовать базу данных
    А придется.
    Ответ написан
    1 комментарий
  • Найти сервер или название сервера Discord по ID?

    fenrir1121
    @fenrir1121
    Начни с документации
    Нет способа. Чтобы зайти нужен инвайт.
    Ответ написан
  • Как использовать команду через кнопку в боте Discord?

    fenrir1121
    @fenrir1121
    Начни с документации
    В модальном окне нельзя упоминать пользователей. Вернее там не будет работать автодополнение, просто айдишник как строку конечно можно ввести.
    Вводить текст за пользователя тоже нельзя.

    Судя по описанию подходят Application Commands.
    Либо учите пользователей вводить слеш-команды, в них использовать упоминания можно.
    Ответ написан
  • Тег роли через Disnake бот?

    fenrir1121
    @fenrir1121 Куратор тега discord.py
    Начни с документации
    Код колбека тут не при чем. Убедитесь что боту выданы на это права в консоли разработчика.

    Разрешения на упоминания в боте настраиваются через AllowedMentions и по умолчанию они все проставлены в True.
    Ответ написан
    1 комментарий
  • Как упомянуть slash-команду в /help?

    fenrir1121
    @fenrir1121
    Начни с документации
    Строкой вида </command_name:command_id>
    Ответ написан
    Комментировать
  • Как исправить AttributeError: property 'icon_url' of 'Guild' object has no setter и что это означает?

    fenrir1121
    @fenrir1121
    Начни с документации
    Как исправить AttributeError: property 'icon_url' of 'Guild' object has no setter и что это означает?
    Перевести текст и изучить что такое дискрипторы.

    server.icon_url = server.icon_urlВы явно вообще не представляете что пишите судя по этой строчке.

    icon_url это свойство доступное только для чтения. Для изменения используется метод Guild.edit(icon=<...>)
    Ответ написан
    Комментировать
  • Что лучше сейчас использовать для написания discord bot?

    fenrir1121
    @fenrir1121
    Начни с документации
    disnake.
    Все можно использовать, но ру комьюнити у него больше.
    Отличия у всех выбранных библиотек не критичны. Т.к это все форки discord.py 1.7.4 отличаются только части которые были введены после - взаимодействия с менюшками, всплывающими окнами и прочий ui.

    Действительно сильно отличаются библиотеки, которые не связаны с discord.py, например hikari, но это специфичный выбор для тех кому не хватает более классических
    Ответ написан
  • Почему у бота Discord взаимодействие с кнопкой меняет интерфейс у всех участников?

    fenrir1121
    @fenrir1121
    Начни с документации
    Возможно ли сделать так, чтобы он менялся только у одного человека
    Невозможно. Потому принято выполнять только действия, которые нажимает инициатор.
    Ответ написан
    Комментировать
  • Как посмотреть, на каких серверах стоит мой бот?

    fenrir1121
    @fenrir1121
    Начни с документации
    Прочитать в bot.guilds
    Ответ написан
    Комментировать
  • Синхронизация команд Discord Bot | Pycord?

    fenrir1121
    @fenrir1121
    Начни с документации
    reload это перезагрузка уже загруженного.
    Стартовая загрузка выполняется через load_extension. Кроме того судя по self на скриншоте есть ощущение, что вы делаете это где-то не там.
    cogs_list = [ ... ]
    for cog in cogs_list:
        bot.load_extension(f'bot.{cog}')


    Инструкция по работе с когами у pycorda есть в документации.
    Ответ написан
  • Как отслеживать сколько человек провел времени в голосовом канале дискорд?

    fenrir1121
    @fenrir1121
    Начни с документации
    Если ищите готовых ботов это обычно делают все, которые начисляют опыт и всякие лвлы активности. Далеко ходить не надо это делает, например, Juniper.
    Если нужно чтобы был именно свой способ подсчёта, то нужен свой бот.
    Ответ написан
  • Из за чего пишет "Неизвестная интеграция"?

    fenrir1121
    @fenrir1121 Куратор тега discord.py
    Начни с документации
    Ropb4ik код нужно прикладывать в вопрос, а не в комментарии.

    У вас на второй строчке код вероятно падает с ошибкой voice_state = self.get_voice_state(guild_id). Я на 99% уверен, что в вашем классе нет такого метода. Чтобы ответить точно нужен весь код, но чаще всего в когах объект бота лежит в self.bot.
    Разберитесь почему вы не видите ошибки, потому что в консоль, где запущен бот должно все нужное приходить, если только вы их не глушите где-то выше.

    Ну и сразу по последующему коду замечу, что вы не можете вызывать дважды response, потому что ответ можно выдавать только один раз.
    Кроме того писать сообщение в духе "я сделаль" до того как реально что-то сделали дурной тон. Как минимум потому что по причине выше вы могли бы выдать сообщение и упасть с ошибкой на самом деле ничего не сделав.
    Ответ написан
    Комментировать
  • Сколько живет Refresh token при реализации OAuth2 авторизации через Discord?

    fenrir1121
    @fenrir1121
    Начни с документации
    А зачем это писать в документации? Там стандартный формат ответа. Смотрите значение в поле expires_in
    Ответ написан
    Комментировать
  • Передали права на сервер в дискорде через ратник, что делать?

    fenrir1121
    @fenrir1121
    Начни с документации
    поддержка дискорда может восстановить права на сервер, если будет доказан факт кражи аккаунта?
    Этот вопрос нужно задавать службе поддержки, что они могут, а что нет зависит от обращающегося лица.

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

    и что лучше делать в этой ситуации
    Писать в поддержку. Морально готовится создавать новый сервер и повышать компьютерную грамотность чтобы больше не попадать в подобную ситуацию.
    Ответ написан
    6 комментариев
  • Бот дискорда падает в Rate limited, что делать?

    fenrir1121
    @fenrir1121 Куратор тега discord.py
    Начни с документации
    Давайте по порядку. В документации дискорда очень четко прописаны лимиты для вебсокета и чуть менее четко для HTTP. Цитировать оттуда не буду, думаю там все понятно.

    В общем виде ошибка 429 говорит, что в один из двух лимитов вы не укладываетесь. Чтобы не происходила ошибка можно перед выполнением действий проверять блокировку через AutoShardedClient.is_ws_ratelimited, но это не лечение проблемы, а только обработка.
    Для лечения нужно перехватывать ошибку в глобальном обработчике и по стеку вызовов смотреть на каком действии она происходит. Если приложите стектрейс к запросу, можно будет по нему сказать конкретнее. Только убедитесь чтобы логи не обрезались как у вас выше. Может быть и так было бы понятно, но эндпоинт https://discord.com/api/v10/channels/1215300998588... весь не видно. Учитывайте что она может и в разных когах происходить об этом ниже.

    В целом дискорд не любит, когда боты делают что-либо без явных действий пользователя. Причем чем больше бот, тем строже, поскольку для них это больше нагрузки. К примеру в коде, который вы приложили есть обновление статуса каждые 10 секунд. Будем объективны, пользователям плевать что у бота в статусе, но эти запросы так же идут в общий рейт лимит. Я бы советовал поставить или большое значение (5-10 минут) или вообще избавиться от этой карусели.
    Аналогично пройдите по остальному коду, который не приложен и посмотрите есть ли периодические запросы без явных команд: например обновления каких-нибудь сообщений по таймерам. Если есть увеличивайте таймеры в 2 раза (повторять до исправления) или подумайте как предоставлять функционал без этого.
    Ответ написан
    2 комментария
  • Как исправить ошибку "AttributeError: 'set' object has no attribute 'items'" в дискорд-боте?

    fenrir1121
    @fenrir1121
    Начни с документации
    Почитайте этот пример, запустите его и посмотрите на результат
    s = {'123'}
    d = {'token': '123'}
    print(type(s))
    print(type(d))


    Вы явно хотите использовать словарь, но создали вместо этого множество о чем вам написано в ошибке.
    Ответ написан
    Комментировать
  • Скрипт отправки сообщений в канал Дискорда?

    fenrir1121
    @fenrir1121
    Начни с документации
    Юзерботы запрещены TOS дискорда.
    Ничего не мешает делать ту же логику обычным ботом.
    Ответ написан
  • Как сделать форму для получение роли, после проверки-одобрения модерации (как на видео)?

    fenrir1121
    @fenrir1121
    Начни с документации
    Написать бота, где будет реализована нужная вам форма и логика. Буквально последний вопрос в разделе discord.py, посвящён той же задаче.

    Либо же найти бота, который уже умеет делать то что вы хотите, но такое бывает редко.
    Ответ написан
  • Можно ли изменить длинну поля сообщения embeds в вебхуке?

    fenrir1121
    @fenrir1121
    Начни с документации
    Нельзя. Поэтому кто хотят этим заморачиваться делают длинную картинку с горизонтальной линией, узором или чем-то тематичным.

    Далее будет субъективщина, но я не видел ни одного сервера, где было бы приличное подобное оформление. Для теста лучше всего использовать обычные текстовые сообщения, они лучше всего читаются и не едут в зависимости от ширины экрана.
    Ответ написан
  • Как записать в переменную упоминание пользователя(в Python)?

    fenrir1121
    @fenrir1121 Куратор тега discord.py
    Начни с документации
    Упоминание пользователя это обычная строка вида <@user_id>. Любая работа с ней аналогична работе со строками.
    В документации описаны все форматы подробных строк.
    Ответ написан
    Комментировать