telethon-某些频道的消息未转发

时间:2020-08-08 11:36:57

标签: django telethon

我创建了一个Django应用,它将应用程序从特定通道转发消息到某些通道。我称他们为经纪人。我的问题是,对于我的两个通道,转发的消息没有发送到电报服务器。实际上我没有任何错误,我在控制台上看到了

味精前转至目标频道....

,但不显示在频道上。这个问题将在工作几个小时后出现,并且仅在我的两个频道(其他频道正常工作)中显示。为解决此问题,我重新启动了Django应用。当我重新启动应用程序时,这很有趣,所有未在频道中显示的已发送消息都将进入频道。如何调试或解决此问题?

    @client.on(events.NewMessage)
    async def my_event_handler(event):
        chat = await event.get_chat()
        sender = await event.get_sender()
        brokers = Broker.objects.all()
        for broker in brokers:
            for source in broker.source_channels.all():
                if source.username == sender.username:
                    for dest in broker.destination_channels.all():
                        if source.username == dest.username:
                            continue
                        try:
                            print('msg forw to dest cahnnel: {} at time: {}'.format(dest.username, timezone.now()))
                            await event.forward_to(dest.username)
                        except:
                            print('error, dest channel is: {}'.format(dest.username))
                            pass

    client.start()
    client.run_until_disconnected()

0 个答案:

没有答案