TanderOFF, ты не понял.
"почему ты его определяешь при on_ready, если он всё равно пустой? Что тебе мешает определить его при старте программы?"
На момент добавления когов on_ready() ещё не отработал, и словаря у тебя нет.
Почему просто не написать в главном файле tdict = {}?
Тогда он уже будет существовать в этот момент.
TanderOFF,
Ну ты же не показал, где у тебя происходит
client.add_cog(voice(client))
так откуда я знаю?
client.add_cog(voice(client, tdict)) должно сработать... при условии этот tdict уже определён к тому моменту, как ты создаёшь cog.
К слову, а почему ты его определяешь при on_ready, если он всё равно пустой? Что тебе мешает определить его при старте программы?
ODNik, я почитал поподробнее - увы, raw не подойдёт. В доках написано, что если данные при передаче сжаты gzip (HTTP это позволяет, а request умеет разжимать), то content даст разжатый поток, а raw - сжатый. Так что лучше остановиться на способе 1, он даже в доках на requests есть (да, прямо пример с PIL).
> Никаких ошибок
Неправда ваша. Попробуй запустить exe через терминал, наверняка эксепшн увидишь.
И вообще - "на мгновение появляется терминал" - первая реакция должна быть "запустить из командной строки и посмотреть что оно пишет в терминале".
Pam31, это не куда, это откуда.
description = f"""Баланс пользователя **{ctx.author}** составляет **{cursor.execute("SELECT cash FROM users WHERE id = {}".format(ctx.author.id)).fetchone()[0]} :leaves:**"""
Вот тут у тебя косяк, и в другой аналогичной строчке.
А вообще, не начинай учить питон с ботов, там много подводных камней. Попробуй что попроще для начала, почитай основы SQL, набросай простую программу которая работает с БД. Упростишь себе жизнь потом.
По идее проблемы быть не должно.
в if __name__ == '__main__' ты пишешь только код, который должен отработать для самого первого процесса (корня дерева).
Вызов остальных функций в дочерних процессах - забота самого multiprocessing.
Какая конкретно ошибка вылетает в этом случае?
Только имей ввиду, что если процессов больше, чем ядер - особой эффективности ты всё равно не дождёшься.
Извини за тупой вопрос, но:
пакет mysqld поставился нормально?
сам файл /usr/sbin/mysqld присутствует?
он доступен для того пользователя, из-под которого должен запускаться? sbin вроде только для рута.
Ru5D1mG4me, там требуется стартовый адрес для поиска.
Идея очень простая. Сканируешь регион памяти, если ничего не нашлось - получаешь адрес следующего региона, и делаешь ещё один вызов scan_pattern_page() уже для него. И так пока не найдёшь искомый паттерн.
Проблема в том, что современные ОС рандомизируют адресное пространство процесса, так что порядок модулей и положение кучи может меняться.
Для стартового адреса есть три варианта.
Первый - с помощью base_address получаешь адрес, по которому располагается главный модуль процесса, и сканируешь оттуда. Это может сработать, если искомые данные лежат в секции данных процесса (выделены статически). Маловероятно для ряда ЯП со сборкой мусора.
Проблема в том, что если искомые данные хранятся на куче (heap), то их адрес не будет привязан к адресу модуля. Тут есть второй вариант - использовать allocate(). Документация на неё, похоже, с опечаткой - она выделяет память в куче и возвращает адрес. Можно будет попробовать использовать этот адрес как ориентир - но он скорее всего лежит где-то в середине кучи.
Третий вариант - тупо начать с нулевого адреса и сканировать всё адресное пространство.
DUDE, я имел ввиду чтобы выяснить, есть ли вообще JS-редиректы на сайте и сколько. Если есть, то конечно нужен будет или селениум - или, возможно, сумеете сами определить алгоритм редиректа. Тогда можно будет самостоятельно синтезировать итоговую ссылку по исходной.