Closed Minister-of-Shitcode closed 1 week ago
Ошибка попытки загрузки когов.
Ошибка попытки загрузки когов.
Можно и так сказать. Починю по возможности, однако завтра и послезавтра вряд ли выйдет. Если есть желание — можешь занятся.
Просто из main.py нельзя что-либо импортировать. Сделал простейшую иерархию импортов, сейчас скопирую наконец ID каналов для теста и проверю.
Почему импортировать нельзя то?
Почему импортировать нельзя то?
Выяснено опытным путём. Как я предполагаю, подгружая файлы твоим методом, ты вызываешь всё тот же рекурсивный импорт, но привычной ошибки не возникает, потому что импорт происходит не через import
.
У меня есть какой-то особенный метод загрузки пакетов?
У меня есть какой-то особенный метод загрузки пакетов?
Как я понимаю, это он:
black_list_files = ["__init__.py", "functions.py"]
for directory, directories, files in os.walk("./extensions"):
for file in os.listdir(directory):
if file.endswith(".py") and file not in black_list_files:
print(f"{Fore.BLUE}·{Fore.RESET} {Fore.CYAN}Попытка загрузки{Fore.RESET}: {directory[2:]}.{file}", end = "")
try:
str_for_load = f"{directory[2:]}.{file[:-3]}".replace("\\", ".")
bot.load_extension(str_for_load)
print(f" —— {Fore.GREEN}успешно{Fore.RESET}")
except Exception:
print(f" —— {Fore.RED}безуспешно{Fore.RESET}")
if not bot.auto_sync_commands:
await bot.sync_commands(guild_ids = [787280396915048498])
Говоря псевдотехническим языком, мне кажется, что файл всё-также инициализируется и пытается импортировать main, что вызывает рекурсивный импорт.
Необходимые правки сделаны: бот запускается, две команды работают. Старых ошибок не повторяю, до полноценного теста в master пушить не буду. Скирган, протестируй у себя и закрой, если всё работает. А я пока буду надстраивать щиткод в другой ветке.
ай похуй. Я потыкал куда попало, всё работает. Сейчас сделаю merge
в мастером, а там я смогу revert
сделать, если понадобится.
Вроде ты просил через PR сделать, потому без мёрджа.
Код на ветке nothing-works вызывает трёхтонную ошибку: Файл ошибки (Этот же файл в дискорде) Ветки emojis и shitcode являются устаревшими версиями nothing-works (однако это не значит, что их стоит удалять без моего ведома).
О том, что происходит в nothing-works, я могу только предполагать. По ошибке можно судить о том, что какой-то процесс, вызванный on_ready, мешает всему остальному работать. Методом тыка же выяснено следующее: (спасибо тебе за логи загрузки расширений) программа выдаёт ошибку при импорте main.py в любой(наверное, не проверял все) загружаемый файл расширения. Если убрать оттуда импорт, то расширение загружается, (хотя и безуспешно, но я сваливаю это на отсутствие необходимого импорта) после чего процесс пытается загрузить следующее расширение. Потыкаю потом, может решу. Если есть предположения — сообщай, но долбиться в эту проблему(в значении "я нихуя не понимаю, но пытаюсь что-то сделать, пока не получится) предпочту сам.