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

    fenrir1121
    @fenrir1121 Куратор тега discord.py
    Начни с документации
    В коде все так, это базовый код бота.
    Чтобы бот можно было добавить в мои приложения нужно выставить галку в настройках на портале для разработчиков: Installation - Installation Contexts - User install
    Ответ написан
    Комментировать
  • Disnake | Как корректно использовать UserCommands?

    fenrir1121
    @fenrir1121 Куратор тега discord.py
    Начни с документации
    после установки бота на учётную запись команды не отображаются
    При чем тут установка бота? Где не отображаются?
    UserCommand это команды, выполняемые через контекстное меню -> Приложения.

    В приложенном коде проблем нет, следовательно или у вас не загружен ког в основном файле, либо вы не так понимаете что такое пользовательские команды и не там смотрите.
    Ответ написан
    1 комментарий
  • Принимает ли дискорд при верификации паспорт рф?

    fenrir1121
    @fenrir1121
    Начни с документации
    Паспорт РФ не принимает.

    Загран принимает.
    Ответ написан
    Комментировать
  • Как реализовать работу бота на нескольких серверах 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 дискорда.
    Ничего не мешает делать ту же логику обычным ботом.
    Ответ написан