Задать вопрос
  • Как сделать, чтобы бот перенаправлял сообщения из дискорд канала в телеграм?

    fenrir1121
    @fenrir1121
    Начни с документации
    Доступ нужен и к телеграмму и к дискорду дальше делаете обычный pub/sub.
    В дискорде заводите бота, слушаете ивент новых сообщений в нужном канале, пересылаете их в любой брокер (банально в redis).
    В телеге заводите бота, достаете все сообщения из очереди и отправляете.
    Ответ написан
  • Как получить содержание сообщения disnake.interaction?

    fenrir1121
    @fenrir1121 Куратор тега discord.py
    Начни с документации
    original_message это корутина. Соответственно рабочий код будет как вы сами и написали будет
    message = await interaction.original_message()
    При этом в приложенном коде нет await

    При любых подобных проблемах делайте print(type(obj)) и смотрите по документации что вам вернулось.
    Ответ написан
  • Как сделать слэш команду с выбором человека и выбором 1 из 3 пунктов? И желательно чтобы бот это всë выводил в ответ + кто отправил команду. Можно?

    fenrir1121
    @fenrir1121 Куратор тега discord.py
    Начни с документации
    Я здесь вижу 4 отдельных вопроса и вижу 0 попыток самостоятельно это реализовать.

    Да все это сделать можно, открываете документацию и изучаете.
    Даже 3 строчки что вы приложили дают понять, что вы ее не открывали, поскольку слеш-команды принимают не Контекст, а Взаимодействие. Это разные объекты с разными атрибутами и методами.
    @client.tree.command()
    async def send(interaction: discord.Interaction, text_to_send: str):
        await interaction.response.send_message(text_to_send)

    В частности у него есть атрибут response, который как раз отвечает за ответ, а не самостоятельное сообщение.

    Кто вызвал команду лежит в user.

    Для выбора человека и выбора из пунктов нужно ознакомиться со страницей discord-converters, там даны все типы, которые можно передать в параметры команды. Нужно только проставить типы, все остальное библиотека делает сама.
    Ответ написан
  • Ошибки в установки бибилиотеки chatterbot?

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

    fenrir1121
    @fenrir1121
    Начни с документации
    Если ты собрал и у тебя работает на локальной машине - не факт что заведётся на тесте/стейдже/проде.
    Если ты собрал и у тебя работает в контейнере - оно вероятно будет работать везде и с одной команды.
    Ответ написан
    3 комментария
  • Как сделать выдачу ответов Google Forms в строку?

    fenrir1121
    @fenrir1121
    Начни с документации
    discordPayload.embeds[0].fields.push({ name: i.getItem().getTitle(), value: v })
    Вставить все в одно поле, Name и Value не могут быть в одной строке
    Ответ написан
  • Как удалить переписку из личных сообщений всех пользователей сервера Discord?

    fenrir1121
    @fenrir1121
    Начни с документации
    Никак
    Ответ написан
    Комментировать
  • Как установить пакет Flask для Python 3.8.2, на сервер не имеющий доступ к интернету?

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

    fenrir1121
    @fenrir1121
    Начни с документации
    INSERT ... ON CONFLICT DO NOTHING
    Ответ написан
    Комментировать
  • Как получить Member, имея id пользователя?

    fenrir1121
    @fenrir1121 Куратор тега discord.py
    Начни с документации
    в дискорде есть кнопка, и у этой кнопки свой тэг ввиде 'y/n user_id role_id'
    Проверяйте, что она имеет именно этот вид. И get_role и get_member возвращают None в случае если не найден искомый ID.
    Почему он не найден вопрос к вам.
    Ответ написан
    Комментировать
  • Можно ли вместо bot_token использовать user_token в библиотеке disnake?

    fenrir1121
    @fenrir1121
    Начни с документации
    Нельзя.
    Права пользователей и права ботов отличаются, для них разные API. В старых версия discord.py был такой функционал (где-то в районе 1.5), но он был выпилен примерно 3-4 года назад с тех пор как он нарушает TOS. Поскольку диснейк основан на discord.py 1.7.4 там этого функционала не было изначально.

    Библиотеки для создания таких ботов есть, но поскольку за это быстро банят их развивает буквально полтора землекопа и они максимальны сырые (форки очень старой версии discord.py с попытками доработки). По правилу 5.5 публиковать о них информацию и как-то помогать в этом направлении вам тут не будут.
    Ответ написан
    Комментировать
  • Как осуществить кнопку очистки выбора в меню выбора (компонента embed)?

    fenrir1121
    @fenrir1121 Куратор тега discord.py
    Начни с документации
    Вообще это не предусмотрено, поскольку placeholder подразумевает что ничего не выбрано, но вы можете обновить основное сообщение в конце callback'a
    await interaction.message.edit(view=DropdownView())
    Ответ написан
    Комментировать
  • Почему не показывает ник человека который пригласил пользователя на сервер в discord.py?

    fenrir1121
    @fenrir1121 Куратор тега discord.py
    Начни с документации
    Давайте пройдем пошагово по алгоритму:
    1) Вы смотрите в какой канал зашел пользователь
    - На нем отвалятся те, у кого нет доступа к этому каналу и те кто заходят без конкретного канала

    2) Ищите первого человека, кто создавал для этого канала
    - Тут отвалятся несколько приглашений на один канал

    3) Ожидаете что будет пригласивший
    - Хотя это опциональное поле.

    Итого даже если звезды сойдутся и на ком-то все отработает, считать все равно будет неправильно, т.к алгоритм предполагает, что на один канал может пригласить только один человек.

    Теперь правильный алгоритм:
    1) Заводите команду, например /invite, которой генерируете приглашения за пользователя.
    2) При генерации сохраняете в БД кто команду вызвал, в формате вроде (user_id, url)
    3) При заходите смотрите обязательное поле url и смотрите какой пользователь его генерировал - он и будет пригласившим.
    Ответ написан
    Комментировать
  • Как отправлять ответы с модального окна в конкретный канал?

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

    Чтобы отправить сообщение (не ответ) в другой канал, получаешь его через get_channel, и используешь channel.send
    Ответ написан
    Комментировать
  • Как вызвать асинхронный декоратор с дочернего класса?

    fenrir1121
    @fenrir1121
    Начни с документации
    Как вызвать асинхронный декоратор с дочернего класса?
    Никак.

    Вы слышали про инкапсуляцию? Методы которые Вы определяете в классе, доступны только для объектов этого класса и наследников. У вас все наоборот: метод объявлен в потомке, а вызвать пытаетесь из родителя.
    Вообще исходя из того что у вас в классе 2 статик метода и недодекоратор создается ощущение, что вы делаете что-то не то. Да и причин в наследовании что-то не вижу.

    А декоратор просто сделайте отдельно. Если очень любите классы, можно реализовать декоратор на основе класса поместив логику в __call__
    Ответ написан
    Комментировать
  • Unknown interaction, как исправить?

    fenrir1121
    @fenrir1121 Куратор тега discord.py
    Начни с документации
    Ошибка возникает на строке await interaction.response.defer(), которой в "некоей панели с кнопками" вообще не должно быть.
    Единственное предназначение команды defer - отложить ответное взаимодействие пользователю, если не успеваешь дать ответ за 3 секунды.

    По приложенному коду дать ответ невозможно, поскольку не приложено ни то, где и как вьюха вызывается, ни регистратор обработки при перезапуске, ни кода собственно кнопок, которые перестают работать. Так что берите пример из официальной документации и сравнивайте, что ничего не пропустили. В комментариях все подробно расписано.
    Ответ написан
  • Как сделать вывод timestamp в embed Disnake?

    fenrir1121
    @fenrir1121
    Начни с документации
    Ввести в гугл "discord timestamp" и получить ссылку на документацию где описывается, что это просто строка определенного формата <t:unix_seconds:FORMAT>.
    3 секунды назад это формат R - Relative time
    Ответ написан
  • Как можно сделать метод класса сразу статическим и динамическим?

    fenrir1121
    @fenrir1121
    Начни с документации
    Статический метод - это метод, который не может изменить состояние экземпляров или класса и соответственно не принимает cls или self.
    Чтобы его вызвать в любом случае необходим инстанс, так что не очень понятно как и зачем вы хотите проверять что инстанс существует. Ну и следовательно не ясно чего вы пытаетесь добиться.

    Возможно вы пытаетесь изобрести динамические атрибуты, в этом случае посмотрите в сторону property или cached_property

    Если же нет лучше сформулируйте конечную задачу, сейчас это выглядит словно вы пытаетесь изобрести квадратные колеса.
    Ответ написан
    Комментировать
  • Не приходит уведомление о новых роликах в дискорд канале в боте discord.py?

    fenrir1121
    @fenrir1121 Куратор тега discord.py
    Начни с документации
    Иронично, один сгенерил код через gpt, второй ответ.

    В коде написан невероятный бред, поэтому он и не работает. Исправлять в нём нечего и я сомневаюсь что вы знакомы хотя бы с базовым синтаксисом языка. Советую обратиться на фриланс.
    Ответ написан
    Комментировать
  • Как сделать, чтобы код работал?

    fenrir1121
    @fenrir1121 Куратор тега discord.py
    Начни с документации
    Самого запуска бота в коде нет. Собственно поэтому и ошибок нет без запуска.
    Последней строчкой
    bot.run(TOKEN)

    P.s ознакомьтесь с правилами ресурса и исправьте вопрос, если надеетесь на дальнейшую помощь
    Ответ написан
    Комментировать