Задать вопрос
  • Существуют ли раскладки клавиатуры ENG/RUS, где пунктуация остается одинаковой?

    fenrir1121
    @fenrir1121
    Начни с документации
    Ответ написан
    Комментировать
  • Как установить библиотеки python вручную?

    fenrir1121
    @fenrir1121
    Начни с документации
    pip install /path/to/package
    Ответ написан
    4 комментария
  • Как можно запустить бота на discord py и asyncio?

    fenrir1121
    @fenrir1121 Куратор тега discord.py
    Начни с документации
    Как можно запустить бота на discord py и asyncio
    Так, как описано в документации библиотеки. Внутри функции run уже есть логика инициализации цикла событий
    import discord
    
    intents = discord.Intents.default()
    intents.message_content = True
    
    client = discord.Client(intents=intents)
    client.run('your token here')


    Если вы хотите самостоятельно им управлять есть функция start(), но в вашем варианте вы не получаете вообще никаких преимуществ, следовательно, все это не нужно. Обычно так делают если хотят вызывать бота в уже существующем цикле событий (и потом страдать). Для этого нужен asyncio.create_task(bot.start(token=token)

    Подробно с комментариями бот в виде кастомного класса описан тут.

    Task exception was never retrieved

    Цикл событий завершается с исключением, которое вы не обрабатываете. А исключение вызывается, потому что start не принимает то, что вы пытаетесь в него передать *args

    P.S. лучше описывать какую проблему вы решаете, а не что пытаетесь сделать.
    Ответ написан
  • Как проверить перемещается ли в памяти объект при "перемещении"?

    fenrir1121
    @fenrir1121
    Начни с документации
    Как проверить перемещается ли в памяти объект при «перемещении»?

    В общем случае: посмотреть реализован ли Copy, поскольку у него семантика перемещения заменяется на семантику копирования. За исключением Copy все копирования и аллокации в расте явные, вроде методов clone() или to_vec().

    В случае с Box вы уже сами пришли к ответу, достаточно было просмотреть на адрес в указателе.

    Ну и код проверки какой-то странный, достаточно этого
    fn main() {
        let b = Box::new(4);
        check(&b);
        let c = b;
        check(&c);
    }
    
    fn check(val: &i32) {
        println!("address: {:p}", val);
    }
    Ответ написан
  • Хочу посмотреть реализацию функции в builtins.py, но там только докстринги по функциям. Как посмотреть реализацию?

    fenrir1121
    @fenrir1121
    Начни с документации
    как найти исходники хотя бы на C

    Они лежат на гитхабе
    Ответ написан
    Комментировать
  • Rust как подключить внешний файл в модуле?

    fenrir1121
    @fenrir1121
    Начни с документации
    Я уже 3ч маучаюсь с этой ошибкой...
    А мог за 15 минут прочитать 7 главу растбука, где все разобрано.
    Ответ написан
    5 комментариев
  • Cargo и npm код компилируется, но почему программа ui не запускается?

    fenrir1121
    @fenrir1121
    Начни с документации
    А где хоть строчка кода связанного с запуском приложения?
    Минимальный код запуска выглядит как-то так
    fn main() {
        tauri::Builder::default().run(tauri::generate_context!()).unwrap();
    }

    Раз идет работа с БД, стоит заглянуть в доку по State management и посмотреть как дергать бэк с фронта и фронт с бэка
    Ответ написан
    2 комментария
  • Не открывается книжка Excel на Python Windows, как исправить?

    fenrir1121
    @fenrir1121
    Начни с документации
    Удаляйте ваши принты и делайте нормальное логгирование через logging. В частности нужен logging.exception, чтобы нормально понимать где вообще происходит ошибка. С учетом тройной вложенности except Exception сейчас код хуже, чем он был бы вообще без обработки ошибок.

    Предположу по принтам, что ошибка в строке
    workbook = workbooks.Open(r"{}".format(abs_path), ReadOnly=1)
    и далее может быть 2 класса ошибок: ошибки, которые можно обработать и нельзя. Чтобы понять какая это ошибка, нужно видеть полный traceback, но с учетом какой-то черной виндовой магии для работы с экселем, возможно его вообще не получить.
    К первому типу ошибок может отнестись то, что возможно Open принимает иные аргументы или ждет другой разделитель пути.
    Ко второму какие-то внешние ошибки, например если эксель не может открыть 2 экземпляра, нет прав на чтение файла или какая-то иная херня на стороне винды/экселя. Текст ошибки очень абстрактный, я уверен ошибка именно подобного рода.

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

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

    К примеру: вов, варкрафт, world of warcraft, и просто warcraft

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

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

    Вопрос как это можно реализовать полностью автоматически?
    Взять готовые инструменты для нечёткого поиска, например ElasticSearch
    Ответ написан
    8 комментариев
  • Как сделать пользовательского бота в дискорд?

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

    fenrir1121
    @fenrir1121
    Начни с документации
    В вашем случае достаточно возвращать Result<Client>. А вообще вернуть несколько значений можно при помощи кортежа.
    Ответ написан
    Комментировать
  • Как интегрировать python код в tauri?

    fenrir1121
    @fenrir1121
    Начни с документации
    Есть два пути
    - Использовать pyo3
    - Использовать sidecar в tauri (пример с питоном)

    Оба способа на мой взгляд сложнее и труднее поддерживаются, чем переписать. Код для авторизации лежит прямо в examples в oauth2-rs
    Ответ написан
    Комментировать
  • Как сделать команду help?

    fenrir1121
    @fenrir1121 Куратор тега discord.py
    Начни с документации
    Я не знаю зачем вам хранить все в виде словаря, но из клиента можно получить все зарегистрированные команды и соответственно как угодно их выводить.
    Например вот так
    Ответ написан
  • Как при on message отправить сообщение от другого бота?

    fenrir1121
    @fenrir1121 Куратор тега discord.py
    Начни с документации
    Это сделать можно, но исключительно костылями, в результате чего будет теряться какой-нибудь функционал. При этом я не могу придумать ни одной задачи, которая могла бы требовать подобной странной системы из двух ботов, так что есть ощущение что вы делаете что-то не то и стоит детализировать задачу.

    Во-первых стоит прочитать сообщение Дэнни (автора библиотеки), на которое он сам ссылается при подобных ответах.
    При этом подходе запуская два бота в одном цикле событий у вас не будут работать ивенты.

    Второй подход, это запустить оба бота как подпроцессы с общением через каналы или очереди.
    При этом подходе оба бота будут конкурировать за доступ потому что GIL.

    Третий и наиболее адекватный подход в том, чтобы 2 независимых бота общались через шину данных, например RabbitMQ.
    Ответ написан
  • Можно ли реализовать custom bot на discord.py?

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

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

    fenrir1121
    @fenrir1121 Куратор тега discord.py
    Начни с документации
    Нужно прочитать про persistant view или посмотреть в примерах использования библиотеки. Вот ссылка на документацию.
    Ответ написан
  • Как организовать python репозитории?

    fenrir1121
    @fenrir1121
    Начни с документации
    Как организовать для чего? В чем смысл наличия 3 репозиториев и почему тесты одного, влияют на тесты другого?

    Можете ли вы, что-то посоветовать?
    Взять ручку, бумагу и нарисовать граф зависимостей. Затем нарисовать чего вы хотите добиться и сравнить.
    Общий код реализуйте как библиотеку и переиспользуйте. Если ее по ходу тоже нужно редактировать, использовать pip install -e. Ничего из чужих тестов не импортировать. Со звёздочкой вообще никогда не импортировать.
    Ответ написан
    Комментировать
  • Как создать свою библиотеку для Go?

    fenrir1121
    @fenrir1121
    Начни с документации
    Прочитать в документации.
    Ответ написан
    Комментировать
  • Рекурсивный функциональный литерал в Go?

    fenrir1121
    @fenrir1121
    Начни с документации
    Перемудрили что-то. Кроме того если нужно именно рекурсивно, нужно добавить мемоизацию, если хотите чтобы оно вычислялось за конечное время (запустите ваш код для тысячи)

    А вообще в задании ничего про рекурсию не сказано, думаю тур предполагает, что вы напишите что-то такое
    func fibonacci() func() int {
        a, b := 0, 1
        return func() int {
            result := a
            a, b = b, a+b
            return result
        }
    }
    Ответ написан
    Комментировать
  • Return list выводит ошибку. Как исправить?

    fenrir1121
    @fenrir1121
    Начни с документации
    Потому что вместо словаря приходит строка, где вы пытаетесь обратиться по строковому индексу.
    Где именно - разбирайтесь, в вопросе информации недостаточно, но вероятно в
    filter(
                lambda g: (g['owner'] is True) or
                bool((int(g['permissions']) >> 5) & 1),
                guilds)

    Читайте что может возвращать метод discord.get()
    Ответ написан