Возможность реализации с помощью юзербота?

Вообщем-то, решил переписать модуль для юзербота. Модуль работает с голосовыми чатами, воспроизводит разного рода медиа в голосовых чатах. Модуль использует в данный момент использует py-tgcalls==0.9.7, который требует NodeJs + tgcalls. Собственно в новой библиотеке(py-tgcalls==2.0.6) разработчик убрал надобность в NodeJs, и в качестве ядра библиотеки используется NativeTgCalls(далее NTgCalls). Собственно, что происходит? код:

        async def client_ready(self, client: CustomTelegramClient, db: Any):
        class HikkaTLClient(MtProtoClient):
            def __init__(self, cache_duration: int, client: CustomTelegramClient):
                self.package_name = 'telethon'
                from pytgcalls.mtproto.telethon_client import TelethonClient

                self._bind_client = TelethonClient(cache_duration, client)

        class CustomPyTgCalls(PyTgCalls):
            def __init__(self, app: CustomTelegramClient, cache_duration: int = 120, workers: int = 32):
                Methods.__init__(self)
                Scaffold.__init__(self)
                self._app = HikkaTLClient(cache_duration, app)
                self._is_running = False
                self._env_checker = Environment(
                    self._REQUIRED_PYROGRAM_VERSION,
                    self._REQUIRED_TELETHON_VERSION,
                    self._REQUIRED_HYDROGRAM_VERSION,
                    self._app.package_name,
                )
                self._cache_user_peer = Cache()
                self.loop = asyncio.get_event_loop()
                self.workers = workers
                self._binding = NTgCalls()
                self._lock = asyncio.Lock()
                self.executor = ThreadPoolExecutor(self.workers, thread_name_prefix='Handler')

            def cache_user_peer(self) -> Cache:
                return self._cache_user_peer

        self._app = CustomPyTgCalls(client)
        await self._app.start()
          

Крафт клиента для реализации pytgcalls в данном среде(вроде) правильный, так же и клиент стартует(иначе бы просто не пустило к выполнению команд, ссылаясь на разного рода ошибки, вроде: невалидного клиента mtproto)

Код для тестового проигрывания медиа в голосовом чате: взят из офф доков и дописан под реализацию модуля.

    async def cplcmd(self, message: Message):
        chat_id = utils.get_chat_id(message)
        message = await utils.answer(message, "загружаю")
        test_stream = 'http://docs.evostream.com/sample_content/assets/sintel1m720p.mp4'
        try:
            await self._app.play(chat_id, MediaStream(test_stream))
            await utils.answer(message, "играю")
        except BadRequestError as e:
            await utils.answer(message, f"Ошибка: {e}")

на этапе await self._app.play(chat_id, MediaStream(test_stream)) где по логике клиент должен зайти в голосовой чат и проиграть медиа с ссылки, падает весь юзербот с критической ошибкой Aborted(core dumped). Собственно, с помощью journalctl в логах обнаружилась ошибка:

