Видишь, в коде сначало принт. а после код бота. а консоль выдаёт, что она сначала обработала код и не получила токен. но после токен вывелся
Нет, это значит, что буферизированный вывод так сработал. Если перезапустить несколько раз, то строчка может быть как выше, так и ниже.
Раз какой-то токен печатается, значит, он тупо неправильный (уже не пустой хотя бы)