Задать вопрос
  • Ошибка при взаимодействии с кнопками, из за чего может быть?

    fenrir1121
    @fenrir1121
    Начни с документации
    Пожалуйста начинайте с перевода ошибок там все указано
    disnake.errors.InteractionTimedOut: Interaction took more than 3 seconds to be responded to. Please defer it using "interaction.response.defer" on the start of your command. Later you may send a response by editing the deferred message using "interaction.edit_original_message"
    Note: This might also be caused by a misconfiguration in the components make sure you do not respond twice in case this is a component.


    У вас тайм-аут из-за того что в течение 3 секунд не был дан ответ, в тексте ошибки указано что нужно делать в этом случае
    Ответ написан
    Комментировать
  • Почему выдаёт ошибку при выдаче роли?

    fenrir1121
    @fenrir1121 Куратор тега discord.py
    Начни с документации
    discord.errors.Forbidden: 403 Forbidden (error code: 50013): Missing Permissions

    Попробуйте воспользоваться переводчиком.

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

    fenrir1121
    @fenrir1121 Куратор тега discord.py
    Начни с документации
    1) Определиться с критериями того что считается "рандомным фото из интернета"
    2) Написать алгоритм его получения или найти сервис который это делает и использовать его api.
    3) На основе п2 написать команду, которая выводит изображение
    Ответ написан
    Комментировать
  • Как str (например 'user#0000') превратить в discord.User (discord.py)?

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

    По самому вопросу используйте discord.utils.get(), он по name вернёт юзера.

    Но вероятнее всего вы что-то делаете неправильно поскольку можно сразу указать тайпхинт параметра
    Ответ написан
  • Извлечение данных из списка?

    fenrir1121
    @fenrir1121 Куратор тега discord.py
    Начни с документации
    Если внимательно посмотреть на полученный результат, увидите [ ], которые говорят о том, что вы получили объект list в котором находится один элемент, соответственно обращение к нему будет messages[0]
    Ну и вероятно использовался fetchall вместо fetchone, перечитайте теорию по взаимодействию с бд.
    Ответ написан
    1 комментарий
  • Можно-ли заставить работать pyWebIO на хостинге?

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

    from pywebio import start_server
    
    def main(): # основной код
        pass 
    
    if __name__ == '__main__':
        start_server(main, port=80)
    Ответ написан
    Комментировать
  • Как обработать ошибку?

    fenrir1121
    @fenrir1121
    Начни с документации
    К рабочим вышеописанным вариантам добавлю еще третий:

    Любую необработанную ошибку discord.py перенаправляет в событие on_command_error и можно еще там их обрабатывать.
    Ответ написан
    Комментировать
  • Как избавится от ошибки TypeError: Object of type Select is not JSON serializable?

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

    То, что вы завете discord_slash. является пакетом discord-py-slash-command.
    Он так же как и discord_components является устаревшим и больше не поддерживается. Даже слеш-команды там реализованы не полностью, а новых компонентов нет вообще. Соответственно разбираться в ошибке, которая возникает в неподдерживаемом пакете никто не будет.

    Если вы откроете гитхаб библиотеки, то увидите, что сейчас у них отдельная, работающая независимо от discord.py библиотека interactions-py

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

    Что касается discord.py v1.7.3 она сильно отстала от жизни поскольку на пол года была заброшена, последнее стабильное обновление было 12 июня 2021. Актуальная dev версия с новыми компонентами устанавливается через git, а не через pip, поскольку еще находится в разработке. Следить за прогрессом разработки v2.0 можно тут

    Кроме dev ветки основной либы можно перейти на один из форков, например disnake, pycord (тоже dev из гитхаба) или отдельные библиотеки, вроде описанной выше interactions.py. У каждой свои особенности и понадобится адаптировать старый код, но так будут актуальные компоненты и предсказуемая работа в рамках одной библиотеки.
    Ответ написан
  • Проблема с установкой PYCURL на Python 3.10 Win 10. Кто сталкивался?

    fenrir1121
    @fenrir1121
    Начни с документации
    Вероятно, ее надо откатить на более раннюю, чего я делать не хочу

    Религия не позволяет или реально используете вещи, введённые только в 3.10?
    Справа внизу кликнуть по Python 3.10 -> Add Interpreter и создать новую venv с нужной версией питона, в один клик же переключается все
    Ответ написан
  • Как сделать проще?

    fenrir1121
    @fenrir1121
    Начни с документации
    Ну как минимум если все три значения лежат в message, передавайте просто message, а внутри уже проверяйте
    if await check_sub_channel(message):
    И зачем плодить переменные, если и так читаемость сохраняется, особенно если указывать что передаете
    check_sub_channel(user_id=message.from_user.id, name=message.from_user.full_name, chat_id=message.chat.id):

    И последнее: последующего кода вы не выложили, но я более чем уверен, что одновременно проверять id человека и его name излишне
    Ответ написан
    Комментировать
  • Как сделать чат бота вк который будет присылать данные из БД?

    fenrir1121
    @fenrir1121
    Начни с документации
    информации именно по работе ВК ботов с БД мало

    Вы из БД получаете нужные данные, а что происходит дальше БД все равно.
    Бот выводит нужные данные, а откуда они пришли ему все равно.
    Логику замечаете?
    Бот работает с БД так же как любая программа. Вся разница, что перед выводом информации вы делаете селект нужных вам данных
    Ответ написан
    Комментировать
  • Как отсортировать вот такое?

    fenrir1121
    @fenrir1121
    Начни с документации
    Я бы предложил иное решение
    my_lst.sort(key=lambda item: item.get("class"))
    Только вот не понятно по какому принципу у вас предложена сортировка
    Чтобы сначала шли элементы содержащие green, затем yellow, затем red

    По-умолчанию сортируется по алфавиту, т.е green, red, yellow
    Ответ написан
    Комментировать
  • Где ошибка, можете обьяснить?

    fenrir1121
    @fenrir1121
    Начни с документации
    В файле символы, которые в кодировке cp1251 не получается прочитать. Даже указана позиция символа
    UnicodeDecodeError: 'charmap' codec can't decode byte 0x98 in position 1145

    Или считывайте в utf-8 и вероятно проблемы не будет
    f = open('Yulo.txt', 'r', encoding='utf8')
    Или игнорируйте ошибки, но тогда вероятно выведется не весь текст
    f = open('Yulo.txt', 'r', errors='ignore')
    Ответ написан
  • Как сделать так чтобы в модуле turtle текст пропадал через несколько секунд?

    fenrir1121
    @fenrir1121
    Начни с документации
    Вот тебе документация по turtle, срочно научись ей пользоваться
    Ответ написан
    Комментировать
  • Не работает slash команда, как исправить?

    fenrir1121
    @fenrir1121
    Начни с документации
    Четко указано, что вместо ctx.message.guild пришел None.

    Я вам уже в ваших ранних вопросах говорил, что мертвую лошадь пинать не очень хорошая практика.
    В библиотеке interactions и в discord объекты не совпадают один в один, если хотите использовать их одновременно используйте тайпхинты чтобы четко понимать объект какого типа вам приходит и пишите доп обработку ситуаций под обе библиотеки.

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

    fenrir1121
    @fenrir1121
    Начни с документации
    Так же, как одного бота, только двух (и в принципе сколько угодно)
    Наиболее очевидные способы отдельными демонами или отдельными докер контейнерами
    Ответ написан
    1 комментарий
  • Как сделать slash команды в когах?

    fenrir1121
    @fenrir1121
    Начни с документации
    discord.py или любой его форк с версией от 2.0.0
    Как и обычно все есть в папке examples любой библиотеки.

    Даже если взять более редкую и специфичую библиотеку, например hikari-lightbulb, там тоже будет папка examples и пример слеш команд в коге
    Ответ написан
    Комментировать
  • Связь между сайтом на Flask и ботом телеграмма.Как мне это сделать?

    fenrir1121
    @fenrir1121
    Начни с документации
    Использовать и для того и для другого общую бд из которой и сайт и бот берут нужные данные
    Ответ написан
    1 комментарий
  • Syntax Error ошибка что делать, как чинить?

    fenrir1121
    @fenrir1121 Куратор тега discord.py
    Начни с документации
    Вместо while True используйте нормальный асинхронный метод с task
    from discord.ext import tasks
    
    @bot.event
    async def on_ready():
        test_task.start()
    
    @tasks.loop(minutes=1.0) # время подставить свое
    async def test_task():
        #твой код
    Ответ написан
    Комментировать