дек 09 21:27:06 ubuntu (sd-parse-elf)[117933]: Could not parse number of program headers from core file: invalid `Elf' handle
дек 09 21:27:06 ubuntu (sd-parse-elf)[117933]: Could not parse number of program headers from core file: invalid `Elf' handle
дек 09 21:27:06 ubuntu[117927]: [?] Process 117786 (python) of user 1000 dumped core.
                                                                  
                                                                  Module /home/ubuntu/.local/lib/python3.10/site-packages/pillow.libs/libharfbuzz-144af51e.so.0 without build-id.
                                                                  Module /home/ubuntu/.local/lib/python3.10/site-packages/pillow.libs/libharfbuzz-144af51e.so.0
                                                                  Module /home/ubuntu/.local/lib/python3.10/site-packages/pillow.libs/libfreetype-e7d5437d.so.6.20.1 without build-id.
                                                                  Module /home/ubuntu/.local/lib/python3.10/site-packages/pillow.libs/libfreetype-e7d5437d.so.6.20.1
                                                                  Module /home/ubuntu/.local/lib/python3.10/site-packages/pillow.libs/libbrotlicommon-3ecfe81c.so.1 without build-id.
                                                                  Module /home/ubuntu/.local/lib/python3.10/site-packages/pillow.libs/libpng16-4cc6a9fc.so.16.44.0 without build-id.
                                                                  Module /home/ubuntu/.local/lib/python3.10/site-packages/pillow.libs/libpng16-4cc6a9fc.so.16.44.0
                                                                  Module /home/ubuntu/.local/lib/python3.10/site-packages/PIL/_imagingft.cpython-310-x86_64-linux-gnu.so without build-id.
                                                                  Module /home/ubuntu/.local/lib/python3.10/site-packages/PIL/_imagingft.cpython-310-x86_64-linux-gnu.so
                                                                  Module /home/ubuntu/.local/lib/python3.10/site-packages/pillow.libs/libbrotlidec-ba690955.so.1 without build-id.
                                                                  Module /home/ubuntu/.local/lib/python3.10/site-packages/pillow.libs/libXau-154567c4.so.6.0.0 without build-id.
                                                                  Module /home/ubuntu/.local/lib/python3.10/site-packages/pillow.libs/libXau-154567c4.so.6.0.0
                                                                  Module /home/ubuntu/.local/lib/python3.10/site-packages/pillow.libs/liblzma-c9407571.so.5.6.3 without build-id.
                                                                  Module /home/ubuntu/.local/lib/python3.10/site-packages/pillow.libs/liblzma-c9407571.so.5.6.3
                                                                  Module /home/ubuntu/.local/lib/python3.10/site-packages/pillow.libs/libxcb-b8a56d01.so.1.1.0 without build-id.
                                                                  Module /home/ubuntu/.local/lib/python3.10/site-packages/pillow.libs/libxcb-b8a56d01.so.1.1.0
                                                                  Module /home/ubuntu/.local/lib/python3.10/site-packages/pillow.libs/libopenjp2-05423b53.so without build-id.
                                                                  Module /home/ubuntu/.local/lib/python3.10/site-packages/pillow.libs/libopenjp2-05423b53.so
                                                                  Module /home/ubuntu/.local/lib/python3.10/site-packages/pillow.libs/libjpeg-45e70d75.so.62.4.0 without build-id.
                                                                  Module /home/ubuntu/.local/lib/python3.10/site-packages/pillow.libs/libjpeg-45e70d75.so.62.4.0
                                                                  Module /home/ubuntu/.local/lib/python3.10/site-packages/pillow.libs/libtiff-0a86184d.so.6.0.2 without build-id.
                                                                  Module /home/ubuntu/.local/lib/python3.10/site-packages/pillow.libs/libtiff-0a86184d.so.6.0.2
                                                                  Module /home/ubuntu/.local/lib/python3.10/site-packages/PIL/_imaging.cpython-310-x86_64-linux-gnu.so without build-id.
                                                                  Module /home/ubuntu/.local/lib/python3.10/site-packages/PIL/_imaging.cpython-310-x86_64-linux-gnu.so
                                                                  Module libgcc_s.so.1 from deb gcc-14-14.2.0-4ubuntu2~24.04.amd64
                                                                  Module libstdc++.so.6 from deb gcc-14-14.2.0-4ubuntu2~24.04.amd64
                                                                  Module ntgcalls.cpython-310-x86_64-linux-gnu.so without build-id.
                                                                  Stack trace of thread 117808:
                                                                  #0  0x000076747389eb1c __pthread_kill_implementation (libc.so.6 + 0x9eb1c)
                                                                  #1  0x000076747384526e __GI_raise (libc.so.6 + 0x4526e)
                                                                  #2  0x00007674738288ff __GI_abort (libc.so.6 + 0x288ff)
                                                                  #3  0x0000767462e87876 n/a (ntgcalls.cpython-310-x86_64-linux-gnu.so + 0x487876)
                                                                  #4  0x0000767462e6d5cb n/a (ntgcalls.cpython-310-x86_64-linux-gnu.so + 0x46d5cb)
                                                                  #5  0x0000767462e6d5a5 n/a (ntgcalls.cpython-310-x86_64-linux-gnu.so + 0x46d5a5)
                                                                  #6  0x0000767462b73954 n/a (ntgcalls.cpython-310-x86_64-linux-gnu.so + 0x173954)
                                                                  #7  0x0000767462b748d8 n/a (ntgcalls.cpython-310-x86_64-linux-gnu.so + 0x1748d8)
                                                                  #8  0x0000767462bc6e54 n/a (ntgcalls.cpython-310-x86_64-linux-gnu.so + 0x1c6e54)
                                                                  #9  0x0000767462bc5da2 n/a (ntgcalls.cpython-310-x86_64-linux-gnu.so + 0x1c5da2)
                                                                  #10 0x0000767462bc7399 n/a (ntgcalls.cpython-310-x86_64-linux-gnu.so + 0x1c7399)
                                                                  #11 0x000076747389ca94 start_thread (libc.so.6 + 0x9ca94)
                                                                  #12 0x0000767473929c3c __clone3 (libc.so.6 + 0x129c3c)
                                                                  
                                                                  Stack trace of thread 117786:
                                                                  #0  0x0000767473929ee0 __GI_epoll_pwait (libc.so.6 + 0x129ee0)
                                                                  #1  0x000076746f59acdd n/a (/home/ubuntu/.local/lib/python3.10/site-packages/uvloop/loop.cpython-310-x86_64-linux-gnu.so + 0x168cdd)
                                                                  #2  0x1f68421000000000 n/a (n/a + 0x0)
                                                                  ELF object binary architecture: AMD x86-64

К слову - упал ntgcalls. Пробовал и сам его собирать и брать готовую реализацию с репо На этом моменте сижу сутки и идей, что с этим делать - нет... Если у Вас возникли идеи - буду рад прислушаться.


Ответы (0 шт):