• Анимация из картинок в tkinter и асинхромная работа с discord, возможно ли это и как это сделать?

    Vindicar
    @Vindicar
    RTFM!
    Главная проблема: у любого GUI-приложения есть бесконечный цикл обработки оконных сообщений. У любого асинхронного приложения есть бесконечный цикл-реактор, который обрабатывает реакции на завершение асинхронных операций (в т.ч. ввода-вывода). Это два разных цикла, они друг о друге не знают, и в одном потоке может работать только один из них.

    Отсюда два решения.
    1. Плюнуть на Tkinter и использовать PyQT. Есть сторонняя библиотека pyqt-async, которая вроде как позволяет засунуть обработку оконных сообщений в цикл-реактор.
    2. Запустить в главном потоке цикл-реактор, а GUI (на базе любого фреймворка) создать и запустить во вспомогательном. Любые задачи для выполнения в главном потоке делать через asyncio.run_coroutine_threadsafe(). Любые модификации GUI делать, создавая статичный объект-описание операции над GUI и поместив его в очередь (Queue, например). Поток GUI должен периодически читать эту очередь, и вносить найденные там изменения. В ткинтере может помочь метод after(), наверно есть аналоги и в других фреймворках.
    Ответ написан
    Комментировать
  • Discord.py и аккаунт простого пользователя, возможно ли это?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    1. Открываете web версию дискорда https://discord.com/channels/@me
    2. Открываете инструменты разработчика в браузере (F12)
    3. Переключаете режим на мобильный девайс:
    61c9ab7c7f94e351089000.jpeg
    4. Открываете локальное хранилище в в инструментах разработчика. Application -> local storage > https://discord.com
    5. В поиске по локальному хранилищу находите ключ "tokens", копируете ключ из словаря
    61c9ad95f229d025429639.jpeg
    6.
    client = discord.Client()
    # ...
    client.run(token, bot=False)


    Однако, будьте внимательны. Это нарушает ToS дискорда:
    https://support.discord.com/hc/ru/articles/115002192352
    Ответ написан
    7 комментариев